diff --git a/build.gradle b/build.gradle index 7e89a8919..4c1ee5ca9 100644 --- a/build.gradle +++ b/build.gradle @@ -17,20 +17,10 @@ plugins { id "me.shedaniel.unified-publishing" version "0.1.+" } -apply plugin: "io.github.pacifistmc.forgix" - architectury { minecraft = rootProject.minecraft_version } - - -forgix { - group = "whocraft.tardis_refined" - mergedJarName = "$rootProject.jar_name-mc$project.minecraft_version-v${rootProject.mod_version}.jar" - outputDir = "build/libs" -} - subprojects { apply plugin: "dev.architectury.loom" @@ -46,47 +36,6 @@ subprojects { } implementation group: 'com.google.code.findbugs', name: 'jsr305', version: '3.0.2' } - - build.finalizedBy(mergeJars) - assemble.finalizedBy(mergeJars) -} -if (System.getenv("curseforge") != null && System.getenv("modrinth") != null) { - unifiedPublishing { - project { - displayName = "Tardis Refined - mc${rootProject.minecraft_version}-v${rootProject.mod_version}" - releaseType = "release" - changelog = new File("${rootProject.projectDir}/changelog.md").text - gameVersions = ["$rootProject.minecraft_version"] - mainPublication project.layout.file(project.provider { - new File("${project.projectDir}/build/libs/$rootProject.jar_name-mc$project.minecraft_version-v${rootProject.mod_version}.jar") - }) - gameLoaders = ["fabric", "neoforge"] - relations { - 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 = "$project.version" - } - } - } - } } allprojects { @@ -129,12 +78,11 @@ allprojects { } } -tasks.mergeJars.dependsOn(tasks.build) +def generatedResources = project(":forge").file("src/generated/resources") -tasks.register('publishMeEverywhere') { - dependsOn tasks.mergeJars, tasks.publishUnified +sourceSets { + main { + resources.srcDir generatedResources + } } -tasks.publishUnified { - mustRunAfter tasks.mergeJars -} \ No newline at end of file diff --git a/changelog.md b/changelog.md index 5bac09eb1..c8a1fbb5a 100644 --- a/changelog.md +++ b/changelog.md @@ -1,4 +1,4 @@ -# Version 2.0.8 +# Version 2.1.0 ![TARDIS Refined](https://wiki.tardisrefined.net/TARDIS-Refined-Wiki/tardis_refined_v2.png) @@ -10,6 +10,7 @@ - tardis is damaged [#351](https://github.com/WhoCraft/TardisRefined/issues/351) - Diagonal Windows makes it impossible to craft the terraformer [#383](https://github.com/WhoCraft/TardisRefined/issues/383) - relogging causes TARDIS Dance events to not occur [#387](https://github.com/WhoCraft/TardisRefined/issues/387) +- [Incompatibility] Tardis refined dimensions fail to load with Dimension Threads [#374](https://github.com/WhoCraft/TardisRefined/issues/374) - Console cannot be removed/changed with the console configurator outside the TARDIS dimension [#380](https://github.com/WhoCraft/TardisRefined/issues/380) ## Gameplay changes @@ -19,4 +20,5 @@ - You can now view your TARDIS exterior via the Monitor - Holographic exteriors on consoles now spin according to throttle - Improved UI for Gravity Shaft -- Speed up downwards descent for Gravity Shaft \ No newline at end of file +- Speed up downwards descent for Gravity Shaft +- Fixed a bug where the overlay keybinds always rendered the default key diff --git a/common/src/main/java/whocraft/tardis_refined/ControlGroupCheckers.java b/common/src/main/java/whocraft/tardis_refined/ControlGroupCheckers.java index fac8640b1..d5b84efb6 100644 --- a/common/src/main/java/whocraft/tardis_refined/ControlGroupCheckers.java +++ b/common/src/main/java/whocraft/tardis_refined/ControlGroupCheckers.java @@ -27,10 +27,10 @@ public ControlGroupCheckers() { fetchUUIDsFromAPI(); } - public static void tickServer(MinecraftServer serverLevel){ + public static void tickServer(MinecraftServer serverLevel) { if (!IS_CONTROL_GROUP) return; serverLevel.getPlayerList().getPlayers().iterator().forEachRemaining(serverPlayer -> { - if(!ControlGroupCheckers.INSTANCE.isUUIDInList(serverPlayer.getStringUUID())){ + if (!ControlGroupCheckers.INSTANCE.isUUIDInList(serverPlayer.getStringUUID())) { serverPlayer.connection.disconnect(Component.literal("Womp Womp! You're not on the list! :(")); } }); diff --git a/common/src/main/java/whocraft/tardis_refined/TRConfig.java b/common/src/main/java/whocraft/tardis_refined/TRConfig.java index a89ea544d..e5b24582c 100644 --- a/common/src/main/java/whocraft/tardis_refined/TRConfig.java +++ b/common/src/main/java/whocraft/tardis_refined/TRConfig.java @@ -34,7 +34,6 @@ public class TRConfig { } - public static class Client { public final ModConfigSpec.BooleanValue CONTROL_NAMES; public final ModConfigSpec.BooleanValue PLAY_CONSOLE_IDLE_ANIMATIONS; diff --git a/common/src/main/java/whocraft/tardis_refined/TardisRefined.java b/common/src/main/java/whocraft/tardis_refined/TardisRefined.java index 2eadb917b..12ea8c0d8 100644 --- a/common/src/main/java/whocraft/tardis_refined/TardisRefined.java +++ b/common/src/main/java/whocraft/tardis_refined/TardisRefined.java @@ -27,13 +27,11 @@ public class TardisRefined { - public static boolean IS_CONTROL_GROUP = false; - 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 boolean IS_CONTROL_GROUP = false; public static Gson GSON = new GsonBuilder() .disableHtmlEscaping() .registerTypeHierarchyAdapter(Component.class, new Component.Serializer()). @@ -63,7 +61,7 @@ public static void init() { TRPointOfInterestTypes.POIS.registerToModBus(); TRVillagerProfession.PROFESSIONS.registerToModBus(); - // TRPointOfInterestTypes.registerBlockStates(); + // TRPointOfInterestTypes.registerBlockStates(); TRTagKeys.init(); TardisNetwork.init(); @@ -75,11 +73,13 @@ public static void init() { registerFallbackEntries(); } - /** Register default entries for data-driven registries. This is encapsulated in a method to call at different game load stages depending on the mod-loader + /** + * Register default entries for data-driven registries. This is encapsulated in a method to call at different game load stages depending on the mod-loader *
E.g. On Forge, Console Patterns require Console Theme registry to be fully populated before the pattern can lookup a Console Theme object *
On Forge: This is called in ServerAboutToStartEvent, which is after registries are frozen, but before the server has started and before commands are registered, because commands still reference Console/Shell Themes - *
On Fabric: The custom registries for Console/Shell Theme are created instantly, so there is no need to register the patterns at a specific stage.*/ - public static void registerFallbackEntries(){ + *
On Fabric: The custom registries for Console/Shell Theme are created instantly, so there is no need to register the patterns at a specific stage. + */ + public static void registerFallbackEntries() { /* Need to register a default list of entries because on Fabric Cardinal Components classloads the TardisClientData class early on, before datapack entries have been added. We will use these as fallback values when looking up patterns. */ diff --git a/common/src/main/java/whocraft/tardis_refined/api/event/Event.java b/common/src/main/java/whocraft/tardis_refined/api/event/Event.java index be9cc14cd..59955d515 100644 --- a/common/src/main/java/whocraft/tardis_refined/api/event/Event.java +++ b/common/src/main/java/whocraft/tardis_refined/api/event/Event.java @@ -15,6 +15,23 @@ public Event(Class handlerClass, Function, T> multiplexer) { update(); } + public static EventResult result(List listeners, Function function) { + boolean cancel = false; + + for (T listener : listeners) { + EventResult result = function.apply(listener); + + if (result.cancelsEvent()) { + cancel = true; + } + + if (result.stopsListeners()) { + break; + } + } + return cancel ? EventResult.cancel() : EventResult.pass(); + } + public void register(T handler) { this.register(Priority.NORMAL, handler); } @@ -34,23 +51,6 @@ public T invoker() { return invoker; } - public static EventResult result(List listeners, Function function) { - boolean cancel = false; - - for (T listener : listeners) { - EventResult result = function.apply(listener); - - if (result.cancelsEvent()) { - cancel = true; - } - - if (result.stopsListeners()) { - break; - } - } - return cancel ? EventResult.cancel() : EventResult.pass(); - } - public enum Priority { HIGHEST, diff --git a/common/src/main/java/whocraft/tardis_refined/api/event/EventResult.java b/common/src/main/java/whocraft/tardis_refined/api/event/EventResult.java index 10891b6c5..37d85678f 100644 --- a/common/src/main/java/whocraft/tardis_refined/api/event/EventResult.java +++ b/common/src/main/java/whocraft/tardis_refined/api/event/EventResult.java @@ -15,14 +15,6 @@ private EventResult(boolean cancelEvent, boolean stopListeners) { this.stopListeners = stopListeners; } - public boolean cancelsEvent() { - return this.cancelEvent; - } - - public boolean stopsListeners() { - return this.stopListeners; - } - /** * @return Cancel the event and prevent further listeners from being executed */ @@ -51,4 +43,12 @@ public static EventResult pass() { return PASS; } + public boolean cancelsEvent() { + return this.cancelEvent; + } + + public boolean stopsListeners() { + return this.stopListeners; + } + } diff --git a/common/src/main/java/whocraft/tardis_refined/api/event/ShellChangeSource.java b/common/src/main/java/whocraft/tardis_refined/api/event/ShellChangeSource.java index bf82233d4..3e8b25893 100644 --- a/common/src/main/java/whocraft/tardis_refined/api/event/ShellChangeSource.java +++ b/common/src/main/java/whocraft/tardis_refined/api/event/ShellChangeSource.java @@ -2,7 +2,9 @@ import net.minecraft.resources.ResourceLocation; -/** Object to identify the source of Shell updates.*/ +/** + * Object to identify the source of Shell updates. + */ public class ShellChangeSource { private ResourceLocation id; diff --git a/common/src/main/java/whocraft/tardis_refined/api/event/ShellChangeSources.java b/common/src/main/java/whocraft/tardis_refined/api/event/ShellChangeSources.java index 25b010155..15b88a224 100644 --- a/common/src/main/java/whocraft/tardis_refined/api/event/ShellChangeSources.java +++ b/common/src/main/java/whocraft/tardis_refined/api/event/ShellChangeSources.java @@ -1,7 +1,6 @@ package whocraft.tardis_refined.api.event; import net.minecraft.resources.ResourceLocation; -import whocraft.tardis_refined.common.util.MiscHelper; import whocraft.tardis_refined.common.util.RegistryHelper; public class ShellChangeSources { 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 5a95f561d..464615329 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 @@ -5,7 +5,7 @@ public class TardisClientEvents { public static final Event SHELLENTRY_MODELS_SETUP = new Event<>(TardisClientEvents.SetupModels.class, listeners -> (EntityModelSet context) -> { - for(TardisClientEvents.SetupModels listener : listeners) { + for (TardisClientEvents.SetupModels listener : listeners) { listener.setUpShellAndInteriorModels(context); } }); diff --git a/common/src/main/java/whocraft/tardis_refined/api/event/TardisCommonEvents.java b/common/src/main/java/whocraft/tardis_refined/api/event/TardisCommonEvents.java index a9a903e32..3b8253583 100644 --- a/common/src/main/java/whocraft/tardis_refined/api/event/TardisCommonEvents.java +++ b/common/src/main/java/whocraft/tardis_refined/api/event/TardisCommonEvents.java @@ -33,25 +33,25 @@ public class TardisCommonEvents { }); public static final Event DOOR_CLOSED_EVENT = new Event<>(CloseDoor.class, listeners -> (tardisLevelOperator) -> { - for(CloseDoor listener : listeners) { + for (CloseDoor listener : listeners) { listener.onDoorClosed(tardisLevelOperator); } }); public static final Event DOOR_OPENED_EVENT = new Event<>(OpenDoor.class, listeners -> (tardisLevelOperator) -> { - for(OpenDoor listener : listeners) { + for (OpenDoor listener : listeners) { listener.onDoorOpen(tardisLevelOperator); } }); public static final Event DOOR_LOCKED_EVENT = new Event<>(LockDoor.class, listeners -> (tardisLevelOperator) -> { - for(LockDoor listener : listeners) { + for (LockDoor listener : listeners) { listener.onDoorLocked(tardisLevelOperator); } }); public static final Event DOOR_UNLOCKED_EVENT = new Event<>(UnlockDoor.class, listeners -> (tardisLevelOperator) -> { - for(UnlockDoor listener : listeners) { + for (UnlockDoor listener : listeners) { listener.onDoorUnlocked(tardisLevelOperator); } }); @@ -87,7 +87,6 @@ public class TardisCommonEvents { public static final Event PLAYER_CONTROL_INTERACT = new Event<>(CanControlBeUsed.class, listeners -> (tardisLevelOperator, control, controlEntity) -> Event.result(listeners, takeOff -> takeOff.canControlBeUsed(tardisLevelOperator, control, controlEntity))); - /** * Functional interface to define the conditions for using player control. */ @@ -98,8 +97,8 @@ public interface CanControlBeUsed { * Checks whether player control can be used based on specified parameters. * * @param tardisLevelOperator The Tardis level operator. - * @param control The control to be used. - * @param controlEntity The entity associated with the control. + * @param control The control to be used. + * @param controlEntity The entity associated with the control. * @return True if control can be used, false otherwise. */ EventResult canControlBeUsed(TardisLevelOperator tardisLevelOperator, Control control, ControlEntity controlEntity); @@ -115,8 +114,8 @@ public interface TakeOff { * Called when a TARDIS takes off. * * @param tardisLevelOperator The operator of the TARDIS level. - * @param level The level where the TARDIS is taking off from. - * @param pos The position of the TARDIS. + * @param level The level where the TARDIS is taking off from. + * @param pos The position of the TARDIS. * @return The result of the event. */ EventResult onTakeOff(TardisLevelOperator tardisLevelOperator, LevelAccessor level, BlockPos pos); @@ -199,8 +198,8 @@ public interface Land { * Called when a TARDIS lands. * * @param tardisLevelOperator The operator of the TARDIS level. - * @param level The level where the TARDIS is landing. - * @param pos The position of the TARDIS. + * @param level The level where the TARDIS is landing. + * @param pos The position of the TARDIS. */ void onLand(TardisLevelOperator tardisLevelOperator, LevelAccessor level, BlockPos pos); } @@ -214,8 +213,8 @@ public interface ShellChange { * Called when a TARDIS lands. * * @param tardisLevelOperator The operator of the TARDIS level. - * @param theme The theme the TARDIS changed to. - * @param shellChangeSource - Finds the source of the Shell Update. E.g. If the Shell Change event was caused by a Tardis being setup from a Root Shell to a fully functioning version + * @param theme The theme the TARDIS changed to. + * @param shellChangeSource - Finds the source of the Shell Update. E.g. If the Shell Change event was caused by a Tardis being setup from a Root Shell to a fully functioning version */ void onShellChange(TardisLevelOperator tardisLevelOperator, ResourceLocation theme, ShellChangeSource shellChangeSource); } @@ -229,8 +228,8 @@ public interface TardisEntry { * Called when a living entity enters a TARDIS. * * @param tardisLevelOperator The Tardis capability - * @param livingEntity The living entity who is entering the TARDIS. - * @param sourceLocation The position, level and direction of the exterior of the TARDIS. + * @param livingEntity The living entity who is entering the TARDIS. + * @param sourceLocation The position, level and direction of the exterior of the TARDIS. * @param destinationLocation The position, level and direction of the internal door of the TARDIS. */ void onEnterTardis(TardisLevelOperator tardisLevelOperator, LivingEntity livingEntity, TardisNavLocation sourceLocation, TardisNavLocation destinationLocation); @@ -243,8 +242,8 @@ public interface TardisExit { * Called when a living entity exits a TARDIS. * * @param tardisLevelOperator The Tardis capability - * @param livingEntity The living entity who is exiting the TARDIS. - * @param sourceLocation The position, level and direction of the internal door of the TARDIS. + * @param livingEntity The living entity who is exiting the TARDIS. + * @param sourceLocation The position, level and direction of the internal door of the TARDIS. * @param destinationLocation The position, level and direction of the exterior of the TARDIS. */ void onExitTardis(TardisLevelOperator tardisLevelOperator, LivingEntity livingEntity, TardisNavLocation sourceLocation, TardisNavLocation destinationLocation); @@ -273,7 +272,7 @@ public interface UpgradeUnlocked { * Called when a TARDIS unlocks a new Upgrade. * * @param tardisLevelOperator The TARDIS Level Operator. - * @param upgrade The Upgrade + * @param upgrade The Upgrade */ void onUpgradeUnlock(TardisLevelOperator tardisLevelOperator, Upgrade upgrade); } diff --git a/common/src/main/java/whocraft/tardis_refined/client/ParticleGallifrey.java b/common/src/main/java/whocraft/tardis_refined/client/ParticleGallifrey.java index ca1304202..cffb3e71a 100644 --- a/common/src/main/java/whocraft/tardis_refined/client/ParticleGallifrey.java +++ b/common/src/main/java/whocraft/tardis_refined/client/ParticleGallifrey.java @@ -13,7 +13,7 @@ public class ParticleGallifrey extends BaseAshSmokeParticle { protected ParticleGallifrey(ClientLevel arg, double d, double e, double f, double g, double h, double i, float j, SpriteSet arg2) { super(arg, d, e, f, 0.0F, 0.1F, 0.0F, g, h, i, j, arg2, 0.3F, 8, -0.1F, true); this.sprites = arg2; - setColor(1,1,1); + setColor(1, 1, 1); setLifetime(lifetime * 2); } 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 dbcad1177..8eceb4dd4 100644 --- a/common/src/main/java/whocraft/tardis_refined/client/ScreenHandler.java +++ b/common/src/main/java/whocraft/tardis_refined/client/ScreenHandler.java @@ -35,6 +35,7 @@ public static void setWaypointScreen(Collection waypoints) { public static void setCoordinatesScreen(List> levels, CoordInputType coordInputType, TardisNavLocation tardisNavLocation) { Minecraft.getInstance().setScreen(new WaypointManageScreen(levels, coordInputType, tardisNavLocation)); } + @Environment(EnvType.CLIENT) public static void setEditCoordinatesScreen(TardisWaypoint waypoint) { Minecraft.getInstance().setScreen(new WaypointManageScreen(waypoint)); diff --git a/common/src/main/java/whocraft/tardis_refined/client/TRKeybinds.java b/common/src/main/java/whocraft/tardis_refined/client/TRKeybinds.java index be81402b6..6ebc096aa 100644 --- a/common/src/main/java/whocraft/tardis_refined/client/TRKeybinds.java +++ b/common/src/main/java/whocraft/tardis_refined/client/TRKeybinds.java @@ -3,10 +3,12 @@ import net.minecraft.client.KeyMapping; import org.lwjgl.glfw.GLFW; import whocraft.tardis_refined.TardisRefined; +import whocraft.tardis_refined.constants.ModMessages; public class TRKeybinds { - public static KeyMapping EXIT_EXTERIOR_VIEW = new KeyMapping("exit_exterior_view", GLFW.GLFW_KEY_TAB, TardisRefined.NAME); + public static KeyMapping EXIT_EXTERIOR_VIEW = new KeyMapping(ModMessages.KEYBIND_EXIT_VIEW, GLFW.GLFW_KEY_TAB, TardisRefined.NAME); + public static KeyMapping TOGGLE_INFO_EXTERIOR_VIEW = new KeyMapping(ModMessages.KEYBIND_TOGGLE_INFO_EXTERIOR_VIEW, GLFW.GLFW_KEY_N, TardisRefined.NAME); } 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 b4ae64079..142e9994c 100644 --- a/common/src/main/java/whocraft/tardis_refined/client/TRParticles.java +++ b/common/src/main/java/whocraft/tardis_refined/client/TRParticles.java @@ -17,7 +17,7 @@ public class TRParticles { @ExpectPlatform - public static SimpleParticleType getParticleType(){ + public static SimpleParticleType getParticleType() { throw new RuntimeException(TardisRefined.PLATFORM_ERROR); } diff --git a/common/src/main/java/whocraft/tardis_refined/client/TRSoundInstances.java b/common/src/main/java/whocraft/tardis_refined/client/TRSoundInstances.java deleted file mode 100644 index d7d97af61..000000000 --- a/common/src/main/java/whocraft/tardis_refined/client/TRSoundInstances.java +++ /dev/null @@ -1,23 +0,0 @@ -package whocraft.tardis_refined.client; - -import net.minecraft.client.sounds.SoundManager; -import net.minecraft.sounds.SoundSource; -import whocraft.tardis_refined.client.sounds.*; -import whocraft.tardis_refined.client.sounds.soundinstance.LoopingArsAreaSound; -import whocraft.tardis_refined.client.sounds.soundinstance.LoopingFlightSound; -import whocraft.tardis_refined.client.sounds.soundinstance.LoopingGravBlockSound; -import whocraft.tardis_refined.registry.TRSoundRegistry; - -public class TRSoundInstances { - public static LoopingArsAreaSound ARS_HUMMING = new LoopingArsAreaSound(TRSoundRegistry.ARS_HUM.get(), SoundSource.AMBIENT); - public static LoopingGravBlockSound GRAVITY_LOOP = new LoopingGravBlockSound(TRSoundRegistry.GRAVITY_TUNNEL.get(), SoundSource.AMBIENT); - - public static LoopingFlightSound TARDIS_SINGLE_FLY = new LoopingFlightSound(TRSoundRegistry.TARDIS_SINGLE_FLY.get(), SoundSource.AMBIENT); - - public static QuickSimpleSound INTERIOR_VOICE = new QuickSimpleSound(TRSoundRegistry.INTERIOR_VOICE.get(), SoundSource.AMBIENT); - - public static boolean shouldMinecraftMusicStop(SoundManager soundManager){ - return soundManager.isActive(TARDIS_SINGLE_FLY) || soundManager.isActive(ARS_HUMMING) || soundManager.isActive(HumSoundManager.getCurrentHumSound()); - } - -} 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 8b3338fa3..6f643e6e1 100644 --- a/common/src/main/java/whocraft/tardis_refined/client/TardisClientData.java +++ b/common/src/main/java/whocraft/tardis_refined/client/TardisClientData.java @@ -6,6 +6,7 @@ import net.minecraft.world.entity.AnimationState; import net.minecraft.world.level.Level; import net.minecraft.world.phys.Vec3; +import org.joml.Vector3f; import whocraft.tardis_refined.common.hum.HumEntry; import whocraft.tardis_refined.common.hum.TardisHums; import whocraft.tardis_refined.common.network.messages.sync.SyncTardisClientDataMessage; @@ -17,32 +18,23 @@ import java.util.List; public class TardisClientData { + private static final List DATA = new ArrayList<>(); public static int FOG_TICK_DELTA = 0; // This is for the fading in and out of the fog. static int MAX_FOG_TICK_DELTA = 2 * 20; // This is for adjusting how fast the fog will fade in and out. - private final ResourceKey levelKey; public AnimationState ROTOR_ANIMATION = new AnimationState(); public AnimationState LANDING_ANIMATION = new AnimationState(); public AnimationState TAKEOFF_ANIMATION = new AnimationState(); - - public TardisClientData(ResourceKey resourceKey) { - this.levelKey = resourceKey; - } - - /** - * @return The resource key for the level in which this Tardis instance is located. - */ - public ResourceKey getLevelKey() { - return levelKey; - } - + public int landingTime = 0, takeOffTime = 0; + //Not saved to disk, no real reason to be + int nextAmbientNoiseCall = 40; + // Independent of the hums logic + int nextVoiceAmbientCall = 12000; private boolean flying = false; - // Control specifics private int throttleStage = 0; private boolean isLanding = false; private boolean isHandbrakeEngaged = false; - private boolean isTakingOff = false; private boolean isInDangerZone = false; private boolean isCrashing = false; @@ -50,44 +42,82 @@ public ResourceKey getLevelKey() { private float flightShakeScale = 0; private double fuel = 0; private double maximumFuel = 0; - private int tardisState = 0; private int recoveryTicks = 0; + private float journeyProgress = 0; + private ResourceLocation shellTheme = ShellTheme.HALF_BAKED.getId(); + private ResourceLocation shellPattern = ShellPatterns.DEFAULT.id(); + private HumEntry humEntry = TardisHums.getDefaultHum(); + public TardisClientData(ResourceKey resourceKey) { + this.levelKey = resourceKey; + } + public static void add(TardisClientData tardisClientData) { + DATA.add(tardisClientData); + } - //Not saved to disk, no real reason to be - int nextAmbientNoiseCall = 40; + /** + * Retrieves information about a Tardis instance. + * + * @param levelResourceKey The resource key of the level the Tardis is in. + * @return The TardisIntReactions instance containing information about the Tardis. + */ + public static TardisClientData getInstance(ResourceKey levelResourceKey) { + for (TardisClientData data : DATA) { + if (data.getLevelKey().equals(levelResourceKey)) { + return data; + } + } + TardisClientData newData = new TardisClientData(levelResourceKey); + DATA.add(newData); + return newData; + } - // Independent of the hums logic - int nextVoiceAmbientCall = 12000; + public static List getAllEntries() { + return new ArrayList<>(DATA); + } - private ResourceLocation shellTheme = ShellTheme.HALF_BAKED.getId(); - private ResourceLocation shellPattern = ShellPatterns.DEFAULT.id(); + public static void clearAll() { + DATA.clear(); + } - private HumEntry humEntry = TardisHums.getDefaultHum(); + /** + * @return The resource key for the level in which this Tardis instance is located. + */ + public ResourceKey getLevelKey() { + return levelKey; + } + + public float getJourneyProgress() { + return journeyProgress; + } + + public void setJourneyProgress(float journeyProgress) { + this.journeyProgress = journeyProgress; + } public ResourceLocation getShellTheme() { return shellTheme; } + public void setShellTheme(ResourceLocation shellTheme) { + this.shellTheme = shellTheme; + } + public HumEntry getHumEntry() { return humEntry; } - public void setThrottleStage(int stage) { - this.throttleStage = stage; + public void setHumEntry(HumEntry humEntry) { + this.humEntry = humEntry; } public int getThrottleStage() { return this.throttleStage; } - public void setHumEntry(HumEntry humEntry) { - this.humEntry = humEntry; - } - - public void setShellTheme(ResourceLocation shellTheme) { - this.shellTheme = shellTheme; + public void setThrottleStage(int stage) { + this.throttleStage = stage; } public ResourceLocation getShellPattern() { @@ -98,16 +128,14 @@ public void setShellPattern(ResourceLocation shellPattern) { this.shellPattern = shellPattern; } - public int landingTime = 0, takeOffTime = 0; + public boolean isFlying() { + return flying; + } public void setFlying(boolean flying) { this.flying = flying; } - public boolean isFlying() { - return flying; - } - public void setIsLanding(boolean landing) { this.isLanding = landing; } @@ -143,17 +171,19 @@ public boolean isInRecovery() { public double getFuel() { return fuel; } + public void setFuel(double fuel) { this.fuel = fuel; } + public double getMaximumFuel() { return maximumFuel; } + public void setMaximumFuel(double fuel) { this.maximumFuel = fuel; } - /** * Serializes the Tardis instance to a CompoundTag. * @@ -165,6 +195,7 @@ public CompoundTag serializeNBT() { compoundTag.putBoolean("flying", flying); compoundTag.putInt(NbtConstants.THROTTLE_STAGE, throttleStage); compoundTag.putInt("recoveryTicks", recoveryTicks); + compoundTag.putFloat("journeyProgress", journeyProgress); compoundTag.putBoolean(NbtConstants.HANDBRAKE_ENGAGED, isHandbrakeEngaged); compoundTag.putBoolean("isLanding", isLanding); compoundTag.putBoolean("isTakingOff", isTakingOff); @@ -198,6 +229,7 @@ public void deserializeNBT(CompoundTag compoundTag) { flightShakeScale = compoundTag.getFloat("flightShakeScale"); isOnCooldown = compoundTag.getBoolean("isOnCooldown"); recoveryTicks = compoundTag.getInt("recoveryTicks"); + journeyProgress = compoundTag.getFloat("journeyProgress"); // Load shellTheme and shellPattern shellTheme = new ResourceLocation(compoundTag.getString("shellTheme")); shellPattern = new ResourceLocation(compoundTag.getString("shellPattern")); @@ -216,37 +248,6 @@ public void sync() { new SyncTardisClientDataMessage(getLevelKey(), serializeNBT()).sendToAll(); } - private static final List DATA = new ArrayList<>(); - - public static void add(TardisClientData tardisClientData) { - DATA.add(tardisClientData); - } - - /** - * Retrieves information about a Tardis instance. - * - * @param levelResourceKey The resource key of the level the Tardis is in. - * @return The TardisIntReactions instance containing information about the Tardis. - */ - public static TardisClientData getInstance(ResourceKey levelResourceKey) { - for (TardisClientData data : DATA) { - if (data.getLevelKey().equals(levelResourceKey)) { - return data; - } - } - TardisClientData newData = new TardisClientData(levelResourceKey); - DATA.add(newData); - return newData; - } - - public static List getAllEntries() { - return new ArrayList<>(DATA); - } - - public static void clearAll() { - DATA.clear(); - } - public Vec3 fogColor(boolean isCrashing) { if (isCrashing) { return new Vec3(1, 0, 0); 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 bc89fee93..88b9d70d7 100644 --- a/common/src/main/java/whocraft/tardis_refined/client/TardisClientLogic.java +++ b/common/src/main/java/whocraft/tardis_refined/client/TardisClientLogic.java @@ -5,7 +5,9 @@ import net.minecraft.client.CameraType; import net.minecraft.client.Minecraft; import net.minecraft.client.multiplayer.ClientLevel; +import net.minecraft.client.player.LocalPlayer; import net.minecraft.client.sounds.SoundManager; +import net.minecraft.commands.arguments.EntityAnchorArgument; import net.minecraft.core.BlockPos; import net.minecraft.core.particles.ParticleTypes; import net.minecraft.resources.ResourceLocation; @@ -26,6 +28,7 @@ import java.util.List; +import static whocraft.tardis_refined.client.sounds.TRSoundInstances.VORTEX_WINDS; import static whocraft.tardis_refined.client.TardisClientData.FOG_TICK_DELTA; import static whocraft.tardis_refined.client.TardisClientData.MAX_FOG_TICK_DELTA; import static whocraft.tardis_refined.common.util.TardisHelper.isInArsArea; @@ -49,22 +52,39 @@ public static void tickClientside(TardisClientData clientData) { Player player = Minecraft.getInstance().player; TardisPlayerInfo.get(player).ifPresent(tardisPlayerInfo -> { - if(tardisPlayerInfo.isViewingTardis()){ + if (tardisPlayerInfo.isViewingTardis()) { Minecraft.getInstance().options.setCameraType(CameraType.THIRD_PERSON_FRONT); } }); if (player.level().dimensionTypeId() == TRDimensionTypes.TARDIS) { - ClientLevel tardisLevel = Minecraft.getInstance().level; - createWorldAmbience(player); handleTardisLoopingSounds(clientData, player, tardisLevel); handleScreenShake(clientData, player); handleAestheticEffects(clientData, tardisLevel); - } + handleVortexSounds(clientData, player); + + } + + private static void handleVortexSounds(TardisClientData clientData, Player player) { + SoundManager soundManager = Minecraft.getInstance().getSoundManager(); + + TardisPlayerInfo.get(player).ifPresent(tardisPlayerInfo -> { + if (!clientData.isLanding() && !clientData.isTakingOff() && tardisPlayerInfo.isRenderVortex() && !soundManager.isActive(TRSoundInstances.TARDIS_SINGLE_FLY_VORTEX)) { + TRSoundInstances.TARDIS_SINGLE_FLY_VORTEX.restartSoundPlaying(); //Explicity tell the LoopingSound to set its volume to a non-zero value so that the SoundEngine will play it again. + soundManager.play(TRSoundInstances.TARDIS_SINGLE_FLY_VORTEX.setPlayer(player).setLevel(Minecraft.getInstance().level)); + } + }); + + TardisPlayerInfo.get(player).ifPresent(tardisPlayerInfo -> { + if (tardisPlayerInfo.isRenderVortex() && !soundManager.isActive(VORTEX_WINDS)) { + TRSoundInstances.VORTEX_WINDS.restartSoundPlaying(); + soundManager.play(TRSoundInstances.VORTEX_WINDS.setPlayer(player)); + } + }); } /** @@ -124,7 +144,7 @@ private static void createWorldAmbience(Player player) { if (player.tickCount % 120 == 0 && !isInArsArea(player.blockPosition())) return; RandomSource random = player.level().random; Level level = player.level(); - ClientLevel clientLevel = (ClientLevel)level; + ClientLevel clientLevel = (ClientLevel) level; double originX = player.getX(); double originY = player.getY(); double originZ = player.getZ(); @@ -143,8 +163,10 @@ private static void createWorldAmbience(Player player) { } } - /** Handle when to start playing looping sounds for anything that doesn't need to be played inside a Tardis dimension*/ - private static void handleNonTardisLoopingSounds(Player player, Level targetLevel){ + /** + * Handle when to start playing looping sounds for anything that doesn't need to be played inside a Tardis dimension + */ + private static void handleNonTardisLoopingSounds(Player player, Level targetLevel) { SoundManager soundManager = Minecraft.getInstance().getSoundManager(); if (GravityUtil.isInGravityShaft(Minecraft.getInstance().player)) { if (!soundManager.isActive(TRSoundInstances.GRAVITY_LOOP)) { @@ -152,71 +174,95 @@ private static void handleNonTardisLoopingSounds(Player player, Level targetLeve } } } - /** Handle when to trigger the looping sounds to start playing. This is not a duplicate of the logic in the LoopingSound implementation. Here we are only defining when we should start or continue playing the sound*/ - private static void handleTardisLoopingSounds(TardisClientData clientData, Player player, Level targetLevel){ + + /** + * Handle when to trigger the looping sounds to start playing. This is not a duplicate of the logic in the LoopingSound implementation. Here we are only defining when we should start or continue playing the sound + */ + private static void handleTardisLoopingSounds(TardisClientData clientData, Player player, Level targetLevel) { boolean isThisTardis = clientData.getLevelKey() == targetLevel.dimension(); SoundManager soundManager = Minecraft.getInstance().getSoundManager(); + if (isInArsArea(player.blockPosition())) { if (!soundManager.isActive(TRSoundInstances.ARS_HUMMING)) { soundManager.play(TRSoundInstances.ARS_HUMMING.setPlayer(player).setLevel(targetLevel)); } } - //Play the Tardis flight loop sound when the Tardis is in flight but not taking off or landing or crashing, to minimise sound overlap - if (isThisTardis && !clientData.isTakingOff() && !clientData.isLanding() && !clientData.isCrashing() && clientData.isFlying()) { - if (!soundManager.isActive(TRSoundInstances.TARDIS_SINGLE_FLY)) { - TRSoundInstances.TARDIS_SINGLE_FLY.restartSoundPlaying(); //Explicity tell the LoopingSound to set its volume to a non-zero value so that the SoundEngine will play it again. - soundManager.play(TRSoundInstances.TARDIS_SINGLE_FLY.setPlayer(player).setLevel(targetLevel)); + TardisPlayerInfo.get(Minecraft.getInstance().player).ifPresent(tardisPlayerInfo -> { + + if (tardisPlayerInfo.isRenderVortex()) return; + + if (isThisTardis && !clientData.isTakingOff() && !clientData.isLanding() && !clientData.isCrashing() && clientData.isFlying()) { + if (!soundManager.isActive(TRSoundInstances.TARDIS_SINGLE_FLY)) { + TRSoundInstances.TARDIS_SINGLE_FLY.restartSoundPlaying(); //Explicity tell the LoopingSound to set its volume to a non-zero value so that the SoundEngine will play it again. + soundManager.play(TRSoundInstances.TARDIS_SINGLE_FLY.setPlayer(player).setLevel(targetLevel)); + } } - } - //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); - } + //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); + } - //Hum ambient sounds - if (isThisTardis && targetLevel.getGameTime() % clientData.nextAmbientNoiseCall == 0) { - clientData.nextAmbientNoiseCall = targetLevel.random.nextInt(400, 2400); - List ambientSounds = humEntry.getAmbientSounds(); - if (ambientSounds != null && !ambientSounds.isEmpty()) { - RandomSource randomSource = targetLevel.random; + //Hum ambient sounds + if (isThisTardis && targetLevel.getGameTime() % clientData.nextAmbientNoiseCall == 0) { + clientData.nextAmbientNoiseCall = targetLevel.random.nextInt(400, 2400); + List ambientSounds = humEntry.getAmbientSounds(); + if (ambientSounds != null && !ambientSounds.isEmpty()) { + RandomSource randomSource = targetLevel.random; - ResourceLocation randomSoundLocation = ambientSounds.get(randomSource.nextInt(ambientSounds.size())); - SoundEvent randomSoundEvent = SoundEvent.createVariableRangeEvent(randomSoundLocation); + ResourceLocation randomSoundLocation = ambientSounds.get(randomSource.nextInt(ambientSounds.size())); + SoundEvent randomSoundEvent = SoundEvent.createVariableRangeEvent(randomSoundLocation); - QuickSimpleSound simpleSoundInstance = new QuickSimpleSound(randomSoundEvent, SoundSource.AMBIENT); - simpleSoundInstance.setVolume(0.3F); + QuickSimpleSound simpleSoundInstance = new QuickSimpleSound(randomSoundEvent, SoundSource.AMBIENT); + simpleSoundInstance.setVolume(0.3F); - ClientHelper.playAmbientSound(simpleSoundInstance, randomSource, 0.3f); + ClientHelper.playAmbientSound(simpleSoundInstance, randomSource, 0.3f); + } } - } + + //Interior Voice + if (isThisTardis && targetLevel.getGameTime() % clientData.nextVoiceAmbientCall == 0) { + clientData.nextVoiceAmbientCall = targetLevel.random.nextInt(6000, 36000); + + RandomSource randomSource = targetLevel.random; + ClientHelper.playAmbientSound(TRSoundInstances.INTERIOR_VOICE, randomSource, 0.3f); + } + + }); + //Play the Tardis flight loop sound when the Tardis is in flight but not taking off or landing or crashing, to minimise sound overlap if (TRSoundInstances.shouldMinecraftMusicStop(soundManager)) { Minecraft.getInstance().getMusicManager().stopPlaying(); } + } - //Interior Voice - if (isThisTardis && targetLevel.getGameTime() % clientData.nextVoiceAmbientCall == 0) { - clientData.nextVoiceAmbientCall = targetLevel.random.nextInt(6000, 36000); - - RandomSource randomSource = targetLevel.random; - ClientHelper.playAmbientSound(TRSoundInstances.INTERIOR_VOICE, randomSource, 0.3f); - } + @Environment(EnvType.CLIENT) + public static void handleClient() { + Minecraft.getInstance().options.setCameraType(CameraType.FIRST_PERSON); + TardisPlayerInfo.get(Minecraft.getInstance().player).ifPresent(tardisPlayerInfo -> { + LocalPlayer player = Minecraft.getInstance().player; + System.out.println(tardisPlayerInfo.getPlayerPreviousYaw()); + System.out.println(tardisPlayerInfo.getPlayerPreviousRot()); + player.setXRot(tardisPlayerInfo.getPlayerPreviousYaw()); + player.setYHeadRot(tardisPlayerInfo.getPlayerPreviousRot()); + player.lookAt(EntityAnchorArgument.Anchor.EYES, new Vec3(0, 128, 0)); + }); } - private static void handleScreenShake(TardisClientData clientData, Player player){ + + private static void handleScreenShake(TardisClientData clientData, Player player) { // Responsible for screen-shake. Not sure of a better solution at this point in time. 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.setYHeadRot(player.getYHeadRot() + (player.getRandom().nextFloat() - 0.5f) * 0.5f); } else { if (clientData.isFlying()) { player.setXRot(player.getXRot() + (player.getRandom().nextFloat() - 0.5f) * (clientData.getThrottleStage() * 0.1f)); @@ -228,10 +274,11 @@ private static void handleScreenShake(TardisClientData clientData, Player player /** * Higher means more fog, lower means less fog + * * @return 0 -> 1 float based off fog tick delta */ public static float getFogTickDelta(BlockPos playerPosition) { - return TardisHelper.isInArsArea(playerPosition) ? 1f : 1f - (float) FOG_TICK_DELTA / (float) MAX_FOG_TICK_DELTA; + return TardisHelper.isInArsArea(playerPosition) ? 1f : 1f - (float) FOG_TICK_DELTA / (float) MAX_FOG_TICK_DELTA; } public static void tickFog(boolean hasFuel) { @@ -246,18 +293,18 @@ public static void tickFog(boolean hasFuel) { } } - private static void handleAestheticEffects(TardisClientData clientData, Level targetLevel){ + private static void handleAestheticEffects(TardisClientData clientData, Level targetLevel) { boolean isThisTardis = clientData.getLevelKey() == targetLevel.dimension(); if (isThisTardis) { - tickFog( clientData.getTardisState() < TardisLevelOperator.STATE_EYE_OF_HARMONY || clientData.getFuel() != 0); + tickFog(clientData.getTardisState() < TardisLevelOperator.STATE_EYE_OF_HARMONY || clientData.getFuel() != 0); } if (isThisTardis && clientData.getTardisState() == TardisLevelOperator.STATE_EYE_OF_HARMONY) { double motionX = 0; double motionY = 0.1 + targetLevel.random.nextFloat() / 2; double motionZ = 0; - Vec3 position = new Vec3((double)1013 + 0.5 - 2 + targetLevel.random.nextInt(4), 71, (double)55 + 0.5- 2 + targetLevel.random.nextInt(4)); + Vec3 position = new Vec3((double) 1013 + 0.5 - 2 + targetLevel.random.nextInt(4), 71, (double) 55 + 0.5 - 2 + targetLevel.random.nextInt(4)); ClientHelper.playParticle((ClientLevel) targetLevel, ParticleTypes.CLOUD, position, motionX, motionY, motionZ); } } 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 663e682ed..3e0908707 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 @@ -5,30 +5,33 @@ import net.minecraft.resources.ResourceLocation; import whocraft.tardis_refined.TardisRefined; import whocraft.tardis_refined.client.ModelRegistry; -import whocraft.tardis_refined.client.model.blockentity.shell.*; -import whocraft.tardis_refined.common.tardis.themes.ConsoleTheme; -import whocraft.tardis_refined.common.tardis.themes.ShellTheme; import java.util.ArrayList; -import java.util.HashMap; import java.util.List; -import java.util.Map; /*** * A collection of models for rendering the console unit. */ public class ConsoleModelCollection { + public static List CONSOLE_MODELS = new ArrayList<>(); + private static ConsoleModelCollection instance = null; ConsoleUnit toyotaConsoleModel, coralConsoleModel, copperConsoleModel, nukaConsoleModel, factoryConsoleModel, crystalConsoleModel, victorianConsoleModel, mystConsoleModel, initiativeConsoleModel, refurbishedConsoleModel; - public static List CONSOLE_MODELS = new ArrayList<>(); - public ConsoleModelCollection() { var context = Minecraft.getInstance().getEntityModels(); this.registerModels(context); } - public void registerModels(EntityModelSet context){ + public static ConsoleModelCollection getInstance() { + if (ConsoleModelCollection.instance == null) { + ConsoleModelCollection.instance = new ConsoleModelCollection(); + } + + return instance; + } + + public void registerModels(EntityModelSet context) { factoryConsoleModel = new FactoryConsoleModel(context.bakeLayer((ModelRegistry.FACTORY_CONSOLE))); nukaConsoleModel = new NukaConsoleModel(context.bakeLayer((ModelRegistry.NUKA_CONSOLE))); @@ -43,7 +46,7 @@ public void registerModels(EntityModelSet context){ CONSOLE_MODELS.add(factoryConsoleModel); CONSOLE_MODELS.add(nukaConsoleModel); - CONSOLE_MODELS.add( copperConsoleModel); + CONSOLE_MODELS.add(copperConsoleModel); CONSOLE_MODELS.add(coralConsoleModel); CONSOLE_MODELS.add(toyotaConsoleModel); CONSOLE_MODELS.add(crystalConsoleModel); @@ -62,21 +65,11 @@ public void registerModels(EntityModelSet context){ **/ public ConsoleUnit getConsoleModel(ResourceLocation themeId) { for (ConsoleUnit consoleModel : CONSOLE_MODELS) { - if(consoleModel.getConsoleTheme().toString().equals(themeId.toString())){ + if (consoleModel.getConsoleTheme().toString().equals(themeId.toString())) { return consoleModel; } } TardisRefined.LOGGER.warn("Could not find model for {}, did you bind it?", themeId); return null; } - - private static ConsoleModelCollection instance = null; - - public static ConsoleModelCollection getInstance() { - if (ConsoleModelCollection.instance == null) { - ConsoleModelCollection.instance = new ConsoleModelCollection(); - } - - return instance; - } } 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 ecd84ab6a..800f67634 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 @@ -25,6 +25,7 @@ default ModelPart findPart(HierarchicalModel hierarchicalModel, String string) { } 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 898faa1a2..698d62ff8 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,7 +3,6 @@ import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; -import io.netty.util.internal.MathUtil; import net.minecraft.client.Minecraft; import net.minecraft.client.animation.AnimationChannel; import net.minecraft.client.animation.AnimationDefinition; @@ -27,2261 +26,2261 @@ public class CopperConsoleModel extends HierarchicalModel implements ConsoleUnit { - public static final AnimationDefinition LOOP = AnimationDefinition.Builder.withLength(6f).looping() - .addAnimation("pulley_control5", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(0.56f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.68f, KeyframeAnimations.scaleVec(1f, 1.02f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.52f, KeyframeAnimations.scaleVec(1f, 0.98f, 1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.76f, KeyframeAnimations.scaleVec(1f, 0.93f, 1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(6f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("ball_rotate_control", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(0.36f, KeyframeAnimations.degreeVec(0f, -52.11f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.88f, KeyframeAnimations.degreeVec(0f, 150.8f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.6f, KeyframeAnimations.degreeVec(0f, 139.76f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.2f, KeyframeAnimations.degreeVec(0f, 197f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.6f, KeyframeAnimations.degreeVec(0f, 216.16f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.52f, KeyframeAnimations.degreeVec(0f, 137.4f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.64f, KeyframeAnimations.degreeVec(0f, 169.1f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.92f, KeyframeAnimations.degreeVec(0f, 139.76f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.2f, KeyframeAnimations.degreeVec(0f, 80.31f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.72f, KeyframeAnimations.degreeVec(0f, 103.83f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.96f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone193", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1f, KeyframeAnimations.degreeVec( - 0f, 34.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.32f, KeyframeAnimations.degreeVec(0f, 40.29f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.56f, KeyframeAnimations.degreeVec(0f, 0.69f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.28f, KeyframeAnimations.degreeVec(0f, -21.93f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.56f, KeyframeAnimations.degreeVec( - 0f, -5.92f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.92f, KeyframeAnimations.degreeVec(0f, -0.29f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.24f, KeyframeAnimations.degreeVec( - 0f, 17.99f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.48f, KeyframeAnimations.degreeVec(0f, 26.48f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.96f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone194", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1f, KeyframeAnimations.degreeVec( - 0f, 104.5f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.72f, KeyframeAnimations.degreeVec(0f, 173.76f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.96f, KeyframeAnimations.degreeVec(0f, 158.07f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.28f, KeyframeAnimations.degreeVec( - 0f, 53.21f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.56f, KeyframeAnimations.degreeVec(0f, 58.04f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.56f, KeyframeAnimations.degreeVec( - 0f, -5.92f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.96f, KeyframeAnimations.degreeVec(0f, 43.15f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.24f, KeyframeAnimations.degreeVec( - 0f, 30.69f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.96f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("valve_control", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.96f, KeyframeAnimations.degreeVec(0f, 360f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("valve_control5", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(0.64f, KeyframeAnimations.posVec(0f, 0.1f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(0.72f, KeyframeAnimations.posVec(0f, 0.15f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.8f, KeyframeAnimations.posVec(0f, -0.08f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.64f, KeyframeAnimations.posVec(0f, 0.11f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.8f, KeyframeAnimations.posVec(0f, -0.03f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.28f, KeyframeAnimations.posVec(0f, 0.23f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("valve_control5", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(0.84f, KeyframeAnimations.degreeVec(0f, 11.21f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.32f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.8f, KeyframeAnimations.degreeVec(0f, -5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.04f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.16f, KeyframeAnimations.degreeVec(0f, 30f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.96f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone237", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(0.88f, KeyframeAnimations.degreeVec(204.15f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.24f, KeyframeAnimations.degreeVec(172.5f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.56f, KeyframeAnimations.degreeVec(96.62f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.96f, KeyframeAnimations.degreeVec(158.07f, - 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.24f, KeyframeAnimations.degreeVec(164.64f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.48f, KeyframeAnimations.degreeVec(52.1f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.88f, KeyframeAnimations.degreeVec(81.21f, - 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.48f, KeyframeAnimations.degreeVec(132.45f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.56f, KeyframeAnimations.degreeVec(12.08f, - 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.84f, KeyframeAnimations.degreeVec(58.5f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.24f, KeyframeAnimations.degreeVec(43.99f, - 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.96f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone251", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.24f, KeyframeAnimations.degreeVec(-82.5f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.28f, KeyframeAnimations.degreeVec(-104.93f, - 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.88f, KeyframeAnimations.degreeVec(26.21f, - 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.6f, KeyframeAnimations.degreeVec(91.08f, - 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.24f, KeyframeAnimations.degreeVec(43.99f, - 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.96f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone252", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.32f, KeyframeAnimations.degreeVec(45f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.08f, KeyframeAnimations.degreeVec(-12.5f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.92f, KeyframeAnimations.degreeVec(75f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("twist_control5", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(0.64f, KeyframeAnimations.degreeVec(0f, -3.55f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.12f, KeyframeAnimations.degreeVec(0f, 89.61f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.28f, KeyframeAnimations.degreeVec(0f, 78f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.12f, KeyframeAnimations.degreeVec(0f, -0.68f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.96f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone304", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(0.64f, KeyframeAnimations.degreeVec(0f, 145.28f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.24f, KeyframeAnimations.degreeVec(0f, 172.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.08f, KeyframeAnimations.degreeVec(0f, 148.07f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.52f, KeyframeAnimations.degreeVec(0f, 242.4f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.92f, KeyframeAnimations.degreeVec(0f, 149.21f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.76f, KeyframeAnimations.degreeVec(0f, -17.88f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.56f, KeyframeAnimations.degreeVec(0f, 12.08f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.08f, KeyframeAnimations.degreeVec(0f, 114.94f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.24f, KeyframeAnimations.degreeVec(0f, 43.99f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.48f, KeyframeAnimations.degreeVec(0f, -28.13f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.96f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone158", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.6f, KeyframeAnimations.degreeVec(0f, 0f, -16.5f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.88f, KeyframeAnimations.degreeVec(0f, 0f, -6.76f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.68f, KeyframeAnimations.degreeVec(0f, 0f, 22.05f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.24f, KeyframeAnimations.degreeVec(0f, 0f, -6.93f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.56f, KeyframeAnimations.degreeVec(0f, 0f, -5.29f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4f, KeyframeAnimations.degreeVec(0f, 0f, -0.21f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.08f, KeyframeAnimations.degreeVec(0f, 0f, -26.14f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone162", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6f, KeyframeAnimations.degreeVec(360f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone168", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.92f, KeyframeAnimations.degreeVec(-30f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.72f, KeyframeAnimations.degreeVec(5f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.96f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone214", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(0.96f, KeyframeAnimations.scaleVec(1f, 1.05f, 1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.28f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.4f, KeyframeAnimations.scaleVec(1f, 0.86f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone199", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.92f, KeyframeAnimations.degreeVec(2.5f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.28f, KeyframeAnimations.degreeVec(-0.42f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone199", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.84f, KeyframeAnimations.scaleVec(1f, 1.05f, 1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.56f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.4f, KeyframeAnimations.scaleVec(1f, 0.95f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone201", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(0.96f, KeyframeAnimations.degreeVec(-0.49762f, -0.10901f, -2.49762f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.36f, KeyframeAnimations.degreeVec(2.49762f, -0.10901f, 1.49762f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone210", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0.08f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.92f, KeyframeAnimations.degreeVec(2.5f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.28f, KeyframeAnimations.degreeVec(-0.42f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone210", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0.48f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.84f, KeyframeAnimations.scaleVec(1f, 1.05f, 1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.56f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.4f, KeyframeAnimations.scaleVec(1f, 0.95f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("valve_control2", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2f, KeyframeAnimations.degreeVec(0f, -98.31f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.6f, KeyframeAnimations.degreeVec(0f, -90f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.96f, KeyframeAnimations.degreeVec(0f, -180f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("valve_control3", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 1f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1f, KeyframeAnimations.degreeVec( - 0f, 72.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.64f, KeyframeAnimations.degreeVec(0f, 129.29f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.96f, KeyframeAnimations.degreeVec(0f, 114.07f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.72f, KeyframeAnimations.degreeVec(0f, 44.19f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.08f, KeyframeAnimations.degreeVec( - 0f, 53.21f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.48f, KeyframeAnimations.degreeVec(0f, 60.83f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.32f, KeyframeAnimations.degreeVec( - 0f, -4.92f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.04f, KeyframeAnimations.degreeVec( - 0f, 55.99f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.76f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone208", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(0.56f, KeyframeAnimations.degreeVec(0f, -1.31f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.28f, KeyframeAnimations.degreeVec(0f, 0.89f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.72f, KeyframeAnimations.degreeVec(0f, -1f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.84f, KeyframeAnimations.degreeVec(0f, -2f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.28f, KeyframeAnimations.degreeVec(0f, 4.01f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.52f, KeyframeAnimations.degreeVec(0f, 5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.84f, KeyframeAnimations.degreeVec(0f, 4.66f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.04f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.36f, KeyframeAnimations.degreeVec(0f, -4.26f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.88f, KeyframeAnimations.degreeVec(0f, -3f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.76f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone209", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(0.56f, KeyframeAnimations.degreeVec(0f, -1.31f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.28f, KeyframeAnimations.degreeVec(0f, 0.89f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.72f, KeyframeAnimations.degreeVec(0f, -1f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.84f, KeyframeAnimations.degreeVec(0f, -2f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.28f, KeyframeAnimations.degreeVec(0f, 4.01f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.52f, KeyframeAnimations.degreeVec(0f, 5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.84f, KeyframeAnimations.degreeVec(0f, 4.66f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.04f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.36f, KeyframeAnimations.degreeVec(0f, -4.26f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.88f, KeyframeAnimations.degreeVec(0f, -3f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.76f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone253", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.56f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.44f, KeyframeAnimations.degreeVec(-7f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.12f, KeyframeAnimations.degreeVec(1.98f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.64f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.44f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.76f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("twist_control3", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(0.52f, KeyframeAnimations.degreeVec(1.36f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.56f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.64f, KeyframeAnimations.degreeVec(0.29f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.44f, KeyframeAnimations.degreeVec(-3f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.12f, KeyframeAnimations.degreeVec(0.98f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.64f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.12f, KeyframeAnimations.degreeVec(0.65f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.44f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.88f, KeyframeAnimations.degreeVec(-0.96f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.76f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("spinthing_control", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3f, KeyframeAnimations.degreeVec(0f, 90f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("spinthingP2_control", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(-1f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.96f, KeyframeAnimations.degreeVec(-45f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4f, KeyframeAnimations.degreeVec(10f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("valve_control4", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(0.32f, KeyframeAnimations.degreeVec(0f, -0.44f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1f, KeyframeAnimations.degreeVec(0f, 0.77f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.56f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.44f, KeyframeAnimations.degreeVec(0f, -2f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.76f, KeyframeAnimations.degreeVec(0f, 0.69f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.12f, KeyframeAnimations.degreeVec(0f, 2f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.44f, KeyframeAnimations.degreeVec(0f, -0.35f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.64f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.8f, KeyframeAnimations.degreeVec(0f, 0.31f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.04f, KeyframeAnimations.degreeVec(0f, -1.8f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.48f, KeyframeAnimations.degreeVec(0f, -1f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.88f, KeyframeAnimations.degreeVec(0f, 0.33f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.76f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("valve_control7", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.72f, KeyframeAnimations.degreeVec(0f, -91.36f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.6f, KeyframeAnimations.degreeVec(0f, -90f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.4f, KeyframeAnimations.degreeVec(0f, -79.8f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.96f, KeyframeAnimations.degreeVec(0f, -180f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("valve_control6", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0.4f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(0.68f, KeyframeAnimations.degreeVec(0f, 77.36f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.2f, KeyframeAnimations.degreeVec(0f, -200f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(6f, KeyframeAnimations.degreeVec(0f, -360f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("twist_control4", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.52f, KeyframeAnimations.degreeVec(0f, -86.04f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.6f, KeyframeAnimations.degreeVec(0f, -64.6f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.96f, KeyframeAnimations.degreeVec(0f, -360f, 0f), - AnimationChannel.Interpolations.CATMULLROM))).build(); - public static final AnimationDefinition FLIGHT = AnimationDefinition.Builder.withLength(6f).looping() - .addAnimation("bone312", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(1.72f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.96f, KeyframeAnimations.posVec(0f, -0.095f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.44f, KeyframeAnimations.posVec(0f, 0.035f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.76f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone312", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.04f, KeyframeAnimations.degreeVec(0.4f, 0f, -0.1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.84f, KeyframeAnimations.degreeVec(-0.1f, 0f, 0.1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.72f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("pulley_control5", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(0.56f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.08f, KeyframeAnimations.scaleVec(1f, 1.08f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.32f, KeyframeAnimations.scaleVec(1f, 1.1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.36f, KeyframeAnimations.scaleVec(1f, 1.11f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.6f, KeyframeAnimations.scaleVec(1f, 0.93f, 1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.8f, KeyframeAnimations.scaleVec(1f, 1.09f, 1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.96f, KeyframeAnimations.scaleVec(1f, 1.02f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.52f, KeyframeAnimations.scaleVec(1f, 0.98f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.84f, KeyframeAnimations.scaleVec(1f, 0.93f, 1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(6f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("ball_rotate_control", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(0.36f, KeyframeAnimations.degreeVec(0f, -52.11f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(0.72f, KeyframeAnimations.degreeVec(0f, 18.04f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(0.88f, KeyframeAnimations.degreeVec(0f, 150.8f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.12f, KeyframeAnimations.degreeVec(0f, 73.75f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.2f, KeyframeAnimations.degreeVec(0f, 776.26f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.32f, KeyframeAnimations.degreeVec(0f, 808.66f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.4f, KeyframeAnimations.degreeVec(0f, 600f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.64f, KeyframeAnimations.degreeVec(0f, 277.08f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.52f, KeyframeAnimations.degreeVec(0f, 112.9f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.68f, KeyframeAnimations.degreeVec(0f, 168.81f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.92f, KeyframeAnimations.degreeVec(0f, 139.76f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.24f, KeyframeAnimations.degreeVec(0f, 70.85f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.68f, KeyframeAnimations.degreeVec(0f, 81.23f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.08f, KeyframeAnimations.degreeVec(0f, 110.98f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.96f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone193", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.12f, KeyframeAnimations.degreeVec( - 0f, 42.5f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.28f, KeyframeAnimations.degreeVec(0f, -21.93f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.4f, KeyframeAnimations.degreeVec(0f, 94.26f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.56f, KeyframeAnimations.degreeVec( - 0f, -5.92f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.52f, KeyframeAnimations.degreeVec(0f, 26.44f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.96f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone194", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1f, KeyframeAnimations.degreeVec( - 0f, 104.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.08f, KeyframeAnimations.degreeVec(0f, 77.23f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.28f, KeyframeAnimations.degreeVec(0f, 221.34f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.04f, KeyframeAnimations.degreeVec(0f, 56.22f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.52f, KeyframeAnimations.degreeVec(0f, 58.75f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.56f, KeyframeAnimations.degreeVec( - 0f, -5.92f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.24f, KeyframeAnimations.degreeVec( - 0f, 43.99f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.96f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("valve_control", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.12f, KeyframeAnimations.degreeVec(0f, 128.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.96f, KeyframeAnimations.degreeVec(0f, -1440f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("valve_control5", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(0.64f, KeyframeAnimations.posVec(0f, 0.1f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(0.72f, KeyframeAnimations.posVec(0f, 0.15f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.8f, KeyframeAnimations.posVec(0f, -0.08f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.64f, KeyframeAnimations.posVec(0f, 0.11f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.8f, KeyframeAnimations.posVec(0f, -0.03f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.28f, KeyframeAnimations.posVec(0f, 0.23f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("valve_control5", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(0.84f, KeyframeAnimations.degreeVec(0f, 11.21f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.32f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.8f, KeyframeAnimations.degreeVec(0f, -5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.04f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.16f, KeyframeAnimations.degreeVec(0f, 30f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.96f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone237", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.48f, KeyframeAnimations.degreeVec(227.72f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.96f, KeyframeAnimations.degreeVec(158.07f, - 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.52f, KeyframeAnimations.degreeVec(-109.42f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.88f, KeyframeAnimations.degreeVec(81.21f, - 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.16f, KeyframeAnimations.degreeVec(192.14f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.84f, KeyframeAnimations.degreeVec(-15.76f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.24f, KeyframeAnimations.degreeVec(43.99f, - 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.6f, KeyframeAnimations.degreeVec(457.7f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.96f, KeyframeAnimations.degreeVec(360f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone251", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(0.44f, KeyframeAnimations.degreeVec(12.31f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.24f, KeyframeAnimations.degreeVec(-82.5f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.28f, KeyframeAnimations.degreeVec(-104.93f, - 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.88f, KeyframeAnimations.degreeVec(26.21f, - 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.92f, KeyframeAnimations.degreeVec(118.03f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.6f, KeyframeAnimations.degreeVec(91.08f, - 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.96f, KeyframeAnimations.degreeVec(360f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone252", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.32f, KeyframeAnimations.degreeVec(45f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.08f, KeyframeAnimations.degreeVec(-12.5f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.92f, KeyframeAnimations.degreeVec(75f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6f, KeyframeAnimations.degreeVec(360f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("twist_control5", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(0.64f, KeyframeAnimations.degreeVec(0f, -3.55f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.12f, KeyframeAnimations.degreeVec(0f, 89.61f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.28f, KeyframeAnimations.degreeVec(0f, 78f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.12f, KeyframeAnimations.degreeVec(0f, -0.68f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.96f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone304", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(0.64f, KeyframeAnimations.degreeVec(0f, 145.28f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.24f, KeyframeAnimations.degreeVec(0f, 172.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.08f, KeyframeAnimations.degreeVec(0f, 148.07f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.52f, KeyframeAnimations.degreeVec(0f, 242.4f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.92f, KeyframeAnimations.degreeVec(0f, 149.21f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.76f, KeyframeAnimations.degreeVec(0f, -17.88f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.56f, KeyframeAnimations.degreeVec(0f, 12.08f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.08f, KeyframeAnimations.degreeVec(0f, 114.94f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.24f, KeyframeAnimations.degreeVec(0f, 43.99f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.48f, KeyframeAnimations.degreeVec(0f, -28.13f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.96f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone158", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(0.2f, KeyframeAnimations.degreeVec(0f, 0f, -9.46f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.76f, KeyframeAnimations.degreeVec(0f, 0f, -16.5f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.88f, KeyframeAnimations.degreeVec(0f, 0f, -6.76f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.68f, KeyframeAnimations.degreeVec(0f, 0f, 22.05f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.16f, KeyframeAnimations.degreeVec(0f, 0f, -6.93f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.56f, KeyframeAnimations.degreeVec(0f, 0f, -5.29f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.04f, KeyframeAnimations.degreeVec(0f, 0f, -0.37f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.08f, KeyframeAnimations.degreeVec(0f, 0f, -26.14f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.72f, KeyframeAnimations.degreeVec(0f, 0f, -1.12f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone160", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(0.84f, KeyframeAnimations.scaleVec(1f, 1.02f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.76f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.08f, KeyframeAnimations.scaleVec(1f, 1.02f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.6f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.96f, KeyframeAnimations.scaleVec(1f, 1.01f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone162", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6f, KeyframeAnimations.degreeVec(360f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone168", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.92f, KeyframeAnimations.degreeVec(-23.38f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2f, KeyframeAnimations.degreeVec(-38.67f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.12f, KeyframeAnimations.degreeVec(-36.05f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.92f, KeyframeAnimations.degreeVec(-30f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3f, KeyframeAnimations.degreeVec(-32.18f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.64f, KeyframeAnimations.degreeVec(7.13f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.72f, KeyframeAnimations.degreeVec(4f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.96f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone214", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.28f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.08f, KeyframeAnimations.scaleVec(1f, 0.89f, 1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.16f, KeyframeAnimations.scaleVec(1f, 1.11f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.4f, KeyframeAnimations.scaleVec(1f, 0.86f, 1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(6f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone199", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.92f, KeyframeAnimations.degreeVec(2.5f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.28f, KeyframeAnimations.degreeVec(-0.42f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone199", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.04f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.24f, KeyframeAnimations.scaleVec(1f, 1.11f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.36f, KeyframeAnimations.scaleVec(1f, 0.95f, 1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.64f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.4f, KeyframeAnimations.scaleVec(1f, 0.95f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone201", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(0.96f, KeyframeAnimations.degreeVec(-0.49762f, -0.10901f, -2.49762f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.52f, KeyframeAnimations.degreeVec(-0.18629f, -0.03599f, -1.54004f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.12f, KeyframeAnimations.degreeVec(0.48863f, -0.07771f, -6.39983f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.36f, KeyframeAnimations.degreeVec(2.49762f, -0.10901f, 1.49762f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone210", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0.08f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.92f, KeyframeAnimations.degreeVec(2.5f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.28f, KeyframeAnimations.degreeVec(-0.42f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone210", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0.48f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.56f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.4f, KeyframeAnimations.scaleVec(1f, 0.95f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("rotor", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.96f, KeyframeAnimations.posVec(0f, 3.98f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.04f, KeyframeAnimations.posVec(0f, 4f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.28f, KeyframeAnimations.posVec(0f, 0.11f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.04f, KeyframeAnimations.posVec(0f, -2.88f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4f, KeyframeAnimations.posVec(0f, -4f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.8f, KeyframeAnimations.posVec(0f, -0.22f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(6f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("rotor", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.08f, KeyframeAnimations.degreeVec(0f, -5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2f, KeyframeAnimations.degreeVec(0f, -1.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.12f, KeyframeAnimations.degreeVec(0f, 4.2f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.28f, KeyframeAnimations.degreeVec(0f, 5.2f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.56f, KeyframeAnimations.degreeVec(0f, 4f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5f, KeyframeAnimations.degreeVec(0f, -5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("rotor", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.28f, KeyframeAnimations.scaleVec(1f, 1.02f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.68f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("valve_control2", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2f, KeyframeAnimations.degreeVec(0f, -98.31f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.6f, KeyframeAnimations.degreeVec(0f, -90f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.96f, KeyframeAnimations.degreeVec(0f, -180f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("valve_control3", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0.2f, KeyframeAnimations.degreeVec(0f, 1f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.2f, KeyframeAnimations.degreeVec( - 0f, 72.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.84f, KeyframeAnimations.degreeVec(0f, 129.29f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.16f, KeyframeAnimations.degreeVec(0f, 114.07f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.92f, KeyframeAnimations.degreeVec(0f, 44.19f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.28f, KeyframeAnimations.degreeVec( - 0f, 53.21f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.68f, KeyframeAnimations.degreeVec(0f, 60.83f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.52f, KeyframeAnimations.degreeVec( - 0f, -4.92f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.24f, KeyframeAnimations.degreeVec( - 0f, 55.99f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.96f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone208", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(0.4f, KeyframeAnimations.degreeVec(0f, -0.31f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.12f, KeyframeAnimations.degreeVec(0f, 1.89f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.56f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.44f, KeyframeAnimations.degreeVec(0f, -2f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.88f, KeyframeAnimations.degreeVec(0f, 4.01f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.12f, KeyframeAnimations.degreeVec(0f, 5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.44f, KeyframeAnimations.degreeVec(0f, 4.66f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.64f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.96f, KeyframeAnimations.degreeVec(0f, -4.26f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.48f, KeyframeAnimations.degreeVec(0f, -3f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.76f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone209", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(0.56f, KeyframeAnimations.degreeVec(0f, -1.31f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.28f, KeyframeAnimations.degreeVec(0f, 0.89f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.72f, KeyframeAnimations.degreeVec(0f, -1f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.84f, KeyframeAnimations.degreeVec(0f, -2f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.28f, KeyframeAnimations.degreeVec(0f, 4.01f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.52f, KeyframeAnimations.degreeVec(0f, 5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.84f, KeyframeAnimations.degreeVec(0f, 4.66f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.04f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.36f, KeyframeAnimations.degreeVec(0f, -4.26f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.88f, KeyframeAnimations.degreeVec(0f, -3f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.76f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone253", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0.04f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.6f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.48f, KeyframeAnimations.degreeVec(-7f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.16f, KeyframeAnimations.degreeVec(1.98f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.68f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.48f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.8f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("twist_control3", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(0.68f, KeyframeAnimations.degreeVec(1.3f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.32f, KeyframeAnimations.degreeVec(-0.94f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.56f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.16f, KeyframeAnimations.degreeVec(-0.4f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.2f, KeyframeAnimations.degreeVec(11.15f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.28f, KeyframeAnimations.degreeVec(11.15f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.44f, KeyframeAnimations.degreeVec(-3.22f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.6f, KeyframeAnimations.degreeVec(-3f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.84f, KeyframeAnimations.degreeVec(1.23f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.28f, KeyframeAnimations.degreeVec(0.98f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.72f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.24f, KeyframeAnimations.degreeVec(-0.99f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.04f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.44f, KeyframeAnimations.degreeVec(0.47f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("spinthing_control", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3f, KeyframeAnimations.degreeVec(0f, 90f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("spinthingP2_control", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(-1f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.96f, KeyframeAnimations.degreeVec(-45f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.16f, KeyframeAnimations.degreeVec(1.25f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.32f, KeyframeAnimations.degreeVec(3.4f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.8f, KeyframeAnimations.degreeVec(-11.74f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3f, KeyframeAnimations.degreeVec(-15.78f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4f, KeyframeAnimations.degreeVec(10f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("valve_control4", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.56f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.44f, KeyframeAnimations.degreeVec(0f, -2f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.12f, KeyframeAnimations.degreeVec(0f, 2f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.64f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.48f, KeyframeAnimations.degreeVec(0f, -1f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.76f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("valve_control7", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.64f, KeyframeAnimations.degreeVec(0f, -135.23f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.6f, KeyframeAnimations.degreeVec(0f, -90f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.96f, KeyframeAnimations.degreeVec(0f, -720f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("valve_control6", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0.4f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.2f, KeyframeAnimations.degreeVec(0f, 360f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6f, KeyframeAnimations.degreeVec(0f, -1440f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("twist_control4", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.52f, KeyframeAnimations.degreeVec(0f, -86.04f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.6f, KeyframeAnimations.degreeVec(0f, -64.6f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.96f, KeyframeAnimations.degreeVec(0f, -360f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("pulley_control", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(2.2f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.32f, KeyframeAnimations.posVec(-1.46f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.44f, KeyframeAnimations.posVec(-1.5f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.96f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("pulley_control", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(2.28f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("valve_control8", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0.08f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.88f, KeyframeAnimations.degreeVec(-7.5f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.04f, KeyframeAnimations.degreeVec(-18.8f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.12f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.08f, KeyframeAnimations.degreeVec(220f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.68f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone219", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(1.8f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.08f, KeyframeAnimations.degreeVec(0f, 0f, 0.65f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.44f, KeyframeAnimations.degreeVec( - 0f, 0f, -20f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.76f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR))).build(); - - private static final ResourceLocation COPPER_TEXTURE = new ResourceLocation(TardisRefined.MODID, "textures/blockentity/console/copper/copper_console.png"); - - private final ModelPart root; - private final ModelPart rotor; - private final ModelPart misc; - private final ModelPart misc2; - private final ModelPart misc3; - private final ModelPart misc4; - private final ModelPart misc5; - private final ModelPart north_left; - private final ModelPart north_right; - private final ModelPart east; - private final ModelPart south_right; - private final ModelPart south_left; - private final ModelPart west; - private final ModelPart modelRoot; - private final ModelPart throttle; - private final ModelPart handbrake; - - public CopperConsoleModel(ModelPart root) { - this.modelRoot = root; - this.root = root.getChild("root"); - this.rotor = root.getChild("rotor"); - this.misc = root.getChild("misc"); - this.misc2 = root.getChild("misc2"); - this.misc3 = root.getChild("misc3"); - this.misc4 = root.getChild("misc4"); - this.misc5 = root.getChild("misc5"); - this.north_left = root.getChild("north_left"); - this.north_right = root.getChild("north_right"); - this.east = root.getChild("east"); - this.south_right = root.getChild("south_right"); - 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 = findPart(this, "lever_control8"); - } - - public static LayerDefinition createBodyLayer() { - MeshDefinition meshdefinition = new MeshDefinition(); - PartDefinition partdefinition = meshdefinition.getRoot(); - - PartDefinition root = partdefinition.addOrReplaceChild("root", CubeListBuilder.create().texOffs(0, 46).addBox(-2.0F, -72.0F, -2.0F, 4.0F, 53.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 21.0F, 0.0F)); - - PartDefinition base = root.addOrReplaceChild("base", CubeListBuilder.create(), PartPose.offset(0.0F, 0.0F, 0.0F)); + public static final AnimationDefinition LOOP = AnimationDefinition.Builder.withLength(6f).looping() + .addAnimation("pulley_control5", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(0.56f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.68f, KeyframeAnimations.scaleVec(1f, 1.02f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.52f, KeyframeAnimations.scaleVec(1f, 0.98f, 1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.76f, KeyframeAnimations.scaleVec(1f, 0.93f, 1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(6f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("ball_rotate_control", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(0.36f, KeyframeAnimations.degreeVec(0f, -52.11f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.88f, KeyframeAnimations.degreeVec(0f, 150.8f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.6f, KeyframeAnimations.degreeVec(0f, 139.76f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.2f, KeyframeAnimations.degreeVec(0f, 197f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.6f, KeyframeAnimations.degreeVec(0f, 216.16f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.52f, KeyframeAnimations.degreeVec(0f, 137.4f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.64f, KeyframeAnimations.degreeVec(0f, 169.1f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.92f, KeyframeAnimations.degreeVec(0f, 139.76f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.2f, KeyframeAnimations.degreeVec(0f, 80.31f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.72f, KeyframeAnimations.degreeVec(0f, 103.83f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.96f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone193", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1f, KeyframeAnimations.degreeVec( + 0f, 34.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.32f, KeyframeAnimations.degreeVec(0f, 40.29f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.56f, KeyframeAnimations.degreeVec(0f, 0.69f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.28f, KeyframeAnimations.degreeVec(0f, -21.93f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.56f, KeyframeAnimations.degreeVec( + 0f, -5.92f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.92f, KeyframeAnimations.degreeVec(0f, -0.29f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.24f, KeyframeAnimations.degreeVec( + 0f, 17.99f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.48f, KeyframeAnimations.degreeVec(0f, 26.48f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.96f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone194", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1f, KeyframeAnimations.degreeVec( + 0f, 104.5f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.72f, KeyframeAnimations.degreeVec(0f, 173.76f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.96f, KeyframeAnimations.degreeVec(0f, 158.07f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.28f, KeyframeAnimations.degreeVec( + 0f, 53.21f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.56f, KeyframeAnimations.degreeVec(0f, 58.04f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.56f, KeyframeAnimations.degreeVec( + 0f, -5.92f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.96f, KeyframeAnimations.degreeVec(0f, 43.15f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.24f, KeyframeAnimations.degreeVec( + 0f, 30.69f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.96f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("valve_control", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.96f, KeyframeAnimations.degreeVec(0f, 360f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("valve_control5", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(0.64f, KeyframeAnimations.posVec(0f, 0.1f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(0.72f, KeyframeAnimations.posVec(0f, 0.15f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.8f, KeyframeAnimations.posVec(0f, -0.08f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.64f, KeyframeAnimations.posVec(0f, 0.11f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.8f, KeyframeAnimations.posVec(0f, -0.03f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.28f, KeyframeAnimations.posVec(0f, 0.23f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("valve_control5", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(0.84f, KeyframeAnimations.degreeVec(0f, 11.21f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.32f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.8f, KeyframeAnimations.degreeVec(0f, -5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.04f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.16f, KeyframeAnimations.degreeVec(0f, 30f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.96f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone237", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(0.88f, KeyframeAnimations.degreeVec(204.15f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.24f, KeyframeAnimations.degreeVec(172.5f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.56f, KeyframeAnimations.degreeVec(96.62f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.96f, KeyframeAnimations.degreeVec(158.07f, + 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.24f, KeyframeAnimations.degreeVec(164.64f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.48f, KeyframeAnimations.degreeVec(52.1f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.88f, KeyframeAnimations.degreeVec(81.21f, + 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.48f, KeyframeAnimations.degreeVec(132.45f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.56f, KeyframeAnimations.degreeVec(12.08f, + 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.84f, KeyframeAnimations.degreeVec(58.5f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.24f, KeyframeAnimations.degreeVec(43.99f, + 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.96f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone251", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.24f, KeyframeAnimations.degreeVec(-82.5f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.28f, KeyframeAnimations.degreeVec(-104.93f, + 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.88f, KeyframeAnimations.degreeVec(26.21f, + 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.6f, KeyframeAnimations.degreeVec(91.08f, + 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.24f, KeyframeAnimations.degreeVec(43.99f, + 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.96f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone252", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.32f, KeyframeAnimations.degreeVec(45f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.08f, KeyframeAnimations.degreeVec(-12.5f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.92f, KeyframeAnimations.degreeVec(75f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("twist_control5", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(0.64f, KeyframeAnimations.degreeVec(0f, -3.55f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.12f, KeyframeAnimations.degreeVec(0f, 89.61f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.28f, KeyframeAnimations.degreeVec(0f, 78f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.12f, KeyframeAnimations.degreeVec(0f, -0.68f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.96f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone304", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(0.64f, KeyframeAnimations.degreeVec(0f, 145.28f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.24f, KeyframeAnimations.degreeVec(0f, 172.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.08f, KeyframeAnimations.degreeVec(0f, 148.07f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.52f, KeyframeAnimations.degreeVec(0f, 242.4f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.92f, KeyframeAnimations.degreeVec(0f, 149.21f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.76f, KeyframeAnimations.degreeVec(0f, -17.88f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.56f, KeyframeAnimations.degreeVec(0f, 12.08f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.08f, KeyframeAnimations.degreeVec(0f, 114.94f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.24f, KeyframeAnimations.degreeVec(0f, 43.99f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.48f, KeyframeAnimations.degreeVec(0f, -28.13f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.96f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone158", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.6f, KeyframeAnimations.degreeVec(0f, 0f, -16.5f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.88f, KeyframeAnimations.degreeVec(0f, 0f, -6.76f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.68f, KeyframeAnimations.degreeVec(0f, 0f, 22.05f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.24f, KeyframeAnimations.degreeVec(0f, 0f, -6.93f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.56f, KeyframeAnimations.degreeVec(0f, 0f, -5.29f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4f, KeyframeAnimations.degreeVec(0f, 0f, -0.21f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.08f, KeyframeAnimations.degreeVec(0f, 0f, -26.14f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone162", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6f, KeyframeAnimations.degreeVec(360f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone168", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.92f, KeyframeAnimations.degreeVec(-30f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.72f, KeyframeAnimations.degreeVec(5f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.96f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone214", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(0.96f, KeyframeAnimations.scaleVec(1f, 1.05f, 1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.28f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.4f, KeyframeAnimations.scaleVec(1f, 0.86f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone199", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.92f, KeyframeAnimations.degreeVec(2.5f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.28f, KeyframeAnimations.degreeVec(-0.42f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone199", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.84f, KeyframeAnimations.scaleVec(1f, 1.05f, 1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.56f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.4f, KeyframeAnimations.scaleVec(1f, 0.95f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone201", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(0.96f, KeyframeAnimations.degreeVec(-0.49762f, -0.10901f, -2.49762f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.36f, KeyframeAnimations.degreeVec(2.49762f, -0.10901f, 1.49762f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone210", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0.08f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.92f, KeyframeAnimations.degreeVec(2.5f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.28f, KeyframeAnimations.degreeVec(-0.42f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone210", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0.48f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.84f, KeyframeAnimations.scaleVec(1f, 1.05f, 1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.56f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.4f, KeyframeAnimations.scaleVec(1f, 0.95f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("valve_control2", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2f, KeyframeAnimations.degreeVec(0f, -98.31f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.6f, KeyframeAnimations.degreeVec(0f, -90f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.96f, KeyframeAnimations.degreeVec(0f, -180f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("valve_control3", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 1f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1f, KeyframeAnimations.degreeVec( + 0f, 72.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.64f, KeyframeAnimations.degreeVec(0f, 129.29f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.96f, KeyframeAnimations.degreeVec(0f, 114.07f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.72f, KeyframeAnimations.degreeVec(0f, 44.19f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.08f, KeyframeAnimations.degreeVec( + 0f, 53.21f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.48f, KeyframeAnimations.degreeVec(0f, 60.83f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.32f, KeyframeAnimations.degreeVec( + 0f, -4.92f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.04f, KeyframeAnimations.degreeVec( + 0f, 55.99f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.76f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone208", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(0.56f, KeyframeAnimations.degreeVec(0f, -1.31f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.28f, KeyframeAnimations.degreeVec(0f, 0.89f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.72f, KeyframeAnimations.degreeVec(0f, -1f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.84f, KeyframeAnimations.degreeVec(0f, -2f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.28f, KeyframeAnimations.degreeVec(0f, 4.01f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.52f, KeyframeAnimations.degreeVec(0f, 5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.84f, KeyframeAnimations.degreeVec(0f, 4.66f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.04f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.36f, KeyframeAnimations.degreeVec(0f, -4.26f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.88f, KeyframeAnimations.degreeVec(0f, -3f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.76f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone209", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(0.56f, KeyframeAnimations.degreeVec(0f, -1.31f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.28f, KeyframeAnimations.degreeVec(0f, 0.89f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.72f, KeyframeAnimations.degreeVec(0f, -1f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.84f, KeyframeAnimations.degreeVec(0f, -2f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.28f, KeyframeAnimations.degreeVec(0f, 4.01f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.52f, KeyframeAnimations.degreeVec(0f, 5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.84f, KeyframeAnimations.degreeVec(0f, 4.66f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.04f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.36f, KeyframeAnimations.degreeVec(0f, -4.26f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.88f, KeyframeAnimations.degreeVec(0f, -3f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.76f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone253", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.56f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.44f, KeyframeAnimations.degreeVec(-7f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.12f, KeyframeAnimations.degreeVec(1.98f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.64f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.44f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.76f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("twist_control3", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(0.52f, KeyframeAnimations.degreeVec(1.36f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.56f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.64f, KeyframeAnimations.degreeVec(0.29f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.44f, KeyframeAnimations.degreeVec(-3f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.12f, KeyframeAnimations.degreeVec(0.98f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.64f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.12f, KeyframeAnimations.degreeVec(0.65f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.44f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.88f, KeyframeAnimations.degreeVec(-0.96f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.76f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("spinthing_control", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3f, KeyframeAnimations.degreeVec(0f, 90f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("spinthingP2_control", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(-1f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.96f, KeyframeAnimations.degreeVec(-45f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4f, KeyframeAnimations.degreeVec(10f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("valve_control4", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(0.32f, KeyframeAnimations.degreeVec(0f, -0.44f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1f, KeyframeAnimations.degreeVec(0f, 0.77f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.56f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.44f, KeyframeAnimations.degreeVec(0f, -2f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.76f, KeyframeAnimations.degreeVec(0f, 0.69f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.12f, KeyframeAnimations.degreeVec(0f, 2f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.44f, KeyframeAnimations.degreeVec(0f, -0.35f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.64f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.8f, KeyframeAnimations.degreeVec(0f, 0.31f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.04f, KeyframeAnimations.degreeVec(0f, -1.8f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.48f, KeyframeAnimations.degreeVec(0f, -1f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.88f, KeyframeAnimations.degreeVec(0f, 0.33f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.76f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("valve_control7", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.72f, KeyframeAnimations.degreeVec(0f, -91.36f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.6f, KeyframeAnimations.degreeVec(0f, -90f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.4f, KeyframeAnimations.degreeVec(0f, -79.8f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.96f, KeyframeAnimations.degreeVec(0f, -180f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("valve_control6", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0.4f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(0.68f, KeyframeAnimations.degreeVec(0f, 77.36f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.2f, KeyframeAnimations.degreeVec(0f, -200f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(6f, KeyframeAnimations.degreeVec(0f, -360f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("twist_control4", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.52f, KeyframeAnimations.degreeVec(0f, -86.04f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.6f, KeyframeAnimations.degreeVec(0f, -64.6f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.96f, KeyframeAnimations.degreeVec(0f, -360f, 0f), + AnimationChannel.Interpolations.CATMULLROM))).build(); + public static final AnimationDefinition FLIGHT = AnimationDefinition.Builder.withLength(6f).looping() + .addAnimation("bone312", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(1.72f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.96f, KeyframeAnimations.posVec(0f, -0.095f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.44f, KeyframeAnimations.posVec(0f, 0.035f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.76f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone312", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.04f, KeyframeAnimations.degreeVec(0.4f, 0f, -0.1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.84f, KeyframeAnimations.degreeVec(-0.1f, 0f, 0.1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.72f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("pulley_control5", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(0.56f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.08f, KeyframeAnimations.scaleVec(1f, 1.08f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.32f, KeyframeAnimations.scaleVec(1f, 1.1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.36f, KeyframeAnimations.scaleVec(1f, 1.11f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.6f, KeyframeAnimations.scaleVec(1f, 0.93f, 1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.8f, KeyframeAnimations.scaleVec(1f, 1.09f, 1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.96f, KeyframeAnimations.scaleVec(1f, 1.02f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.52f, KeyframeAnimations.scaleVec(1f, 0.98f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.84f, KeyframeAnimations.scaleVec(1f, 0.93f, 1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(6f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("ball_rotate_control", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(0.36f, KeyframeAnimations.degreeVec(0f, -52.11f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(0.72f, KeyframeAnimations.degreeVec(0f, 18.04f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(0.88f, KeyframeAnimations.degreeVec(0f, 150.8f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.12f, KeyframeAnimations.degreeVec(0f, 73.75f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.2f, KeyframeAnimations.degreeVec(0f, 776.26f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.32f, KeyframeAnimations.degreeVec(0f, 808.66f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.4f, KeyframeAnimations.degreeVec(0f, 600f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.64f, KeyframeAnimations.degreeVec(0f, 277.08f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.52f, KeyframeAnimations.degreeVec(0f, 112.9f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.68f, KeyframeAnimations.degreeVec(0f, 168.81f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.92f, KeyframeAnimations.degreeVec(0f, 139.76f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.24f, KeyframeAnimations.degreeVec(0f, 70.85f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.68f, KeyframeAnimations.degreeVec(0f, 81.23f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.08f, KeyframeAnimations.degreeVec(0f, 110.98f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.96f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone193", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.12f, KeyframeAnimations.degreeVec( + 0f, 42.5f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.28f, KeyframeAnimations.degreeVec(0f, -21.93f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.4f, KeyframeAnimations.degreeVec(0f, 94.26f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.56f, KeyframeAnimations.degreeVec( + 0f, -5.92f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.52f, KeyframeAnimations.degreeVec(0f, 26.44f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.96f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone194", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1f, KeyframeAnimations.degreeVec( + 0f, 104.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.08f, KeyframeAnimations.degreeVec(0f, 77.23f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.28f, KeyframeAnimations.degreeVec(0f, 221.34f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.04f, KeyframeAnimations.degreeVec(0f, 56.22f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.52f, KeyframeAnimations.degreeVec(0f, 58.75f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.56f, KeyframeAnimations.degreeVec( + 0f, -5.92f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.24f, KeyframeAnimations.degreeVec( + 0f, 43.99f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.96f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("valve_control", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.12f, KeyframeAnimations.degreeVec(0f, 128.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.96f, KeyframeAnimations.degreeVec(0f, -1440f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("valve_control5", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(0.64f, KeyframeAnimations.posVec(0f, 0.1f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(0.72f, KeyframeAnimations.posVec(0f, 0.15f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.8f, KeyframeAnimations.posVec(0f, -0.08f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.64f, KeyframeAnimations.posVec(0f, 0.11f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.8f, KeyframeAnimations.posVec(0f, -0.03f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.28f, KeyframeAnimations.posVec(0f, 0.23f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("valve_control5", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(0.84f, KeyframeAnimations.degreeVec(0f, 11.21f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.32f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.8f, KeyframeAnimations.degreeVec(0f, -5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.04f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.16f, KeyframeAnimations.degreeVec(0f, 30f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.96f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone237", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.48f, KeyframeAnimations.degreeVec(227.72f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.96f, KeyframeAnimations.degreeVec(158.07f, + 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.52f, KeyframeAnimations.degreeVec(-109.42f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.88f, KeyframeAnimations.degreeVec(81.21f, + 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.16f, KeyframeAnimations.degreeVec(192.14f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.84f, KeyframeAnimations.degreeVec(-15.76f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.24f, KeyframeAnimations.degreeVec(43.99f, + 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.6f, KeyframeAnimations.degreeVec(457.7f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.96f, KeyframeAnimations.degreeVec(360f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone251", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(0.44f, KeyframeAnimations.degreeVec(12.31f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.24f, KeyframeAnimations.degreeVec(-82.5f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.28f, KeyframeAnimations.degreeVec(-104.93f, + 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.88f, KeyframeAnimations.degreeVec(26.21f, + 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.92f, KeyframeAnimations.degreeVec(118.03f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.6f, KeyframeAnimations.degreeVec(91.08f, + 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.96f, KeyframeAnimations.degreeVec(360f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone252", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.32f, KeyframeAnimations.degreeVec(45f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.08f, KeyframeAnimations.degreeVec(-12.5f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.92f, KeyframeAnimations.degreeVec(75f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6f, KeyframeAnimations.degreeVec(360f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("twist_control5", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(0.64f, KeyframeAnimations.degreeVec(0f, -3.55f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.12f, KeyframeAnimations.degreeVec(0f, 89.61f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.28f, KeyframeAnimations.degreeVec(0f, 78f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.12f, KeyframeAnimations.degreeVec(0f, -0.68f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.96f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone304", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(0.64f, KeyframeAnimations.degreeVec(0f, 145.28f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.24f, KeyframeAnimations.degreeVec(0f, 172.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.08f, KeyframeAnimations.degreeVec(0f, 148.07f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.52f, KeyframeAnimations.degreeVec(0f, 242.4f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.92f, KeyframeAnimations.degreeVec(0f, 149.21f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.76f, KeyframeAnimations.degreeVec(0f, -17.88f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.56f, KeyframeAnimations.degreeVec(0f, 12.08f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.08f, KeyframeAnimations.degreeVec(0f, 114.94f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.24f, KeyframeAnimations.degreeVec(0f, 43.99f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.48f, KeyframeAnimations.degreeVec(0f, -28.13f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.96f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone158", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(0.2f, KeyframeAnimations.degreeVec(0f, 0f, -9.46f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.76f, KeyframeAnimations.degreeVec(0f, 0f, -16.5f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.88f, KeyframeAnimations.degreeVec(0f, 0f, -6.76f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.68f, KeyframeAnimations.degreeVec(0f, 0f, 22.05f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.16f, KeyframeAnimations.degreeVec(0f, 0f, -6.93f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.56f, KeyframeAnimations.degreeVec(0f, 0f, -5.29f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.04f, KeyframeAnimations.degreeVec(0f, 0f, -0.37f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.08f, KeyframeAnimations.degreeVec(0f, 0f, -26.14f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.72f, KeyframeAnimations.degreeVec(0f, 0f, -1.12f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone160", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(0.84f, KeyframeAnimations.scaleVec(1f, 1.02f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.76f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.08f, KeyframeAnimations.scaleVec(1f, 1.02f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.6f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.96f, KeyframeAnimations.scaleVec(1f, 1.01f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone162", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6f, KeyframeAnimations.degreeVec(360f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone168", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.92f, KeyframeAnimations.degreeVec(-23.38f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2f, KeyframeAnimations.degreeVec(-38.67f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.12f, KeyframeAnimations.degreeVec(-36.05f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.92f, KeyframeAnimations.degreeVec(-30f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3f, KeyframeAnimations.degreeVec(-32.18f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.64f, KeyframeAnimations.degreeVec(7.13f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.72f, KeyframeAnimations.degreeVec(4f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.96f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone214", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.28f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.08f, KeyframeAnimations.scaleVec(1f, 0.89f, 1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.16f, KeyframeAnimations.scaleVec(1f, 1.11f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.4f, KeyframeAnimations.scaleVec(1f, 0.86f, 1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(6f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone199", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.92f, KeyframeAnimations.degreeVec(2.5f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.28f, KeyframeAnimations.degreeVec(-0.42f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone199", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.04f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.24f, KeyframeAnimations.scaleVec(1f, 1.11f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.36f, KeyframeAnimations.scaleVec(1f, 0.95f, 1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.64f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.4f, KeyframeAnimations.scaleVec(1f, 0.95f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone201", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(0.96f, KeyframeAnimations.degreeVec(-0.49762f, -0.10901f, -2.49762f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.52f, KeyframeAnimations.degreeVec(-0.18629f, -0.03599f, -1.54004f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.12f, KeyframeAnimations.degreeVec(0.48863f, -0.07771f, -6.39983f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.36f, KeyframeAnimations.degreeVec(2.49762f, -0.10901f, 1.49762f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone210", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0.08f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.92f, KeyframeAnimations.degreeVec(2.5f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.28f, KeyframeAnimations.degreeVec(-0.42f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone210", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0.48f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.56f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.4f, KeyframeAnimations.scaleVec(1f, 0.95f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("rotor", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.96f, KeyframeAnimations.posVec(0f, 3.98f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.04f, KeyframeAnimations.posVec(0f, 4f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.28f, KeyframeAnimations.posVec(0f, 0.11f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.04f, KeyframeAnimations.posVec(0f, -2.88f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4f, KeyframeAnimations.posVec(0f, -4f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.8f, KeyframeAnimations.posVec(0f, -0.22f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(6f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("rotor", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.08f, KeyframeAnimations.degreeVec(0f, -5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2f, KeyframeAnimations.degreeVec(0f, -1.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.12f, KeyframeAnimations.degreeVec(0f, 4.2f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.28f, KeyframeAnimations.degreeVec(0f, 5.2f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.56f, KeyframeAnimations.degreeVec(0f, 4f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5f, KeyframeAnimations.degreeVec(0f, -5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("rotor", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.28f, KeyframeAnimations.scaleVec(1f, 1.02f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.68f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("valve_control2", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2f, KeyframeAnimations.degreeVec(0f, -98.31f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.6f, KeyframeAnimations.degreeVec(0f, -90f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.96f, KeyframeAnimations.degreeVec(0f, -180f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("valve_control3", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0.2f, KeyframeAnimations.degreeVec(0f, 1f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.2f, KeyframeAnimations.degreeVec( + 0f, 72.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.84f, KeyframeAnimations.degreeVec(0f, 129.29f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.16f, KeyframeAnimations.degreeVec(0f, 114.07f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.92f, KeyframeAnimations.degreeVec(0f, 44.19f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.28f, KeyframeAnimations.degreeVec( + 0f, 53.21f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.68f, KeyframeAnimations.degreeVec(0f, 60.83f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.52f, KeyframeAnimations.degreeVec( + 0f, -4.92f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.24f, KeyframeAnimations.degreeVec( + 0f, 55.99f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.96f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone208", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(0.4f, KeyframeAnimations.degreeVec(0f, -0.31f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.12f, KeyframeAnimations.degreeVec(0f, 1.89f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.56f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.44f, KeyframeAnimations.degreeVec(0f, -2f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.88f, KeyframeAnimations.degreeVec(0f, 4.01f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.12f, KeyframeAnimations.degreeVec(0f, 5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.44f, KeyframeAnimations.degreeVec(0f, 4.66f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.64f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.96f, KeyframeAnimations.degreeVec(0f, -4.26f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.48f, KeyframeAnimations.degreeVec(0f, -3f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.76f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone209", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(0.56f, KeyframeAnimations.degreeVec(0f, -1.31f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.28f, KeyframeAnimations.degreeVec(0f, 0.89f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.72f, KeyframeAnimations.degreeVec(0f, -1f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.84f, KeyframeAnimations.degreeVec(0f, -2f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.28f, KeyframeAnimations.degreeVec(0f, 4.01f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.52f, KeyframeAnimations.degreeVec(0f, 5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.84f, KeyframeAnimations.degreeVec(0f, 4.66f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.04f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.36f, KeyframeAnimations.degreeVec(0f, -4.26f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.88f, KeyframeAnimations.degreeVec(0f, -3f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.76f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone253", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0.04f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.6f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.48f, KeyframeAnimations.degreeVec(-7f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.16f, KeyframeAnimations.degreeVec(1.98f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.68f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.48f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.8f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("twist_control3", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(0.68f, KeyframeAnimations.degreeVec(1.3f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.32f, KeyframeAnimations.degreeVec(-0.94f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.56f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.16f, KeyframeAnimations.degreeVec(-0.4f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.2f, KeyframeAnimations.degreeVec(11.15f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.28f, KeyframeAnimations.degreeVec(11.15f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.44f, KeyframeAnimations.degreeVec(-3.22f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.6f, KeyframeAnimations.degreeVec(-3f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.84f, KeyframeAnimations.degreeVec(1.23f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.28f, KeyframeAnimations.degreeVec(0.98f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.72f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.24f, KeyframeAnimations.degreeVec(-0.99f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.04f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.44f, KeyframeAnimations.degreeVec(0.47f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("spinthing_control", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3f, KeyframeAnimations.degreeVec(0f, 90f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("spinthingP2_control", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(-1f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.96f, KeyframeAnimations.degreeVec(-45f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.16f, KeyframeAnimations.degreeVec(1.25f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.32f, KeyframeAnimations.degreeVec(3.4f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.8f, KeyframeAnimations.degreeVec(-11.74f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3f, KeyframeAnimations.degreeVec(-15.78f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4f, KeyframeAnimations.degreeVec(10f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("valve_control4", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.56f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.44f, KeyframeAnimations.degreeVec(0f, -2f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.12f, KeyframeAnimations.degreeVec(0f, 2f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.64f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.48f, KeyframeAnimations.degreeVec(0f, -1f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.76f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("valve_control7", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.64f, KeyframeAnimations.degreeVec(0f, -135.23f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.6f, KeyframeAnimations.degreeVec(0f, -90f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.96f, KeyframeAnimations.degreeVec(0f, -720f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("valve_control6", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0.4f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.2f, KeyframeAnimations.degreeVec(0f, 360f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6f, KeyframeAnimations.degreeVec(0f, -1440f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("twist_control4", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.52f, KeyframeAnimations.degreeVec(0f, -86.04f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.6f, KeyframeAnimations.degreeVec(0f, -64.6f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.96f, KeyframeAnimations.degreeVec(0f, -360f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("pulley_control", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(2.2f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.32f, KeyframeAnimations.posVec(-1.46f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.44f, KeyframeAnimations.posVec(-1.5f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.96f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("pulley_control", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(2.28f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("valve_control8", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0.08f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.88f, KeyframeAnimations.degreeVec(-7.5f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.04f, KeyframeAnimations.degreeVec(-18.8f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.12f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.08f, KeyframeAnimations.degreeVec(220f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.68f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone219", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(1.8f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.08f, KeyframeAnimations.degreeVec(0f, 0f, 0.65f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.44f, KeyframeAnimations.degreeVec( + 0f, 0f, -20f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.76f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR))).build(); + + private static final ResourceLocation COPPER_TEXTURE = new ResourceLocation(TardisRefined.MODID, "textures/blockentity/console/copper/copper_console.png"); + + private final ModelPart root; + private final ModelPart rotor; + private final ModelPart misc; + private final ModelPart misc2; + private final ModelPart misc3; + private final ModelPart misc4; + private final ModelPart misc5; + private final ModelPart north_left; + private final ModelPart north_right; + private final ModelPart east; + private final ModelPart south_right; + private final ModelPart south_left; + private final ModelPart west; + private final ModelPart modelRoot; + private final ModelPart throttle; + private final ModelPart handbrake; + + public CopperConsoleModel(ModelPart root) { + this.modelRoot = root; + this.root = root.getChild("root"); + this.rotor = root.getChild("rotor"); + this.misc = root.getChild("misc"); + this.misc2 = root.getChild("misc2"); + this.misc3 = root.getChild("misc3"); + this.misc4 = root.getChild("misc4"); + this.misc5 = root.getChild("misc5"); + this.north_left = root.getChild("north_left"); + this.north_right = root.getChild("north_right"); + this.east = root.getChild("east"); + this.south_right = root.getChild("south_right"); + 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 = findPart(this, "lever_control8"); + } + + public static LayerDefinition createBodyLayer() { + MeshDefinition meshdefinition = new MeshDefinition(); + PartDefinition partdefinition = meshdefinition.getRoot(); + + PartDefinition root = partdefinition.addOrReplaceChild("root", CubeListBuilder.create().texOffs(0, 46).addBox(-2.0F, -72.0F, -2.0F, 4.0F, 53.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 21.0F, 0.0F)); - PartDefinition bone56 = base.addOrReplaceChild("bone56", CubeListBuilder.create().texOffs(43, 28).addBox(-11.5F, -6.5F, 2.5F, 2.0F, 10.0F, 3.0F, new CubeDeformation(0.0F)) - .texOffs(43, 28).addBox(-11.5F, -6.5F, -5.5F, 2.0F, 10.0F, 3.0F, new CubeDeformation(0.0F)) - .texOffs(114, 72).addBox(-10.5F, -6.5F, -3.0F, 1.0F, 10.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offset(0.5F, -0.5F, 0.0F)); + PartDefinition base = root.addOrReplaceChild("base", CubeListBuilder.create(), PartPose.offset(0.0F, 0.0F, 0.0F)); - PartDefinition bone49 = base.addOrReplaceChild("bone49", CubeListBuilder.create(), PartPose.offset(0.25F, -7.5F, 0.0F)); + PartDefinition bone56 = base.addOrReplaceChild("bone56", CubeListBuilder.create().texOffs(43, 28).addBox(-11.5F, -6.5F, 2.5F, 2.0F, 10.0F, 3.0F, new CubeDeformation(0.0F)) + .texOffs(43, 28).addBox(-11.5F, -6.5F, -5.5F, 2.0F, 10.0F, 3.0F, new CubeDeformation(0.0F)) + .texOffs(114, 72).addBox(-10.5F, -6.5F, -3.0F, 1.0F, 10.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offset(0.5F, -0.5F, 0.0F)); - PartDefinition bone55 = bone49.addOrReplaceChild("bone55", CubeListBuilder.create().texOffs(132, 11).addBox(0.0F, -1.0F, -1.5F, 2.0F, 1.0F, 3.0F, new CubeDeformation(-0.025F)), PartPose.offsetAndRotation(-21.5F, -1.0F, 9.5F, 0.0F, 0.0F, 0.3054F)); + PartDefinition bone49 = base.addOrReplaceChild("bone49", CubeListBuilder.create(), PartPose.offset(0.25F, -7.5F, 0.0F)); - PartDefinition bone51 = bone55.addOrReplaceChild("bone51", CubeListBuilder.create().texOffs(100, 18).addBox(0.0F, 4.0F, -3.0F, 13.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(2.0F, -5.0F, 1.5F, 0.0F, 0.5236F, 0.0F)); + PartDefinition bone55 = bone49.addOrReplaceChild("bone55", CubeListBuilder.create().texOffs(132, 11).addBox(0.0F, -1.0F, -1.5F, 2.0F, 1.0F, 3.0F, new CubeDeformation(-0.025F)), PartPose.offsetAndRotation(-21.5F, -1.0F, 9.5F, 0.0F, 0.0F, 0.3054F)); - PartDefinition bone50 = bone49.addOrReplaceChild("bone50", CubeListBuilder.create().texOffs(132, 11).addBox(0.0F, -1.0F, -1.5F, 2.0F, 1.0F, 3.0F, new CubeDeformation(-0.025F)), PartPose.offsetAndRotation(-21.5F, -1.0F, -9.5F, 0.0F, 0.0F, 0.3054F)); + PartDefinition bone51 = bone55.addOrReplaceChild("bone51", CubeListBuilder.create().texOffs(100, 18).addBox(0.0F, 4.0F, -3.0F, 13.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(2.0F, -5.0F, 1.5F, 0.0F, 0.5236F, 0.0F)); - PartDefinition bone52 = bone50.addOrReplaceChild("bone52", CubeListBuilder.create().texOffs(100, 18).addBox(0.0F, 4.0F, 0.0F, 13.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(2.0F, -5.0F, -1.5F, 0.0F, -0.5236F, 0.0F)); + PartDefinition bone50 = bone49.addOrReplaceChild("bone50", CubeListBuilder.create().texOffs(132, 11).addBox(0.0F, -1.0F, -1.5F, 2.0F, 1.0F, 3.0F, new CubeDeformation(-0.025F)), PartPose.offsetAndRotation(-21.5F, -1.0F, -9.5F, 0.0F, 0.0F, 0.3054F)); - PartDefinition bone57 = base.addOrReplaceChild("bone57", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 3.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); + PartDefinition bone52 = bone50.addOrReplaceChild("bone52", CubeListBuilder.create().texOffs(100, 18).addBox(0.0F, 4.0F, 0.0F, 13.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(2.0F, -5.0F, -1.5F, 0.0F, -0.5236F, 0.0F)); - PartDefinition bone58 = bone57.addOrReplaceChild("bone58", CubeListBuilder.create().texOffs(0, 106).addBox(-6.75F, 0.0F, -7.25F, 7.0F, 3.0F, 6.0F, new CubeDeformation(0.0F)) - .texOffs(92, 114).addBox(-4.5F, -12.75F, -4.25F, 7.0F, 13.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-10.0F, -4.5F, 4.25F, 0.0F, 0.0F, -0.7418F)); + PartDefinition bone57 = base.addOrReplaceChild("bone57", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 3.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); - PartDefinition bone53 = base.addOrReplaceChild("bone53", CubeListBuilder.create(), PartPose.offset(0.0F, -8.0F, 0.0F)); + PartDefinition bone58 = bone57.addOrReplaceChild("bone58", CubeListBuilder.create().texOffs(0, 106).addBox(-6.75F, 0.0F, -7.25F, 7.0F, 3.0F, 6.0F, new CubeDeformation(0.0F)) + .texOffs(92, 114).addBox(-4.5F, -12.75F, -4.25F, 7.0F, 13.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-10.0F, -4.5F, 4.25F, 0.0F, 0.0F, -0.7418F)); - PartDefinition bone54 = bone53.addOrReplaceChild("bone54", CubeListBuilder.create().texOffs(43, 30).addBox(0.0F, -1.0F, -8.0F, 12.0F, 1.0F, 16.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-21.0F, -1.0F, 0.0F, 0.0F, 0.0F, 0.3054F)); + PartDefinition bone53 = base.addOrReplaceChild("bone53", CubeListBuilder.create(), PartPose.offset(0.0F, -8.0F, 0.0F)); - PartDefinition bone40 = base.addOrReplaceChild("bone40", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -8.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); + PartDefinition bone54 = bone53.addOrReplaceChild("bone54", CubeListBuilder.create().texOffs(43, 30).addBox(0.0F, -1.0F, -8.0F, 12.0F, 1.0F, 16.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-21.0F, -1.0F, 0.0F, 0.0F, 0.0F, 0.3054F)); - PartDefinition bone200 = bone40.addOrReplaceChild("bone200", CubeListBuilder.create().texOffs(108, 49).addBox(0.0F, -0.25F, -0.5F, 12.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-21.0F, -1.0F, 0.0F, 0.0F, 0.0F, 0.3054F)); + PartDefinition bone40 = base.addOrReplaceChild("bone40", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -8.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); - PartDefinition bone123 = base.addOrReplaceChild("bone123", CubeListBuilder.create().texOffs(67, 18).addBox(-15.25F, -2.425F, -3.0F, 7.0F, 1.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 4.5F, 0.0F, 0.0F, -0.5236F, 0.0F)); + PartDefinition bone200 = bone40.addOrReplaceChild("bone200", CubeListBuilder.create().texOffs(108, 49).addBox(0.0F, -0.25F, -0.5F, 12.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-21.0F, -1.0F, 0.0F, 0.0F, 0.0F, 0.3054F)); - PartDefinition base2 = base.addOrReplaceChild("base2", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone123 = base.addOrReplaceChild("bone123", CubeListBuilder.create().texOffs(67, 18).addBox(-15.25F, -2.425F, -3.0F, 7.0F, 1.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 4.5F, 0.0F, 0.0F, -0.5236F, 0.0F)); - PartDefinition bone59 = base2.addOrReplaceChild("bone59", CubeListBuilder.create().texOffs(43, 28).addBox(-11.5F, -6.5F, 2.5F, 2.0F, 10.0F, 3.0F, new CubeDeformation(0.0F)) - .texOffs(43, 28).addBox(-11.5F, -6.5F, -5.5F, 2.0F, 10.0F, 3.0F, new CubeDeformation(0.0F)) - .texOffs(114, 72).addBox(-10.5F, -6.5F, -3.0F, 1.0F, 10.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offset(0.5F, -0.5F, 0.0F)); + PartDefinition base2 = base.addOrReplaceChild("base2", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone60 = base2.addOrReplaceChild("bone60", CubeListBuilder.create(), PartPose.offset(0.25F, -7.5F, 0.0F)); + PartDefinition bone59 = base2.addOrReplaceChild("bone59", CubeListBuilder.create().texOffs(43, 28).addBox(-11.5F, -6.5F, 2.5F, 2.0F, 10.0F, 3.0F, new CubeDeformation(0.0F)) + .texOffs(43, 28).addBox(-11.5F, -6.5F, -5.5F, 2.0F, 10.0F, 3.0F, new CubeDeformation(0.0F)) + .texOffs(114, 72).addBox(-10.5F, -6.5F, -3.0F, 1.0F, 10.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offset(0.5F, -0.5F, 0.0F)); - PartDefinition bone61 = bone60.addOrReplaceChild("bone61", CubeListBuilder.create().texOffs(132, 11).addBox(0.0F, -1.0F, -1.5F, 2.0F, 1.0F, 3.0F, new CubeDeformation(-0.025F)), PartPose.offsetAndRotation(-21.5F, -1.0F, 9.5F, 0.0F, 0.0F, 0.3054F)); + PartDefinition bone60 = base2.addOrReplaceChild("bone60", CubeListBuilder.create(), PartPose.offset(0.25F, -7.5F, 0.0F)); - PartDefinition bone66 = bone61.addOrReplaceChild("bone66", CubeListBuilder.create().texOffs(100, 18).addBox(0.0F, 4.0F, -3.0F, 13.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(2.0F, -5.0F, 1.5F, 0.0F, 0.5236F, 0.0F)); + PartDefinition bone61 = bone60.addOrReplaceChild("bone61", CubeListBuilder.create().texOffs(132, 11).addBox(0.0F, -1.0F, -1.5F, 2.0F, 1.0F, 3.0F, new CubeDeformation(-0.025F)), PartPose.offsetAndRotation(-21.5F, -1.0F, 9.5F, 0.0F, 0.0F, 0.3054F)); - PartDefinition bone67 = bone60.addOrReplaceChild("bone67", CubeListBuilder.create().texOffs(132, 11).addBox(0.0F, -1.0F, -1.5F, 2.0F, 1.0F, 3.0F, new CubeDeformation(-0.025F)), PartPose.offsetAndRotation(-21.5F, -1.0F, -9.5F, 0.0F, 0.0F, 0.3054F)); + PartDefinition bone66 = bone61.addOrReplaceChild("bone66", CubeListBuilder.create().texOffs(100, 18).addBox(0.0F, 4.0F, -3.0F, 13.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(2.0F, -5.0F, 1.5F, 0.0F, 0.5236F, 0.0F)); - PartDefinition bone68 = bone67.addOrReplaceChild("bone68", CubeListBuilder.create().texOffs(100, 18).addBox(0.0F, 4.0F, 0.0F, 13.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(2.0F, -5.0F, -1.5F, 0.0F, -0.5236F, 0.0F)); + PartDefinition bone67 = bone60.addOrReplaceChild("bone67", CubeListBuilder.create().texOffs(132, 11).addBox(0.0F, -1.0F, -1.5F, 2.0F, 1.0F, 3.0F, new CubeDeformation(-0.025F)), PartPose.offsetAndRotation(-21.5F, -1.0F, -9.5F, 0.0F, 0.0F, 0.3054F)); - PartDefinition bone69 = base2.addOrReplaceChild("bone69", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 3.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); + PartDefinition bone68 = bone67.addOrReplaceChild("bone68", CubeListBuilder.create().texOffs(100, 18).addBox(0.0F, 4.0F, 0.0F, 13.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(2.0F, -5.0F, -1.5F, 0.0F, -0.5236F, 0.0F)); - PartDefinition bone70 = bone69.addOrReplaceChild("bone70", CubeListBuilder.create().texOffs(0, 106).addBox(-6.75F, 0.0F, -7.25F, 7.0F, 3.0F, 6.0F, new CubeDeformation(0.0F)) - .texOffs(92, 114).addBox(-4.5F, -12.75F, -4.25F, 7.0F, 13.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-10.0F, -4.5F, 4.25F, 0.0F, 0.0F, -0.7418F)); + PartDefinition bone69 = base2.addOrReplaceChild("bone69", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 3.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); - PartDefinition bone71 = base2.addOrReplaceChild("bone71", CubeListBuilder.create(), PartPose.offset(0.0F, -8.0F, 0.0F)); + PartDefinition bone70 = bone69.addOrReplaceChild("bone70", CubeListBuilder.create().texOffs(0, 106).addBox(-6.75F, 0.0F, -7.25F, 7.0F, 3.0F, 6.0F, new CubeDeformation(0.0F)) + .texOffs(92, 114).addBox(-4.5F, -12.75F, -4.25F, 7.0F, 13.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-10.0F, -4.5F, 4.25F, 0.0F, 0.0F, -0.7418F)); - PartDefinition bone72 = bone71.addOrReplaceChild("bone72", CubeListBuilder.create().texOffs(43, 30).addBox(0.0F, -1.0F, -8.0F, 12.0F, 1.0F, 16.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-21.0F, -1.0F, 0.0F, 0.0F, 0.0F, 0.3054F)); + PartDefinition bone71 = base2.addOrReplaceChild("bone71", CubeListBuilder.create(), PartPose.offset(0.0F, -8.0F, 0.0F)); - PartDefinition bone73 = base2.addOrReplaceChild("bone73", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -8.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); + PartDefinition bone72 = bone71.addOrReplaceChild("bone72", CubeListBuilder.create().texOffs(43, 30).addBox(0.0F, -1.0F, -8.0F, 12.0F, 1.0F, 16.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-21.0F, -1.0F, 0.0F, 0.0F, 0.0F, 0.3054F)); - PartDefinition bone74 = bone73.addOrReplaceChild("bone74", CubeListBuilder.create().texOffs(108, 49).addBox(0.0F, -0.25F, -0.5F, 12.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-21.0F, -1.0F, 0.0F, 0.0F, 0.0F, 0.3054F)); + PartDefinition bone73 = base2.addOrReplaceChild("bone73", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -8.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); - PartDefinition bone75 = base2.addOrReplaceChild("bone75", CubeListBuilder.create().texOffs(67, 18).addBox(-15.25F, -2.425F, -3.0F, 7.0F, 1.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 4.5F, 0.0F, 0.0F, -0.5236F, 0.0F)); + PartDefinition bone74 = bone73.addOrReplaceChild("bone74", CubeListBuilder.create().texOffs(108, 49).addBox(0.0F, -0.25F, -0.5F, 12.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-21.0F, -1.0F, 0.0F, 0.0F, 0.0F, 0.3054F)); - PartDefinition base3 = base2.addOrReplaceChild("base3", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone75 = base2.addOrReplaceChild("bone75", CubeListBuilder.create().texOffs(67, 18).addBox(-15.25F, -2.425F, -3.0F, 7.0F, 1.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 4.5F, 0.0F, 0.0F, -0.5236F, 0.0F)); - PartDefinition bone76 = base3.addOrReplaceChild("bone76", CubeListBuilder.create().texOffs(43, 28).addBox(-11.5F, -6.5F, 2.5F, 2.0F, 10.0F, 3.0F, new CubeDeformation(0.0F)) - .texOffs(43, 28).addBox(-11.5F, -6.5F, -5.5F, 2.0F, 10.0F, 3.0F, new CubeDeformation(0.0F)) - .texOffs(114, 72).addBox(-10.5F, -6.5F, -3.0F, 1.0F, 10.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offset(0.5F, -0.5F, 0.0F)); + PartDefinition base3 = base2.addOrReplaceChild("base3", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone77 = base3.addOrReplaceChild("bone77", CubeListBuilder.create(), PartPose.offset(0.25F, -7.5F, 0.0F)); + PartDefinition bone76 = base3.addOrReplaceChild("bone76", CubeListBuilder.create().texOffs(43, 28).addBox(-11.5F, -6.5F, 2.5F, 2.0F, 10.0F, 3.0F, new CubeDeformation(0.0F)) + .texOffs(43, 28).addBox(-11.5F, -6.5F, -5.5F, 2.0F, 10.0F, 3.0F, new CubeDeformation(0.0F)) + .texOffs(114, 72).addBox(-10.5F, -6.5F, -3.0F, 1.0F, 10.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offset(0.5F, -0.5F, 0.0F)); - PartDefinition bone78 = bone77.addOrReplaceChild("bone78", CubeListBuilder.create().texOffs(132, 11).addBox(0.0F, -1.0F, -1.5F, 2.0F, 1.0F, 3.0F, new CubeDeformation(-0.025F)), PartPose.offsetAndRotation(-21.5F, -1.0F, 9.5F, 0.0F, 0.0F, 0.3054F)); + PartDefinition bone77 = base3.addOrReplaceChild("bone77", CubeListBuilder.create(), PartPose.offset(0.25F, -7.5F, 0.0F)); - PartDefinition bone79 = bone78.addOrReplaceChild("bone79", CubeListBuilder.create().texOffs(100, 18).addBox(0.0F, 4.0F, -3.0F, 13.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(2.0F, -5.0F, 1.5F, 0.0F, 0.5236F, 0.0F)); + PartDefinition bone78 = bone77.addOrReplaceChild("bone78", CubeListBuilder.create().texOffs(132, 11).addBox(0.0F, -1.0F, -1.5F, 2.0F, 1.0F, 3.0F, new CubeDeformation(-0.025F)), PartPose.offsetAndRotation(-21.5F, -1.0F, 9.5F, 0.0F, 0.0F, 0.3054F)); - PartDefinition bone80 = bone77.addOrReplaceChild("bone80", CubeListBuilder.create().texOffs(132, 11).addBox(0.0F, -1.0F, -1.5F, 2.0F, 1.0F, 3.0F, new CubeDeformation(-0.025F)), PartPose.offsetAndRotation(-21.5F, -1.0F, -9.5F, 0.0F, 0.0F, 0.3054F)); + PartDefinition bone79 = bone78.addOrReplaceChild("bone79", CubeListBuilder.create().texOffs(100, 18).addBox(0.0F, 4.0F, -3.0F, 13.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(2.0F, -5.0F, 1.5F, 0.0F, 0.5236F, 0.0F)); - PartDefinition bone81 = bone80.addOrReplaceChild("bone81", CubeListBuilder.create().texOffs(100, 18).addBox(0.0F, 4.0F, 0.0F, 13.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(2.0F, -5.0F, -1.5F, 0.0F, -0.5236F, 0.0F)); + PartDefinition bone80 = bone77.addOrReplaceChild("bone80", CubeListBuilder.create().texOffs(132, 11).addBox(0.0F, -1.0F, -1.5F, 2.0F, 1.0F, 3.0F, new CubeDeformation(-0.025F)), PartPose.offsetAndRotation(-21.5F, -1.0F, -9.5F, 0.0F, 0.0F, 0.3054F)); - PartDefinition bone82 = base3.addOrReplaceChild("bone82", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 3.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); + PartDefinition bone81 = bone80.addOrReplaceChild("bone81", CubeListBuilder.create().texOffs(100, 18).addBox(0.0F, 4.0F, 0.0F, 13.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(2.0F, -5.0F, -1.5F, 0.0F, -0.5236F, 0.0F)); - PartDefinition bone83 = bone82.addOrReplaceChild("bone83", CubeListBuilder.create().texOffs(0, 106).addBox(-6.75F, 0.0F, -7.25F, 7.0F, 3.0F, 6.0F, new CubeDeformation(0.0F)) - .texOffs(92, 114).addBox(-4.5F, -12.75F, -4.25F, 7.0F, 13.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-10.0F, -4.5F, 4.25F, 0.0F, 0.0F, -0.7418F)); + PartDefinition bone82 = base3.addOrReplaceChild("bone82", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 3.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); - PartDefinition bone84 = base3.addOrReplaceChild("bone84", CubeListBuilder.create(), PartPose.offset(0.0F, -8.0F, 0.0F)); + PartDefinition bone83 = bone82.addOrReplaceChild("bone83", CubeListBuilder.create().texOffs(0, 106).addBox(-6.75F, 0.0F, -7.25F, 7.0F, 3.0F, 6.0F, new CubeDeformation(0.0F)) + .texOffs(92, 114).addBox(-4.5F, -12.75F, -4.25F, 7.0F, 13.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-10.0F, -4.5F, 4.25F, 0.0F, 0.0F, -0.7418F)); - PartDefinition bone85 = bone84.addOrReplaceChild("bone85", CubeListBuilder.create().texOffs(43, 30).addBox(0.0F, -1.0F, -8.0F, 12.0F, 1.0F, 16.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-21.0F, -1.0F, 0.0F, 0.0F, 0.0F, 0.3054F)); + PartDefinition bone84 = base3.addOrReplaceChild("bone84", CubeListBuilder.create(), PartPose.offset(0.0F, -8.0F, 0.0F)); - PartDefinition bone86 = base3.addOrReplaceChild("bone86", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -8.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); + PartDefinition bone85 = bone84.addOrReplaceChild("bone85", CubeListBuilder.create().texOffs(43, 30).addBox(0.0F, -1.0F, -8.0F, 12.0F, 1.0F, 16.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-21.0F, -1.0F, 0.0F, 0.0F, 0.0F, 0.3054F)); - PartDefinition bone87 = bone86.addOrReplaceChild("bone87", CubeListBuilder.create().texOffs(108, 49).addBox(0.0F, -0.25F, -0.5F, 12.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-21.0F, -1.0F, 0.0F, 0.0F, 0.0F, 0.3054F)); + PartDefinition bone86 = base3.addOrReplaceChild("bone86", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -8.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); - PartDefinition bone88 = base3.addOrReplaceChild("bone88", CubeListBuilder.create().texOffs(67, 18).addBox(-15.25F, -2.425F, -3.0F, 7.0F, 1.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 4.5F, 0.0F, 0.0F, -0.5236F, 0.0F)); + PartDefinition bone87 = bone86.addOrReplaceChild("bone87", CubeListBuilder.create().texOffs(108, 49).addBox(0.0F, -0.25F, -0.5F, 12.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-21.0F, -1.0F, 0.0F, 0.0F, 0.0F, 0.3054F)); - PartDefinition base4 = base3.addOrReplaceChild("base4", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone88 = base3.addOrReplaceChild("bone88", CubeListBuilder.create().texOffs(67, 18).addBox(-15.25F, -2.425F, -3.0F, 7.0F, 1.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 4.5F, 0.0F, 0.0F, -0.5236F, 0.0F)); - PartDefinition bone89 = base4.addOrReplaceChild("bone89", CubeListBuilder.create().texOffs(43, 28).addBox(-11.5F, -6.5F, 2.5F, 2.0F, 10.0F, 3.0F, new CubeDeformation(0.0F)) - .texOffs(43, 28).addBox(-11.5F, -6.5F, -5.5F, 2.0F, 10.0F, 3.0F, new CubeDeformation(0.0F)) - .texOffs(114, 72).addBox(-10.5F, -6.5F, -3.0F, 1.0F, 10.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offset(0.5F, -0.5F, 0.0F)); + PartDefinition base4 = base3.addOrReplaceChild("base4", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone90 = base4.addOrReplaceChild("bone90", CubeListBuilder.create(), PartPose.offset(0.25F, -7.5F, 0.0F)); + PartDefinition bone89 = base4.addOrReplaceChild("bone89", CubeListBuilder.create().texOffs(43, 28).addBox(-11.5F, -6.5F, 2.5F, 2.0F, 10.0F, 3.0F, new CubeDeformation(0.0F)) + .texOffs(43, 28).addBox(-11.5F, -6.5F, -5.5F, 2.0F, 10.0F, 3.0F, new CubeDeformation(0.0F)) + .texOffs(114, 72).addBox(-10.5F, -6.5F, -3.0F, 1.0F, 10.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offset(0.5F, -0.5F, 0.0F)); - PartDefinition bone91 = bone90.addOrReplaceChild("bone91", CubeListBuilder.create().texOffs(132, 11).addBox(0.0F, -1.0F, -1.5F, 2.0F, 1.0F, 3.0F, new CubeDeformation(-0.025F)), PartPose.offsetAndRotation(-21.5F, -1.0F, 9.5F, 0.0F, 0.0F, 0.3054F)); + PartDefinition bone90 = base4.addOrReplaceChild("bone90", CubeListBuilder.create(), PartPose.offset(0.25F, -7.5F, 0.0F)); - PartDefinition bone92 = bone91.addOrReplaceChild("bone92", CubeListBuilder.create().texOffs(100, 18).addBox(0.0F, 4.0F, -3.0F, 13.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(2.0F, -5.0F, 1.5F, 0.0F, 0.5236F, 0.0F)); + PartDefinition bone91 = bone90.addOrReplaceChild("bone91", CubeListBuilder.create().texOffs(132, 11).addBox(0.0F, -1.0F, -1.5F, 2.0F, 1.0F, 3.0F, new CubeDeformation(-0.025F)), PartPose.offsetAndRotation(-21.5F, -1.0F, 9.5F, 0.0F, 0.0F, 0.3054F)); - PartDefinition bone93 = bone90.addOrReplaceChild("bone93", CubeListBuilder.create().texOffs(132, 11).addBox(0.0F, -1.0F, -1.5F, 2.0F, 1.0F, 3.0F, new CubeDeformation(-0.025F)), PartPose.offsetAndRotation(-21.5F, -1.0F, -9.5F, 0.0F, 0.0F, 0.3054F)); + PartDefinition bone92 = bone91.addOrReplaceChild("bone92", CubeListBuilder.create().texOffs(100, 18).addBox(0.0F, 4.0F, -3.0F, 13.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(2.0F, -5.0F, 1.5F, 0.0F, 0.5236F, 0.0F)); - PartDefinition bone94 = bone93.addOrReplaceChild("bone94", CubeListBuilder.create().texOffs(100, 18).addBox(0.0F, 4.0F, 0.0F, 13.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(2.0F, -5.0F, -1.5F, 0.0F, -0.5236F, 0.0F)); + PartDefinition bone93 = bone90.addOrReplaceChild("bone93", CubeListBuilder.create().texOffs(132, 11).addBox(0.0F, -1.0F, -1.5F, 2.0F, 1.0F, 3.0F, new CubeDeformation(-0.025F)), PartPose.offsetAndRotation(-21.5F, -1.0F, -9.5F, 0.0F, 0.0F, 0.3054F)); - PartDefinition bone95 = base4.addOrReplaceChild("bone95", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 3.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); + PartDefinition bone94 = bone93.addOrReplaceChild("bone94", CubeListBuilder.create().texOffs(100, 18).addBox(0.0F, 4.0F, 0.0F, 13.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(2.0F, -5.0F, -1.5F, 0.0F, -0.5236F, 0.0F)); - PartDefinition bone96 = bone95.addOrReplaceChild("bone96", CubeListBuilder.create().texOffs(0, 106).addBox(-6.75F, 0.0F, -7.25F, 7.0F, 3.0F, 6.0F, new CubeDeformation(0.0F)) - .texOffs(92, 114).addBox(-4.5F, -12.75F, -4.25F, 7.0F, 13.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-10.0F, -4.5F, 4.25F, 0.0F, 0.0F, -0.7418F)); + PartDefinition bone95 = base4.addOrReplaceChild("bone95", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 3.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); - PartDefinition bone97 = base4.addOrReplaceChild("bone97", CubeListBuilder.create(), PartPose.offset(0.0F, -8.0F, 0.0F)); + PartDefinition bone96 = bone95.addOrReplaceChild("bone96", CubeListBuilder.create().texOffs(0, 106).addBox(-6.75F, 0.0F, -7.25F, 7.0F, 3.0F, 6.0F, new CubeDeformation(0.0F)) + .texOffs(92, 114).addBox(-4.5F, -12.75F, -4.25F, 7.0F, 13.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-10.0F, -4.5F, 4.25F, 0.0F, 0.0F, -0.7418F)); - PartDefinition bone98 = bone97.addOrReplaceChild("bone98", CubeListBuilder.create().texOffs(43, 30).addBox(0.0F, -1.0F, -8.0F, 12.0F, 1.0F, 16.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-21.0F, -1.0F, 0.0F, 0.0F, 0.0F, 0.3054F)); + PartDefinition bone97 = base4.addOrReplaceChild("bone97", CubeListBuilder.create(), PartPose.offset(0.0F, -8.0F, 0.0F)); - PartDefinition bone99 = base4.addOrReplaceChild("bone99", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -8.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); + PartDefinition bone98 = bone97.addOrReplaceChild("bone98", CubeListBuilder.create().texOffs(43, 30).addBox(0.0F, -1.0F, -8.0F, 12.0F, 1.0F, 16.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-21.0F, -1.0F, 0.0F, 0.0F, 0.0F, 0.3054F)); - PartDefinition bone100 = bone99.addOrReplaceChild("bone100", CubeListBuilder.create().texOffs(108, 49).addBox(0.0F, -0.25F, -0.5F, 12.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-21.0F, -1.0F, 0.0F, 0.0F, 0.0F, 0.3054F)); + PartDefinition bone99 = base4.addOrReplaceChild("bone99", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -8.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); - PartDefinition bone101 = base4.addOrReplaceChild("bone101", CubeListBuilder.create().texOffs(67, 18).addBox(-15.25F, -2.425F, -3.0F, 7.0F, 1.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 4.5F, 0.0F, 0.0F, -0.5236F, 0.0F)); + PartDefinition bone100 = bone99.addOrReplaceChild("bone100", CubeListBuilder.create().texOffs(108, 49).addBox(0.0F, -0.25F, -0.5F, 12.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-21.0F, -1.0F, 0.0F, 0.0F, 0.0F, 0.3054F)); - PartDefinition base5 = base4.addOrReplaceChild("base5", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone101 = base4.addOrReplaceChild("bone101", CubeListBuilder.create().texOffs(67, 18).addBox(-15.25F, -2.425F, -3.0F, 7.0F, 1.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 4.5F, 0.0F, 0.0F, -0.5236F, 0.0F)); - PartDefinition bone102 = base5.addOrReplaceChild("bone102", CubeListBuilder.create().texOffs(43, 28).addBox(-11.5F, -6.5F, 2.5F, 2.0F, 10.0F, 3.0F, new CubeDeformation(0.0F)) - .texOffs(43, 28).addBox(-11.5F, -6.5F, -5.5F, 2.0F, 10.0F, 3.0F, new CubeDeformation(0.0F)) - .texOffs(114, 72).addBox(-10.5F, -6.5F, -3.0F, 1.0F, 10.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offset(0.5F, -0.5F, 0.0F)); + PartDefinition base5 = base4.addOrReplaceChild("base5", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone103 = base5.addOrReplaceChild("bone103", CubeListBuilder.create(), PartPose.offset(0.25F, -7.5F, 0.0F)); + PartDefinition bone102 = base5.addOrReplaceChild("bone102", CubeListBuilder.create().texOffs(43, 28).addBox(-11.5F, -6.5F, 2.5F, 2.0F, 10.0F, 3.0F, new CubeDeformation(0.0F)) + .texOffs(43, 28).addBox(-11.5F, -6.5F, -5.5F, 2.0F, 10.0F, 3.0F, new CubeDeformation(0.0F)) + .texOffs(114, 72).addBox(-10.5F, -6.5F, -3.0F, 1.0F, 10.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offset(0.5F, -0.5F, 0.0F)); - PartDefinition bone104 = bone103.addOrReplaceChild("bone104", CubeListBuilder.create().texOffs(132, 11).addBox(0.0F, -1.0F, -1.5F, 2.0F, 1.0F, 3.0F, new CubeDeformation(-0.025F)), PartPose.offsetAndRotation(-21.5F, -1.0F, 9.5F, 0.0F, 0.0F, 0.3054F)); + PartDefinition bone103 = base5.addOrReplaceChild("bone103", CubeListBuilder.create(), PartPose.offset(0.25F, -7.5F, 0.0F)); - PartDefinition bone105 = bone104.addOrReplaceChild("bone105", CubeListBuilder.create().texOffs(100, 18).addBox(0.0F, 4.0F, -3.0F, 13.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(2.0F, -5.0F, 1.5F, 0.0F, 0.5236F, 0.0F)); + PartDefinition bone104 = bone103.addOrReplaceChild("bone104", CubeListBuilder.create().texOffs(132, 11).addBox(0.0F, -1.0F, -1.5F, 2.0F, 1.0F, 3.0F, new CubeDeformation(-0.025F)), PartPose.offsetAndRotation(-21.5F, -1.0F, 9.5F, 0.0F, 0.0F, 0.3054F)); - PartDefinition bone106 = bone103.addOrReplaceChild("bone106", CubeListBuilder.create().texOffs(132, 11).addBox(0.0F, -1.0F, -1.5F, 2.0F, 1.0F, 3.0F, new CubeDeformation(-0.025F)), PartPose.offsetAndRotation(-21.5F, -1.0F, -9.5F, 0.0F, 0.0F, 0.3054F)); + PartDefinition bone105 = bone104.addOrReplaceChild("bone105", CubeListBuilder.create().texOffs(100, 18).addBox(0.0F, 4.0F, -3.0F, 13.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(2.0F, -5.0F, 1.5F, 0.0F, 0.5236F, 0.0F)); - PartDefinition bone107 = bone106.addOrReplaceChild("bone107", CubeListBuilder.create().texOffs(100, 18).addBox(0.0F, 4.0F, 0.0F, 13.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(2.0F, -5.0F, -1.5F, 0.0F, -0.5236F, 0.0F)); + PartDefinition bone106 = bone103.addOrReplaceChild("bone106", CubeListBuilder.create().texOffs(132, 11).addBox(0.0F, -1.0F, -1.5F, 2.0F, 1.0F, 3.0F, new CubeDeformation(-0.025F)), PartPose.offsetAndRotation(-21.5F, -1.0F, -9.5F, 0.0F, 0.0F, 0.3054F)); - PartDefinition bone108 = base5.addOrReplaceChild("bone108", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 3.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); + PartDefinition bone107 = bone106.addOrReplaceChild("bone107", CubeListBuilder.create().texOffs(100, 18).addBox(0.0F, 4.0F, 0.0F, 13.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(2.0F, -5.0F, -1.5F, 0.0F, -0.5236F, 0.0F)); - PartDefinition bone109 = bone108.addOrReplaceChild("bone109", CubeListBuilder.create().texOffs(0, 106).addBox(-6.75F, 0.0F, -7.25F, 7.0F, 3.0F, 6.0F, new CubeDeformation(0.0F)) - .texOffs(92, 114).addBox(-4.5F, -12.75F, -4.25F, 7.0F, 13.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-10.0F, -4.5F, 4.25F, 0.0F, 0.0F, -0.7418F)); + PartDefinition bone108 = base5.addOrReplaceChild("bone108", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 3.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); - PartDefinition bone110 = base5.addOrReplaceChild("bone110", CubeListBuilder.create(), PartPose.offset(0.0F, -8.0F, 0.0F)); + PartDefinition bone109 = bone108.addOrReplaceChild("bone109", CubeListBuilder.create().texOffs(0, 106).addBox(-6.75F, 0.0F, -7.25F, 7.0F, 3.0F, 6.0F, new CubeDeformation(0.0F)) + .texOffs(92, 114).addBox(-4.5F, -12.75F, -4.25F, 7.0F, 13.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-10.0F, -4.5F, 4.25F, 0.0F, 0.0F, -0.7418F)); - PartDefinition bone111 = bone110.addOrReplaceChild("bone111", CubeListBuilder.create().texOffs(43, 30).addBox(0.0F, -1.0F, -8.0F, 12.0F, 1.0F, 16.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-21.0F, -1.0F, 0.0F, 0.0F, 0.0F, 0.3054F)); + PartDefinition bone110 = base5.addOrReplaceChild("bone110", CubeListBuilder.create(), PartPose.offset(0.0F, -8.0F, 0.0F)); - PartDefinition bone112 = base5.addOrReplaceChild("bone112", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -8.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); + PartDefinition bone111 = bone110.addOrReplaceChild("bone111", CubeListBuilder.create().texOffs(43, 30).addBox(0.0F, -1.0F, -8.0F, 12.0F, 1.0F, 16.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-21.0F, -1.0F, 0.0F, 0.0F, 0.0F, 0.3054F)); - PartDefinition bone113 = bone112.addOrReplaceChild("bone113", CubeListBuilder.create().texOffs(108, 49).addBox(0.0F, -0.25F, -0.5F, 12.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-21.0F, -1.0F, 0.0F, 0.0F, 0.0F, 0.3054F)); + PartDefinition bone112 = base5.addOrReplaceChild("bone112", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -8.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); - PartDefinition bone114 = base5.addOrReplaceChild("bone114", CubeListBuilder.create().texOffs(67, 18).addBox(-15.25F, -2.425F, -3.0F, 7.0F, 1.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 4.5F, 0.0F, 0.0F, -0.5236F, 0.0F)); + PartDefinition bone113 = bone112.addOrReplaceChild("bone113", CubeListBuilder.create().texOffs(108, 49).addBox(0.0F, -0.25F, -0.5F, 12.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-21.0F, -1.0F, 0.0F, 0.0F, 0.0F, 0.3054F)); - PartDefinition base6 = base5.addOrReplaceChild("base6", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone114 = base5.addOrReplaceChild("bone114", CubeListBuilder.create().texOffs(67, 18).addBox(-15.25F, -2.425F, -3.0F, 7.0F, 1.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 4.5F, 0.0F, 0.0F, -0.5236F, 0.0F)); - PartDefinition bone115 = base6.addOrReplaceChild("bone115", CubeListBuilder.create().texOffs(43, 28).addBox(-11.5F, -6.5F, 2.5F, 2.0F, 10.0F, 3.0F, new CubeDeformation(0.0F)) - .texOffs(43, 28).addBox(-11.5F, -6.5F, -5.5F, 2.0F, 10.0F, 3.0F, new CubeDeformation(0.0F)) - .texOffs(114, 72).addBox(-10.5F, -6.5F, -3.0F, 1.0F, 10.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offset(0.5F, -0.5F, 0.0F)); + PartDefinition base6 = base5.addOrReplaceChild("base6", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone116 = base6.addOrReplaceChild("bone116", CubeListBuilder.create(), PartPose.offset(0.25F, -7.5F, 0.0F)); + PartDefinition bone115 = base6.addOrReplaceChild("bone115", CubeListBuilder.create().texOffs(43, 28).addBox(-11.5F, -6.5F, 2.5F, 2.0F, 10.0F, 3.0F, new CubeDeformation(0.0F)) + .texOffs(43, 28).addBox(-11.5F, -6.5F, -5.5F, 2.0F, 10.0F, 3.0F, new CubeDeformation(0.0F)) + .texOffs(114, 72).addBox(-10.5F, -6.5F, -3.0F, 1.0F, 10.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offset(0.5F, -0.5F, 0.0F)); - PartDefinition bone117 = bone116.addOrReplaceChild("bone117", CubeListBuilder.create().texOffs(132, 11).addBox(0.0F, -1.0F, -1.5F, 2.0F, 1.0F, 3.0F, new CubeDeformation(-0.025F)), PartPose.offsetAndRotation(-21.5F, -1.0F, 9.5F, 0.0F, 0.0F, 0.3054F)); + PartDefinition bone116 = base6.addOrReplaceChild("bone116", CubeListBuilder.create(), PartPose.offset(0.25F, -7.5F, 0.0F)); - PartDefinition bone118 = bone117.addOrReplaceChild("bone118", CubeListBuilder.create().texOffs(100, 18).addBox(0.0F, 4.0F, -3.0F, 13.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(2.0F, -5.0F, 1.5F, 0.0F, 0.5236F, 0.0F)); + PartDefinition bone117 = bone116.addOrReplaceChild("bone117", CubeListBuilder.create().texOffs(132, 11).addBox(0.0F, -1.0F, -1.5F, 2.0F, 1.0F, 3.0F, new CubeDeformation(-0.025F)), PartPose.offsetAndRotation(-21.5F, -1.0F, 9.5F, 0.0F, 0.0F, 0.3054F)); - PartDefinition bone119 = bone116.addOrReplaceChild("bone119", CubeListBuilder.create().texOffs(132, 11).addBox(0.0F, -1.0F, -1.5F, 2.0F, 1.0F, 3.0F, new CubeDeformation(-0.025F)), PartPose.offsetAndRotation(-21.5F, -1.0F, -9.5F, 0.0F, 0.0F, 0.3054F)); + PartDefinition bone118 = bone117.addOrReplaceChild("bone118", CubeListBuilder.create().texOffs(100, 18).addBox(0.0F, 4.0F, -3.0F, 13.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(2.0F, -5.0F, 1.5F, 0.0F, 0.5236F, 0.0F)); - PartDefinition bone120 = bone119.addOrReplaceChild("bone120", CubeListBuilder.create().texOffs(100, 18).addBox(0.0F, 4.0F, 0.0F, 13.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(2.0F, -5.0F, -1.5F, 0.0F, -0.5236F, 0.0F)); + PartDefinition bone119 = bone116.addOrReplaceChild("bone119", CubeListBuilder.create().texOffs(132, 11).addBox(0.0F, -1.0F, -1.5F, 2.0F, 1.0F, 3.0F, new CubeDeformation(-0.025F)), PartPose.offsetAndRotation(-21.5F, -1.0F, -9.5F, 0.0F, 0.0F, 0.3054F)); - PartDefinition bone121 = base6.addOrReplaceChild("bone121", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 3.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); + PartDefinition bone120 = bone119.addOrReplaceChild("bone120", CubeListBuilder.create().texOffs(100, 18).addBox(0.0F, 4.0F, 0.0F, 13.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(2.0F, -5.0F, -1.5F, 0.0F, -0.5236F, 0.0F)); - PartDefinition bone122 = bone121.addOrReplaceChild("bone122", CubeListBuilder.create().texOffs(0, 106).addBox(-6.75F, 0.0F, -7.25F, 7.0F, 3.0F, 6.0F, new CubeDeformation(0.0F)) - .texOffs(92, 114).addBox(-4.5F, -12.75F, -4.25F, 7.0F, 13.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-10.0F, -4.5F, 4.25F, 0.0F, 0.0F, -0.7418F)); + PartDefinition bone121 = base6.addOrReplaceChild("bone121", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 3.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); - PartDefinition bone124 = base6.addOrReplaceChild("bone124", CubeListBuilder.create(), PartPose.offset(0.0F, -8.0F, 0.0F)); + PartDefinition bone122 = bone121.addOrReplaceChild("bone122", CubeListBuilder.create().texOffs(0, 106).addBox(-6.75F, 0.0F, -7.25F, 7.0F, 3.0F, 6.0F, new CubeDeformation(0.0F)) + .texOffs(92, 114).addBox(-4.5F, -12.75F, -4.25F, 7.0F, 13.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-10.0F, -4.5F, 4.25F, 0.0F, 0.0F, -0.7418F)); - PartDefinition bone125 = bone124.addOrReplaceChild("bone125", CubeListBuilder.create().texOffs(43, 30).addBox(0.0F, -1.0F, -8.0F, 12.0F, 1.0F, 16.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-21.0F, -1.0F, 0.0F, 0.0F, 0.0F, 0.3054F)); + PartDefinition bone124 = base6.addOrReplaceChild("bone124", CubeListBuilder.create(), PartPose.offset(0.0F, -8.0F, 0.0F)); - PartDefinition bone126 = base6.addOrReplaceChild("bone126", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -8.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); + PartDefinition bone125 = bone124.addOrReplaceChild("bone125", CubeListBuilder.create().texOffs(43, 30).addBox(0.0F, -1.0F, -8.0F, 12.0F, 1.0F, 16.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-21.0F, -1.0F, 0.0F, 0.0F, 0.0F, 0.3054F)); - PartDefinition bone127 = bone126.addOrReplaceChild("bone127", CubeListBuilder.create().texOffs(108, 49).addBox(0.0F, -0.25F, -0.5F, 12.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-21.0F, -1.0F, 0.0F, 0.0F, 0.0F, 0.3054F)); + PartDefinition bone126 = base6.addOrReplaceChild("bone126", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -8.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); - PartDefinition bone128 = base6.addOrReplaceChild("bone128", CubeListBuilder.create().texOffs(67, 18).addBox(-15.25F, -2.425F, -3.0F, 7.0F, 1.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 4.5F, 0.0F, 0.0F, -0.5236F, 0.0F)); + PartDefinition bone127 = bone126.addOrReplaceChild("bone127", CubeListBuilder.create().texOffs(108, 49).addBox(0.0F, -0.25F, -0.5F, 12.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-21.0F, -1.0F, 0.0F, 0.0F, 0.0F, 0.3054F)); - PartDefinition panels = root.addOrReplaceChild("panels", CubeListBuilder.create(), PartPose.offset(0.0F, 2.0F, 0.0F)); + PartDefinition bone128 = base6.addOrReplaceChild("bone128", CubeListBuilder.create().texOffs(67, 18).addBox(-15.25F, -2.425F, -3.0F, 7.0F, 1.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 4.5F, 0.0F, 0.0F, -0.5236F, 0.0F)); - PartDefinition bone20 = panels.addOrReplaceChild("bone20", CubeListBuilder.create(), PartPose.offset(0.25F, -9.0F, 0.0F)); + PartDefinition panels = root.addOrReplaceChild("panels", CubeListBuilder.create(), PartPose.offset(0.0F, 2.0F, 0.0F)); - PartDefinition bone21 = bone20.addOrReplaceChild("bone21", CubeListBuilder.create().texOffs(123, 129).addBox(-1.2287F, -0.8604F, 7.0F, 2.0F, 2.0F, 3.0F, new CubeDeformation(-0.025F)) - .texOffs(101, 129).addBox(-1.2287F, -0.8604F, -12.0F, 2.0F, 2.0F, 3.0F, new CubeDeformation(-0.025F)) - .texOffs(67, 115).addBox(9.7713F, -0.8854F, -4.5F, 3.0F, 1.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-20.5F, -5.5F, 1.0F, 0.0F, 0.0F, -0.6109F)); + PartDefinition bone20 = panels.addOrReplaceChild("bone20", CubeListBuilder.create(), PartPose.offset(0.25F, -9.0F, 0.0F)); - PartDefinition bone32 = bone21.addOrReplaceChild("bone32", CubeListBuilder.create().texOffs(100, 13).addBox(0.0F, 0.05F, -3.0F, 14.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.7615F, -0.903F, 10.0F, 0.0F, 0.4363F, 0.0F)); + PartDefinition bone21 = bone20.addOrReplaceChild("bone21", CubeListBuilder.create().texOffs(123, 129).addBox(-1.2287F, -0.8604F, 7.0F, 2.0F, 2.0F, 3.0F, new CubeDeformation(-0.025F)) + .texOffs(101, 129).addBox(-1.2287F, -0.8604F, -12.0F, 2.0F, 2.0F, 3.0F, new CubeDeformation(-0.025F)) + .texOffs(67, 115).addBox(9.7713F, -0.8854F, -4.5F, 3.0F, 1.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-20.5F, -5.5F, 1.0F, 0.0F, 0.0F, -0.6109F)); - PartDefinition bone33 = bone21.addOrReplaceChild("bone33", CubeListBuilder.create().texOffs(38, 18).addBox(0.0F, 0.05F, 0.0F, 14.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.7615F, -0.903F, -12.0F, 0.0F, -0.4363F, 0.0F)); + PartDefinition bone32 = bone21.addOrReplaceChild("bone32", CubeListBuilder.create().texOffs(100, 13).addBox(0.0F, 0.05F, -3.0F, 14.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.7615F, -0.903F, 10.0F, 0.0F, 0.4363F, 0.0F)); - PartDefinition bone7 = panels.addOrReplaceChild("bone7", CubeListBuilder.create(), PartPose.offset(0.0F, -9.0F, 0.0F)); + PartDefinition bone33 = bone21.addOrReplaceChild("bone33", CubeListBuilder.create().texOffs(38, 18).addBox(0.0F, 0.05F, 0.0F, 14.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.7615F, -0.903F, -12.0F, 0.0F, -0.4363F, 0.0F)); - PartDefinition bone13 = bone7.addOrReplaceChild("bone13", CubeListBuilder.create().texOffs(38, 0).addBox(0.0F, 0.0F, -8.0F, 12.0F, 1.0F, 16.0F, new CubeDeformation(0.0F)) - .texOffs(0, 28).addBox(0.25F, -0.05F, -8.0F, 13.0F, 1.0F, 16.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-21.0F, -5.0F, 0.0F, 0.0F, 0.0F, -0.6109F)); + PartDefinition bone7 = panels.addOrReplaceChild("bone7", CubeListBuilder.create(), PartPose.offset(0.0F, -9.0F, 0.0F)); - PartDefinition bone132 = panels.addOrReplaceChild("bone132", CubeListBuilder.create().texOffs(27, 106).addBox(0.5F, -4.75F, -4.5F, 1.0F, 5.0F, 9.0F, new CubeDeformation(0.5F)), PartPose.offsetAndRotation(-10.875F, -22.1F, 0.0F, 0.0F, 0.0F, 0.2182F)); + PartDefinition bone13 = bone7.addOrReplaceChild("bone13", CubeListBuilder.create().texOffs(38, 0).addBox(0.0F, 0.0F, -8.0F, 12.0F, 1.0F, 16.0F, new CubeDeformation(0.0F)) + .texOffs(0, 28).addBox(0.25F, -0.05F, -8.0F, 13.0F, 1.0F, 16.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-21.0F, -5.0F, 0.0F, 0.0F, 0.0F, -0.6109F)); - PartDefinition panels2 = panels.addOrReplaceChild("panels2", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone132 = panels.addOrReplaceChild("bone132", CubeListBuilder.create().texOffs(27, 106).addBox(0.5F, -4.75F, -4.5F, 1.0F, 5.0F, 9.0F, new CubeDeformation(0.5F)), PartPose.offsetAndRotation(-10.875F, -22.1F, 0.0F, 0.0F, 0.0F, 0.2182F)); - PartDefinition bone2 = panels2.addOrReplaceChild("bone2", CubeListBuilder.create(), PartPose.offset(0.25F, -9.0F, 0.0F)); + PartDefinition panels2 = panels.addOrReplaceChild("panels2", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone3 = bone2.addOrReplaceChild("bone3", CubeListBuilder.create().texOffs(123, 129).addBox(-1.2287F, -0.8604F, 7.0F, 2.0F, 2.0F, 3.0F, new CubeDeformation(-0.025F)) - .texOffs(101, 129).addBox(-1.2287F, -0.8604F, -12.0F, 2.0F, 2.0F, 3.0F, new CubeDeformation(-0.025F)) - .texOffs(67, 115).addBox(9.7713F, -0.8854F, -4.5F, 3.0F, 1.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-20.5F, -5.5F, 1.0F, 0.0F, 0.0F, -0.6109F)); + PartDefinition bone2 = panels2.addOrReplaceChild("bone2", CubeListBuilder.create(), PartPose.offset(0.25F, -9.0F, 0.0F)); - PartDefinition bone4 = bone3.addOrReplaceChild("bone4", CubeListBuilder.create().texOffs(100, 13).addBox(0.0F, 0.05F, -3.0F, 14.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.7615F, -0.903F, 10.0F, 0.0F, 0.4363F, 0.0F)); + PartDefinition bone3 = bone2.addOrReplaceChild("bone3", CubeListBuilder.create().texOffs(123, 129).addBox(-1.2287F, -0.8604F, 7.0F, 2.0F, 2.0F, 3.0F, new CubeDeformation(-0.025F)) + .texOffs(101, 129).addBox(-1.2287F, -0.8604F, -12.0F, 2.0F, 2.0F, 3.0F, new CubeDeformation(-0.025F)) + .texOffs(67, 115).addBox(9.7713F, -0.8854F, -4.5F, 3.0F, 1.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-20.5F, -5.5F, 1.0F, 0.0F, 0.0F, -0.6109F)); - PartDefinition bone5 = bone3.addOrReplaceChild("bone5", CubeListBuilder.create().texOffs(38, 18).addBox(0.0F, 0.05F, 0.0F, 14.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.7615F, -0.903F, -12.0F, 0.0F, -0.4363F, 0.0F)); + PartDefinition bone4 = bone3.addOrReplaceChild("bone4", CubeListBuilder.create().texOffs(100, 13).addBox(0.0F, 0.05F, -3.0F, 14.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.7615F, -0.903F, 10.0F, 0.0F, 0.4363F, 0.0F)); - PartDefinition bone6 = panels2.addOrReplaceChild("bone6", CubeListBuilder.create(), PartPose.offset(0.0F, -9.0F, 0.0F)); + PartDefinition bone5 = bone3.addOrReplaceChild("bone5", CubeListBuilder.create().texOffs(38, 18).addBox(0.0F, 0.05F, 0.0F, 14.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.7615F, -0.903F, -12.0F, 0.0F, -0.4363F, 0.0F)); - PartDefinition bone8 = bone6.addOrReplaceChild("bone8", CubeListBuilder.create().texOffs(38, 0).addBox(0.0F, 0.0F, -8.0F, 12.0F, 1.0F, 16.0F, new CubeDeformation(0.0F)) - .texOffs(0, 28).addBox(0.25F, -0.05F, -8.0F, 13.0F, 1.0F, 16.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-21.0F, -5.0F, 0.0F, 0.0F, 0.0F, -0.6109F)); + PartDefinition bone6 = panels2.addOrReplaceChild("bone6", CubeListBuilder.create(), PartPose.offset(0.0F, -9.0F, 0.0F)); - PartDefinition bone9 = panels2.addOrReplaceChild("bone9", CubeListBuilder.create().texOffs(41, 48).addBox(0.5F, -4.75F, -4.5F, 1.0F, 5.0F, 9.0F, new CubeDeformation(0.5F)), PartPose.offsetAndRotation(-10.875F, -22.1F, 0.0F, 0.0F, 0.0F, 0.2182F)); + PartDefinition bone8 = bone6.addOrReplaceChild("bone8", CubeListBuilder.create().texOffs(38, 0).addBox(0.0F, 0.0F, -8.0F, 12.0F, 1.0F, 16.0F, new CubeDeformation(0.0F)) + .texOffs(0, 28).addBox(0.25F, -0.05F, -8.0F, 13.0F, 1.0F, 16.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-21.0F, -5.0F, 0.0F, 0.0F, 0.0F, -0.6109F)); - PartDefinition panels3 = panels2.addOrReplaceChild("panels3", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone9 = panels2.addOrReplaceChild("bone9", CubeListBuilder.create().texOffs(41, 48).addBox(0.5F, -4.75F, -4.5F, 1.0F, 5.0F, 9.0F, new CubeDeformation(0.5F)), PartPose.offsetAndRotation(-10.875F, -22.1F, 0.0F, 0.0F, 0.0F, 0.2182F)); - PartDefinition bone10 = panels3.addOrReplaceChild("bone10", CubeListBuilder.create(), PartPose.offset(0.25F, -9.0F, 0.0F)); + PartDefinition panels3 = panels2.addOrReplaceChild("panels3", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone11 = bone10.addOrReplaceChild("bone11", CubeListBuilder.create().texOffs(123, 129).addBox(-1.2287F, -0.8604F, 7.0F, 2.0F, 2.0F, 3.0F, new CubeDeformation(-0.025F)) - .texOffs(101, 129).addBox(-1.2287F, -0.8604F, -12.0F, 2.0F, 2.0F, 3.0F, new CubeDeformation(-0.025F)) - .texOffs(67, 115).addBox(9.7713F, -0.8854F, -4.5F, 3.0F, 1.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-20.5F, -5.5F, 1.0F, 0.0F, 0.0F, -0.6109F)); + PartDefinition bone10 = panels3.addOrReplaceChild("bone10", CubeListBuilder.create(), PartPose.offset(0.25F, -9.0F, 0.0F)); - PartDefinition bone12 = bone11.addOrReplaceChild("bone12", CubeListBuilder.create().texOffs(100, 13).addBox(0.0F, 0.05F, -3.0F, 14.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.7615F, -0.903F, 10.0F, 0.0F, 0.4363F, 0.0F)); + PartDefinition bone11 = bone10.addOrReplaceChild("bone11", CubeListBuilder.create().texOffs(123, 129).addBox(-1.2287F, -0.8604F, 7.0F, 2.0F, 2.0F, 3.0F, new CubeDeformation(-0.025F)) + .texOffs(101, 129).addBox(-1.2287F, -0.8604F, -12.0F, 2.0F, 2.0F, 3.0F, new CubeDeformation(-0.025F)) + .texOffs(67, 115).addBox(9.7713F, -0.8854F, -4.5F, 3.0F, 1.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-20.5F, -5.5F, 1.0F, 0.0F, 0.0F, -0.6109F)); - PartDefinition bone14 = bone11.addOrReplaceChild("bone14", CubeListBuilder.create().texOffs(38, 18).addBox(0.0F, 0.05F, 0.0F, 14.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.7615F, -0.903F, -12.0F, 0.0F, -0.4363F, 0.0F)); + PartDefinition bone12 = bone11.addOrReplaceChild("bone12", CubeListBuilder.create().texOffs(100, 13).addBox(0.0F, 0.05F, -3.0F, 14.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.7615F, -0.903F, 10.0F, 0.0F, 0.4363F, 0.0F)); - PartDefinition bone15 = panels3.addOrReplaceChild("bone15", CubeListBuilder.create(), PartPose.offset(0.0F, -9.0F, 0.0F)); + PartDefinition bone14 = bone11.addOrReplaceChild("bone14", CubeListBuilder.create().texOffs(38, 18).addBox(0.0F, 0.05F, 0.0F, 14.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.7615F, -0.903F, -12.0F, 0.0F, -0.4363F, 0.0F)); - PartDefinition bone16 = bone15.addOrReplaceChild("bone16", CubeListBuilder.create().texOffs(38, 0).addBox(0.0F, 0.0F, -8.0F, 12.0F, 1.0F, 16.0F, new CubeDeformation(0.0F)) - .texOffs(0, 28).addBox(0.25F, -0.05F, -8.0F, 13.0F, 1.0F, 16.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-21.0F, -5.0F, 0.0F, 0.0F, 0.0F, -0.6109F)); + PartDefinition bone15 = panels3.addOrReplaceChild("bone15", CubeListBuilder.create(), PartPose.offset(0.0F, -9.0F, 0.0F)); - PartDefinition bone17 = panels3.addOrReplaceChild("bone17", CubeListBuilder.create().texOffs(27, 106).addBox(0.5F, -4.75F, -4.5F, 1.0F, 5.0F, 9.0F, new CubeDeformation(0.5F)), PartPose.offsetAndRotation(-10.875F, -22.1F, 0.0F, 0.0F, 0.0F, 0.2182F)); + PartDefinition bone16 = bone15.addOrReplaceChild("bone16", CubeListBuilder.create().texOffs(38, 0).addBox(0.0F, 0.0F, -8.0F, 12.0F, 1.0F, 16.0F, new CubeDeformation(0.0F)) + .texOffs(0, 28).addBox(0.25F, -0.05F, -8.0F, 13.0F, 1.0F, 16.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-21.0F, -5.0F, 0.0F, 0.0F, 0.0F, -0.6109F)); - PartDefinition panels4 = panels3.addOrReplaceChild("panels4", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone17 = panels3.addOrReplaceChild("bone17", CubeListBuilder.create().texOffs(27, 106).addBox(0.5F, -4.75F, -4.5F, 1.0F, 5.0F, 9.0F, new CubeDeformation(0.5F)), PartPose.offsetAndRotation(-10.875F, -22.1F, 0.0F, 0.0F, 0.0F, 0.2182F)); - PartDefinition bone18 = panels4.addOrReplaceChild("bone18", CubeListBuilder.create(), PartPose.offset(0.25F, -9.0F, 0.0F)); + PartDefinition panels4 = panels3.addOrReplaceChild("panels4", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone22 = bone18.addOrReplaceChild("bone22", CubeListBuilder.create().texOffs(123, 129).addBox(-1.2287F, -0.8604F, 7.0F, 2.0F, 2.0F, 3.0F, new CubeDeformation(-0.025F)) - .texOffs(101, 129).addBox(-1.2287F, -0.8604F, -12.0F, 2.0F, 2.0F, 3.0F, new CubeDeformation(-0.025F)) - .texOffs(67, 115).addBox(9.7713F, -0.8854F, -4.5F, 3.0F, 1.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-20.5F, -5.5F, 1.0F, 0.0F, 0.0F, -0.6109F)); + PartDefinition bone18 = panels4.addOrReplaceChild("bone18", CubeListBuilder.create(), PartPose.offset(0.25F, -9.0F, 0.0F)); - PartDefinition bone23 = bone22.addOrReplaceChild("bone23", CubeListBuilder.create().texOffs(100, 13).addBox(0.0F, 0.05F, -3.0F, 14.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.7615F, -0.903F, 10.0F, 0.0F, 0.4363F, 0.0F)); + PartDefinition bone22 = bone18.addOrReplaceChild("bone22", CubeListBuilder.create().texOffs(123, 129).addBox(-1.2287F, -0.8604F, 7.0F, 2.0F, 2.0F, 3.0F, new CubeDeformation(-0.025F)) + .texOffs(101, 129).addBox(-1.2287F, -0.8604F, -12.0F, 2.0F, 2.0F, 3.0F, new CubeDeformation(-0.025F)) + .texOffs(67, 115).addBox(9.7713F, -0.8854F, -4.5F, 3.0F, 1.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-20.5F, -5.5F, 1.0F, 0.0F, 0.0F, -0.6109F)); - PartDefinition bone24 = bone22.addOrReplaceChild("bone24", CubeListBuilder.create().texOffs(38, 18).addBox(0.0F, 0.05F, 0.0F, 14.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.7615F, -0.903F, -12.0F, 0.0F, -0.4363F, 0.0F)); + PartDefinition bone23 = bone22.addOrReplaceChild("bone23", CubeListBuilder.create().texOffs(100, 13).addBox(0.0F, 0.05F, -3.0F, 14.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.7615F, -0.903F, 10.0F, 0.0F, 0.4363F, 0.0F)); - PartDefinition bone25 = panels4.addOrReplaceChild("bone25", CubeListBuilder.create(), PartPose.offset(0.0F, -9.0F, 0.0F)); + PartDefinition bone24 = bone22.addOrReplaceChild("bone24", CubeListBuilder.create().texOffs(38, 18).addBox(0.0F, 0.05F, 0.0F, 14.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.7615F, -0.903F, -12.0F, 0.0F, -0.4363F, 0.0F)); - PartDefinition bone26 = bone25.addOrReplaceChild("bone26", CubeListBuilder.create().texOffs(38, 0).addBox(0.0F, 0.0F, -8.0F, 12.0F, 1.0F, 16.0F, new CubeDeformation(0.0F)) - .texOffs(0, 28).addBox(0.25F, -0.05F, -8.0F, 13.0F, 1.0F, 16.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-21.0F, -5.0F, 0.0F, 0.0F, 0.0F, -0.6109F)); + PartDefinition bone25 = panels4.addOrReplaceChild("bone25", CubeListBuilder.create(), PartPose.offset(0.0F, -9.0F, 0.0F)); - PartDefinition bone27 = panels4.addOrReplaceChild("bone27", CubeListBuilder.create().texOffs(41, 48).addBox(0.5F, -4.75F, -4.5F, 1.0F, 5.0F, 9.0F, new CubeDeformation(0.5F)), PartPose.offsetAndRotation(-10.875F, -22.1F, 0.0F, 0.0F, 0.0F, 0.2182F)); + PartDefinition bone26 = bone25.addOrReplaceChild("bone26", CubeListBuilder.create().texOffs(38, 0).addBox(0.0F, 0.0F, -8.0F, 12.0F, 1.0F, 16.0F, new CubeDeformation(0.0F)) + .texOffs(0, 28).addBox(0.25F, -0.05F, -8.0F, 13.0F, 1.0F, 16.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-21.0F, -5.0F, 0.0F, 0.0F, 0.0F, -0.6109F)); - PartDefinition panels5 = panels4.addOrReplaceChild("panels5", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone27 = panels4.addOrReplaceChild("bone27", CubeListBuilder.create().texOffs(41, 48).addBox(0.5F, -4.75F, -4.5F, 1.0F, 5.0F, 9.0F, new CubeDeformation(0.5F)), PartPose.offsetAndRotation(-10.875F, -22.1F, 0.0F, 0.0F, 0.0F, 0.2182F)); - PartDefinition bone28 = panels5.addOrReplaceChild("bone28", CubeListBuilder.create(), PartPose.offset(0.25F, -9.0F, 0.0F)); + PartDefinition panels5 = panels4.addOrReplaceChild("panels5", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone29 = bone28.addOrReplaceChild("bone29", CubeListBuilder.create().texOffs(123, 129).addBox(-1.2287F, -0.8604F, 7.0F, 2.0F, 2.0F, 3.0F, new CubeDeformation(-0.025F)) - .texOffs(101, 129).addBox(-1.2287F, -0.8604F, -12.0F, 2.0F, 2.0F, 3.0F, new CubeDeformation(-0.025F)) - .texOffs(67, 115).addBox(9.7713F, -0.8854F, -4.5F, 3.0F, 1.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-20.5F, -5.5F, 1.0F, 0.0F, 0.0F, -0.6109F)); + PartDefinition bone28 = panels5.addOrReplaceChild("bone28", CubeListBuilder.create(), PartPose.offset(0.25F, -9.0F, 0.0F)); - PartDefinition bone30 = bone29.addOrReplaceChild("bone30", CubeListBuilder.create().texOffs(100, 13).addBox(0.0F, 0.05F, -3.0F, 14.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.7615F, -0.903F, 10.0F, 0.0F, 0.4363F, 0.0F)); + PartDefinition bone29 = bone28.addOrReplaceChild("bone29", CubeListBuilder.create().texOffs(123, 129).addBox(-1.2287F, -0.8604F, 7.0F, 2.0F, 2.0F, 3.0F, new CubeDeformation(-0.025F)) + .texOffs(101, 129).addBox(-1.2287F, -0.8604F, -12.0F, 2.0F, 2.0F, 3.0F, new CubeDeformation(-0.025F)) + .texOffs(67, 115).addBox(9.7713F, -0.8854F, -4.5F, 3.0F, 1.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-20.5F, -5.5F, 1.0F, 0.0F, 0.0F, -0.6109F)); - PartDefinition bone31 = bone29.addOrReplaceChild("bone31", CubeListBuilder.create().texOffs(38, 18).addBox(0.0F, 0.05F, 0.0F, 14.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.7615F, -0.903F, -12.0F, 0.0F, -0.4363F, 0.0F)); + PartDefinition bone30 = bone29.addOrReplaceChild("bone30", CubeListBuilder.create().texOffs(100, 13).addBox(0.0F, 0.05F, -3.0F, 14.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.7615F, -0.903F, 10.0F, 0.0F, 0.4363F, 0.0F)); - PartDefinition bone34 = panels5.addOrReplaceChild("bone34", CubeListBuilder.create(), PartPose.offset(0.0F, -9.0F, 0.0F)); + PartDefinition bone31 = bone29.addOrReplaceChild("bone31", CubeListBuilder.create().texOffs(38, 18).addBox(0.0F, 0.05F, 0.0F, 14.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.7615F, -0.903F, -12.0F, 0.0F, -0.4363F, 0.0F)); - PartDefinition bone35 = bone34.addOrReplaceChild("bone35", CubeListBuilder.create().texOffs(38, 0).addBox(0.0F, 0.0F, -8.0F, 12.0F, 1.0F, 16.0F, new CubeDeformation(0.0F)) - .texOffs(0, 28).addBox(0.25F, -0.05F, -8.0F, 13.0F, 1.0F, 16.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-21.0F, -5.0F, 0.0F, 0.0F, 0.0F, -0.6109F)); + PartDefinition bone34 = panels5.addOrReplaceChild("bone34", CubeListBuilder.create(), PartPose.offset(0.0F, -9.0F, 0.0F)); - PartDefinition bone36 = panels5.addOrReplaceChild("bone36", CubeListBuilder.create().texOffs(27, 106).addBox(0.5F, -4.75F, -4.5F, 1.0F, 5.0F, 9.0F, new CubeDeformation(0.5F)), PartPose.offsetAndRotation(-10.875F, -22.1F, 0.0F, 0.0F, 0.0F, 0.2182F)); + PartDefinition bone35 = bone34.addOrReplaceChild("bone35", CubeListBuilder.create().texOffs(38, 0).addBox(0.0F, 0.0F, -8.0F, 12.0F, 1.0F, 16.0F, new CubeDeformation(0.0F)) + .texOffs(0, 28).addBox(0.25F, -0.05F, -8.0F, 13.0F, 1.0F, 16.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-21.0F, -5.0F, 0.0F, 0.0F, 0.0F, -0.6109F)); - PartDefinition panels6 = panels5.addOrReplaceChild("panels6", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone36 = panels5.addOrReplaceChild("bone36", CubeListBuilder.create().texOffs(27, 106).addBox(0.5F, -4.75F, -4.5F, 1.0F, 5.0F, 9.0F, new CubeDeformation(0.5F)), PartPose.offsetAndRotation(-10.875F, -22.1F, 0.0F, 0.0F, 0.0F, 0.2182F)); - PartDefinition bone37 = panels6.addOrReplaceChild("bone37", CubeListBuilder.create(), PartPose.offset(0.25F, -9.0F, 0.0F)); + PartDefinition panels6 = panels5.addOrReplaceChild("panels6", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone38 = bone37.addOrReplaceChild("bone38", CubeListBuilder.create().texOffs(123, 129).addBox(-1.2287F, -0.8604F, 7.0F, 2.0F, 2.0F, 3.0F, new CubeDeformation(-0.025F)) - .texOffs(101, 129).addBox(-1.2287F, -0.8604F, -12.0F, 2.0F, 2.0F, 3.0F, new CubeDeformation(-0.025F)) - .texOffs(67, 115).addBox(9.7713F, -0.8854F, -4.5F, 3.0F, 1.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-20.5F, -5.5F, 1.0F, 0.0F, 0.0F, -0.6109F)); + PartDefinition bone37 = panels6.addOrReplaceChild("bone37", CubeListBuilder.create(), PartPose.offset(0.25F, -9.0F, 0.0F)); - PartDefinition bone39 = bone38.addOrReplaceChild("bone39", CubeListBuilder.create().texOffs(100, 13).addBox(0.0F, 0.05F, -3.0F, 14.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.7615F, -0.903F, 10.0F, 0.0F, 0.4363F, 0.0F)); + PartDefinition bone38 = bone37.addOrReplaceChild("bone38", CubeListBuilder.create().texOffs(123, 129).addBox(-1.2287F, -0.8604F, 7.0F, 2.0F, 2.0F, 3.0F, new CubeDeformation(-0.025F)) + .texOffs(101, 129).addBox(-1.2287F, -0.8604F, -12.0F, 2.0F, 2.0F, 3.0F, new CubeDeformation(-0.025F)) + .texOffs(67, 115).addBox(9.7713F, -0.8854F, -4.5F, 3.0F, 1.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-20.5F, -5.5F, 1.0F, 0.0F, 0.0F, -0.6109F)); - PartDefinition bone41 = bone38.addOrReplaceChild("bone41", CubeListBuilder.create().texOffs(38, 18).addBox(0.0F, 0.05F, 0.0F, 14.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.7615F, -0.903F, -12.0F, 0.0F, -0.4363F, 0.0F)); + PartDefinition bone39 = bone38.addOrReplaceChild("bone39", CubeListBuilder.create().texOffs(100, 13).addBox(0.0F, 0.05F, -3.0F, 14.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.7615F, -0.903F, 10.0F, 0.0F, 0.4363F, 0.0F)); - PartDefinition bone42 = panels6.addOrReplaceChild("bone42", CubeListBuilder.create(), PartPose.offset(0.0F, -9.0F, 0.0F)); + PartDefinition bone41 = bone38.addOrReplaceChild("bone41", CubeListBuilder.create().texOffs(38, 18).addBox(0.0F, 0.05F, 0.0F, 14.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.7615F, -0.903F, -12.0F, 0.0F, -0.4363F, 0.0F)); - PartDefinition bone43 = bone42.addOrReplaceChild("bone43", CubeListBuilder.create().texOffs(38, 0).addBox(0.0F, 0.0F, -8.0F, 12.0F, 1.0F, 16.0F, new CubeDeformation(0.0F)) - .texOffs(0, 28).addBox(0.25F, -0.05F, -8.0F, 13.0F, 1.0F, 16.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-21.0F, -5.0F, 0.0F, 0.0F, 0.0F, -0.6109F)); + PartDefinition bone42 = panels6.addOrReplaceChild("bone42", CubeListBuilder.create(), PartPose.offset(0.0F, -9.0F, 0.0F)); - PartDefinition bone44 = panels6.addOrReplaceChild("bone44", CubeListBuilder.create().texOffs(41, 48).addBox(0.5F, -4.75F, -4.5F, 1.0F, 5.0F, 9.0F, new CubeDeformation(0.5F)), PartPose.offsetAndRotation(-10.875F, -22.1F, 0.0F, 0.0F, 0.0F, 0.2182F)); + PartDefinition bone43 = bone42.addOrReplaceChild("bone43", CubeListBuilder.create().texOffs(38, 0).addBox(0.0F, 0.0F, -8.0F, 12.0F, 1.0F, 16.0F, new CubeDeformation(0.0F)) + .texOffs(0, 28).addBox(0.25F, -0.05F, -8.0F, 13.0F, 1.0F, 16.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-21.0F, -5.0F, 0.0F, 0.0F, 0.0F, -0.6109F)); - PartDefinition border = root.addOrReplaceChild("border", CubeListBuilder.create(), PartPose.offset(0.0F, 2.0F, 0.0F)); + PartDefinition bone44 = panels6.addOrReplaceChild("bone44", CubeListBuilder.create().texOffs(41, 48).addBox(0.5F, -4.75F, -4.5F, 1.0F, 5.0F, 9.0F, new CubeDeformation(0.5F)), PartPose.offsetAndRotation(-10.875F, -22.1F, 0.0F, 0.0F, 0.0F, 0.2182F)); - PartDefinition bone = border.addOrReplaceChild("bone", CubeListBuilder.create().texOffs(73, 78).addBox(-21.0F, -5.0F, -8.0F, 2.0F, 3.0F, 16.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -9.0F, 0.0F)); + PartDefinition border = root.addOrReplaceChild("border", CubeListBuilder.create(), PartPose.offset(0.0F, 2.0F, 0.0F)); - PartDefinition bone19 = border.addOrReplaceChild("bone19", CubeListBuilder.create().texOffs(73, 85).addBox(-21.25F, -6.0F, 8.0F, 3.0F, 4.0F, 3.0F, new CubeDeformation(0.0F)) - .texOffs(48, 75).addBox(-21.25F, -6.0F, -11.0F, 3.0F, 4.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offset(-0.5F, -8.5F, 0.0F)); + PartDefinition bone = border.addOrReplaceChild("bone", CubeListBuilder.create().texOffs(73, 78).addBox(-21.0F, -5.0F, -8.0F, 2.0F, 3.0F, 16.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -9.0F, 0.0F)); - PartDefinition bone63 = border.addOrReplaceChild("bone63", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); + PartDefinition bone19 = border.addOrReplaceChild("bone19", CubeListBuilder.create().texOffs(73, 85).addBox(-21.25F, -6.0F, 8.0F, 3.0F, 4.0F, 3.0F, new CubeDeformation(0.0F)) + .texOffs(48, 75).addBox(-21.25F, -6.0F, -11.0F, 3.0F, 4.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offset(-0.5F, -8.5F, 0.0F)); - PartDefinition bone62 = bone63.addOrReplaceChild("bone62", CubeListBuilder.create().texOffs(100, 23).addBox(0.0F, -0.5F, -0.5F, 13.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-22.25F, -14.5F, 0.0F, 0.0F, 0.0F, -0.5672F)); + PartDefinition bone63 = border.addOrReplaceChild("bone63", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); - PartDefinition border2 = border.addOrReplaceChild("border2", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone62 = bone63.addOrReplaceChild("bone62", CubeListBuilder.create().texOffs(100, 23).addBox(0.0F, -0.5F, -0.5F, 13.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-22.25F, -14.5F, 0.0F, 0.0F, 0.0F, -0.5672F)); - PartDefinition bone64 = border2.addOrReplaceChild("bone64", CubeListBuilder.create().texOffs(73, 78).addBox(-21.0F, -5.0F, -8.0F, 2.0F, 3.0F, 16.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -9.0F, 0.0F)); + PartDefinition border2 = border.addOrReplaceChild("border2", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone65 = border2.addOrReplaceChild("bone65", CubeListBuilder.create().texOffs(73, 85).addBox(-21.25F, -6.0F, 8.0F, 3.0F, 4.0F, 3.0F, new CubeDeformation(0.0F)) - .texOffs(48, 75).addBox(-21.25F, -6.0F, -11.0F, 3.0F, 4.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offset(-0.5F, -8.5F, 0.0F)); + PartDefinition bone64 = border2.addOrReplaceChild("bone64", CubeListBuilder.create().texOffs(73, 78).addBox(-21.0F, -5.0F, -8.0F, 2.0F, 3.0F, 16.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -9.0F, 0.0F)); - PartDefinition bone131 = border2.addOrReplaceChild("bone131", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); + PartDefinition bone65 = border2.addOrReplaceChild("bone65", CubeListBuilder.create().texOffs(73, 85).addBox(-21.25F, -6.0F, 8.0F, 3.0F, 4.0F, 3.0F, new CubeDeformation(0.0F)) + .texOffs(48, 75).addBox(-21.25F, -6.0F, -11.0F, 3.0F, 4.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offset(-0.5F, -8.5F, 0.0F)); - PartDefinition bone134 = bone131.addOrReplaceChild("bone134", CubeListBuilder.create().texOffs(100, 23).addBox(0.0F, -0.5F, -0.5F, 13.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-22.25F, -14.5F, 0.0F, 0.0F, 0.0F, -0.5672F)); + PartDefinition bone131 = border2.addOrReplaceChild("bone131", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); - PartDefinition border3 = border2.addOrReplaceChild("border3", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone134 = bone131.addOrReplaceChild("bone134", CubeListBuilder.create().texOffs(100, 23).addBox(0.0F, -0.5F, -0.5F, 13.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-22.25F, -14.5F, 0.0F, 0.0F, 0.0F, -0.5672F)); - PartDefinition bone135 = border3.addOrReplaceChild("bone135", CubeListBuilder.create().texOffs(73, 78).addBox(-21.0F, -5.0F, -8.0F, 2.0F, 3.0F, 16.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -9.0F, 0.0F)); + PartDefinition border3 = border2.addOrReplaceChild("border3", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone136 = border3.addOrReplaceChild("bone136", CubeListBuilder.create().texOffs(73, 85).addBox(-21.25F, -6.0F, 8.0F, 3.0F, 4.0F, 3.0F, new CubeDeformation(0.0F)) - .texOffs(48, 75).addBox(-21.25F, -6.0F, -11.0F, 3.0F, 4.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offset(-0.5F, -8.5F, 0.0F)); + PartDefinition bone135 = border3.addOrReplaceChild("bone135", CubeListBuilder.create().texOffs(73, 78).addBox(-21.0F, -5.0F, -8.0F, 2.0F, 3.0F, 16.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -9.0F, 0.0F)); - PartDefinition bone137 = border3.addOrReplaceChild("bone137", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); + PartDefinition bone136 = border3.addOrReplaceChild("bone136", CubeListBuilder.create().texOffs(73, 85).addBox(-21.25F, -6.0F, 8.0F, 3.0F, 4.0F, 3.0F, new CubeDeformation(0.0F)) + .texOffs(48, 75).addBox(-21.25F, -6.0F, -11.0F, 3.0F, 4.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offset(-0.5F, -8.5F, 0.0F)); - PartDefinition bone138 = bone137.addOrReplaceChild("bone138", CubeListBuilder.create().texOffs(100, 23).addBox(0.0F, -0.5F, -0.5F, 13.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-22.25F, -14.5F, 0.0F, 0.0F, 0.0F, -0.5672F)); + PartDefinition bone137 = border3.addOrReplaceChild("bone137", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); - PartDefinition border4 = border3.addOrReplaceChild("border4", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone138 = bone137.addOrReplaceChild("bone138", CubeListBuilder.create().texOffs(100, 23).addBox(0.0F, -0.5F, -0.5F, 13.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-22.25F, -14.5F, 0.0F, 0.0F, 0.0F, -0.5672F)); - PartDefinition bone238 = border4.addOrReplaceChild("bone238", CubeListBuilder.create().texOffs(73, 78).addBox(-21.0F, -5.0F, -8.0F, 2.0F, 3.0F, 16.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -9.0F, 0.0F)); + PartDefinition border4 = border3.addOrReplaceChild("border4", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone239 = border4.addOrReplaceChild("bone239", CubeListBuilder.create().texOffs(73, 85).addBox(-21.25F, -6.0F, 8.0F, 3.0F, 4.0F, 3.0F, new CubeDeformation(0.0F)) - .texOffs(48, 75).addBox(-21.25F, -6.0F, -11.0F, 3.0F, 4.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offset(-0.5F, -8.5F, 0.0F)); + PartDefinition bone238 = border4.addOrReplaceChild("bone238", CubeListBuilder.create().texOffs(73, 78).addBox(-21.0F, -5.0F, -8.0F, 2.0F, 3.0F, 16.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -9.0F, 0.0F)); - PartDefinition bone240 = border4.addOrReplaceChild("bone240", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); + PartDefinition bone239 = border4.addOrReplaceChild("bone239", CubeListBuilder.create().texOffs(73, 85).addBox(-21.25F, -6.0F, 8.0F, 3.0F, 4.0F, 3.0F, new CubeDeformation(0.0F)) + .texOffs(48, 75).addBox(-21.25F, -6.0F, -11.0F, 3.0F, 4.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offset(-0.5F, -8.5F, 0.0F)); - PartDefinition bone241 = bone240.addOrReplaceChild("bone241", CubeListBuilder.create().texOffs(100, 23).addBox(0.0F, -0.5F, -0.5F, 13.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-22.25F, -14.5F, 0.0F, 0.0F, 0.0F, -0.5672F)); + PartDefinition bone240 = border4.addOrReplaceChild("bone240", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); - PartDefinition border5 = border4.addOrReplaceChild("border5", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone241 = bone240.addOrReplaceChild("bone241", CubeListBuilder.create().texOffs(100, 23).addBox(0.0F, -0.5F, -0.5F, 13.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-22.25F, -14.5F, 0.0F, 0.0F, 0.0F, -0.5672F)); - PartDefinition bone242 = border5.addOrReplaceChild("bone242", CubeListBuilder.create().texOffs(73, 78).addBox(-21.0F, -5.0F, -8.0F, 2.0F, 3.0F, 16.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -9.0F, 0.0F)); + PartDefinition border5 = border4.addOrReplaceChild("border5", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone243 = border5.addOrReplaceChild("bone243", CubeListBuilder.create().texOffs(73, 85).addBox(-21.25F, -6.0F, 8.0F, 3.0F, 4.0F, 3.0F, new CubeDeformation(0.0F)) - .texOffs(48, 75).addBox(-21.25F, -6.0F, -11.0F, 3.0F, 4.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offset(-0.5F, -8.5F, 0.0F)); + PartDefinition bone242 = border5.addOrReplaceChild("bone242", CubeListBuilder.create().texOffs(73, 78).addBox(-21.0F, -5.0F, -8.0F, 2.0F, 3.0F, 16.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -9.0F, 0.0F)); - PartDefinition bone244 = border5.addOrReplaceChild("bone244", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); + PartDefinition bone243 = border5.addOrReplaceChild("bone243", CubeListBuilder.create().texOffs(73, 85).addBox(-21.25F, -6.0F, 8.0F, 3.0F, 4.0F, 3.0F, new CubeDeformation(0.0F)) + .texOffs(48, 75).addBox(-21.25F, -6.0F, -11.0F, 3.0F, 4.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offset(-0.5F, -8.5F, 0.0F)); - PartDefinition bone245 = bone244.addOrReplaceChild("bone245", CubeListBuilder.create().texOffs(100, 23).addBox(0.0F, -0.5F, -0.5F, 13.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-22.25F, -14.5F, 0.0F, 0.0F, 0.0F, -0.5672F)); + PartDefinition bone244 = border5.addOrReplaceChild("bone244", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); - PartDefinition border6 = border5.addOrReplaceChild("border6", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone245 = bone244.addOrReplaceChild("bone245", CubeListBuilder.create().texOffs(100, 23).addBox(0.0F, -0.5F, -0.5F, 13.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-22.25F, -14.5F, 0.0F, 0.0F, 0.0F, -0.5672F)); - PartDefinition bone246 = border6.addOrReplaceChild("bone246", CubeListBuilder.create().texOffs(73, 78).addBox(-21.0F, -5.0F, -8.0F, 2.0F, 3.0F, 16.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -9.0F, 0.0F)); + PartDefinition border6 = border5.addOrReplaceChild("border6", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone247 = border6.addOrReplaceChild("bone247", CubeListBuilder.create().texOffs(73, 85).addBox(-21.25F, -6.0F, 8.0F, 3.0F, 4.0F, 3.0F, new CubeDeformation(0.0F)) - .texOffs(48, 75).addBox(-21.25F, -6.0F, -11.0F, 3.0F, 4.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offset(-0.5F, -8.5F, 0.0F)); + PartDefinition bone246 = border6.addOrReplaceChild("bone246", CubeListBuilder.create().texOffs(73, 78).addBox(-21.0F, -5.0F, -8.0F, 2.0F, 3.0F, 16.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -9.0F, 0.0F)); - PartDefinition bone248 = border6.addOrReplaceChild("bone248", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); + PartDefinition bone247 = border6.addOrReplaceChild("bone247", CubeListBuilder.create().texOffs(73, 85).addBox(-21.25F, -6.0F, 8.0F, 3.0F, 4.0F, 3.0F, new CubeDeformation(0.0F)) + .texOffs(48, 75).addBox(-21.25F, -6.0F, -11.0F, 3.0F, 4.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offset(-0.5F, -8.5F, 0.0F)); - PartDefinition bone250 = bone248.addOrReplaceChild("bone250", CubeListBuilder.create().texOffs(100, 23).addBox(0.0F, -0.5F, -0.5F, 13.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-22.25F, -14.5F, 0.0F, 0.0F, 0.0F, -0.5672F)); + PartDefinition bone248 = border6.addOrReplaceChild("bone248", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); - PartDefinition rotorcolumn = root.addOrReplaceChild("rotorcolumn", CubeListBuilder.create(), PartPose.offset(0.0F, 0.0F, 0.0F)); + PartDefinition bone250 = bone248.addOrReplaceChild("bone250", CubeListBuilder.create().texOffs(100, 23).addBox(0.0F, -0.5F, -0.5F, 13.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-22.25F, -14.5F, 0.0F, 0.0F, 0.0F, -0.5672F)); - PartDefinition bone151 = rotorcolumn.addOrReplaceChild("bone151", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -8.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); + PartDefinition rotorcolumn = root.addOrReplaceChild("rotorcolumn", CubeListBuilder.create(), PartPose.offset(0.0F, 0.0F, 0.0F)); - PartDefinition bone152 = bone151.addOrReplaceChild("bone152", CubeListBuilder.create().texOffs(62, 48).addBox(0.25F, -52.5F, -2.0F, 1.0F, 52.0F, 4.0F, new CubeDeformation(0.0F)) - .texOffs(17, 123).addBox(-0.75F, -19.5F, -1.0F, 1.0F, 14.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-7.75F, -11.5F, 0.0F, 0.0F, 0.0F, -0.0436F)); + PartDefinition bone151 = rotorcolumn.addOrReplaceChild("bone151", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -8.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); - PartDefinition bone153 = bone151.addOrReplaceChild("bone153", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, 3.1416F, 0.0F)); + PartDefinition bone152 = bone151.addOrReplaceChild("bone152", CubeListBuilder.create().texOffs(62, 48).addBox(0.25F, -52.5F, -2.0F, 1.0F, 52.0F, 4.0F, new CubeDeformation(0.0F)) + .texOffs(17, 123).addBox(-0.75F, -19.5F, -1.0F, 1.0F, 14.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-7.75F, -11.5F, 0.0F, 0.0F, 0.0F, -0.0436F)); - PartDefinition bone154 = bone153.addOrReplaceChild("bone154", CubeListBuilder.create().texOffs(62, 48).addBox(0.25F, -52.5F, -2.0F, 1.0F, 52.0F, 4.0F, new CubeDeformation(0.0F)) - .texOffs(38, 0).addBox(0.15F, -14.5F, -2.0F, 1.0F, 9.0F, 4.0F, new CubeDeformation(0.0F)) - .texOffs(142, 8).addBox(-0.35F, -8.0F, 0.25F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-7.75F, -11.5F, 0.0F, 0.0F, 0.0F, -0.0436F)); + PartDefinition bone153 = bone151.addOrReplaceChild("bone153", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, 3.1416F, 0.0F)); - PartDefinition bone162 = bone154.addOrReplaceChild("bone162", CubeListBuilder.create().texOffs(141, 141).addBox(-0.75F, -0.5F, -1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.15F, -8.0F, -1.0F)); + PartDefinition bone154 = bone153.addOrReplaceChild("bone154", CubeListBuilder.create().texOffs(62, 48).addBox(0.25F, -52.5F, -2.0F, 1.0F, 52.0F, 4.0F, new CubeDeformation(0.0F)) + .texOffs(38, 0).addBox(0.15F, -14.5F, -2.0F, 1.0F, 9.0F, 4.0F, new CubeDeformation(0.0F)) + .texOffs(142, 8).addBox(-0.35F, -8.0F, 0.25F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-7.75F, -11.5F, 0.0F, 0.0F, 0.0F, -0.0436F)); - PartDefinition bone139 = rotorcolumn.addOrReplaceChild("bone139", CubeListBuilder.create().texOffs(73, 64).addBox(-10.4F, -13.0F, -6.0F, 11.0F, 1.0F, 12.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -7.0F, 0.0F)); + PartDefinition bone162 = bone154.addOrReplaceChild("bone162", CubeListBuilder.create().texOffs(141, 141).addBox(-0.75F, -0.5F, -1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.15F, -8.0F, -1.0F)); - PartDefinition bone140 = bone139.addOrReplaceChild("bone140", CubeListBuilder.create().texOffs(73, 64).addBox(-10.4F, -13.0F, -6.0F, 11.0F, 1.0F, 12.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone139 = rotorcolumn.addOrReplaceChild("bone139", CubeListBuilder.create().texOffs(73, 64).addBox(-10.4F, -13.0F, -6.0F, 11.0F, 1.0F, 12.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -7.0F, 0.0F)); - PartDefinition bone141 = bone140.addOrReplaceChild("bone141", CubeListBuilder.create().texOffs(73, 64).addBox(-10.4F, -13.0F, -6.0F, 11.0F, 1.0F, 12.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone140 = bone139.addOrReplaceChild("bone140", CubeListBuilder.create().texOffs(73, 64).addBox(-10.4F, -13.0F, -6.0F, 11.0F, 1.0F, 12.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(73, 64).addBox(-10.4F, -13.0F, -6.0F, 11.0F, 1.0F, 12.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, 64).addBox(-10.4F, -13.0F, -6.0F, 11.0F, 1.0F, 12.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, 64).addBox(-10.4F, -13.0F, -6.0F, 11.0F, 1.0F, 12.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(73, 64).addBox(-10.4F, -13.0F, -6.0F, 11.0F, 1.0F, 12.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(73, 64).addBox(-10.4F, -13.0F, -6.0F, 11.0F, 1.0F, 12.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, 64).addBox(-10.4F, -13.0F, -6.0F, 11.0F, 1.0F, 12.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bands = rotorcolumn.addOrReplaceChild("bands", CubeListBuilder.create(), PartPose.offset(0.0F, 0.0F, 0.0F)); + PartDefinition bone144 = bone143.addOrReplaceChild("bone144", CubeListBuilder.create().texOffs(73, 64).addBox(-10.4F, -13.0F, -6.0F, 11.0F, 1.0F, 12.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone169 = bands.addOrReplaceChild("bone169", CubeListBuilder.create().texOffs(0, 0).addBox(-8.65F, -15.0F, -5.0F, 1.0F, 5.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -48.0F, 0.0F, 0.0F, -0.5672F, 0.0F)); + PartDefinition bands = rotorcolumn.addOrReplaceChild("bands", CubeListBuilder.create(), PartPose.offset(0.0F, 0.0F, 0.0F)); - PartDefinition bone170 = bone169.addOrReplaceChild("bone170", CubeListBuilder.create().texOffs(0, 0).addBox(-8.65F, -15.0F, -5.0F, 1.0F, 5.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone169 = bands.addOrReplaceChild("bone169", CubeListBuilder.create().texOffs(0, 0).addBox(-8.65F, -15.0F, -5.0F, 1.0F, 5.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -48.0F, 0.0F, 0.0F, -0.5672F, 0.0F)); - PartDefinition bone171 = bone170.addOrReplaceChild("bone171", CubeListBuilder.create().texOffs(0, 0).addBox(-8.65F, -15.0F, -5.0F, 1.0F, 5.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone170 = bone169.addOrReplaceChild("bone170", CubeListBuilder.create().texOffs(0, 0).addBox(-8.65F, -15.0F, -5.0F, 1.0F, 5.0F, 10.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, 0).addBox(-8.65F, -15.0F, -5.0F, 1.0F, 5.0F, 10.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, 0).addBox(-8.65F, -15.0F, -5.0F, 1.0F, 5.0F, 10.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, 0).addBox(-8.65F, -15.0F, -5.0F, 1.0F, 5.0F, 10.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, 0).addBox(-8.65F, -15.0F, -5.0F, 1.0F, 5.0F, 10.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, 0).addBox(-8.65F, -15.0F, -5.0F, 1.0F, 5.0F, 10.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, 0).addBox(-8.65F, -15.0F, -5.0F, 1.0F, 5.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone129 = bands.addOrReplaceChild("bone129", CubeListBuilder.create().texOffs(17, 46).addBox(-7.8F, -15.0F, -4.5F, 1.0F, 5.0F, 9.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -31.0F, 0.0F, 0.0F, -0.5672F, 0.0F)); + PartDefinition bone174 = bone173.addOrReplaceChild("bone174", CubeListBuilder.create().texOffs(0, 0).addBox(-8.65F, -15.0F, -5.0F, 1.0F, 5.0F, 10.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(17, 46).addBox(-7.8F, -15.0F, -4.5F, 1.0F, 5.0F, 9.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone129 = bands.addOrReplaceChild("bone129", CubeListBuilder.create().texOffs(17, 46).addBox(-7.8F, -15.0F, -4.5F, 1.0F, 5.0F, 9.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -31.0F, 0.0F, 0.0F, -0.5672F, 0.0F)); - PartDefinition bone163 = bone130.addOrReplaceChild("bone163", CubeListBuilder.create().texOffs(17, 46).addBox(-7.8F, -15.0F, -4.5F, 1.0F, 5.0F, 9.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(17, 46).addBox(-7.8F, -15.0F, -4.5F, 1.0F, 5.0F, 9.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(17, 46).addBox(-7.8F, -15.0F, -4.5F, 1.0F, 5.0F, 9.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone163 = bone130.addOrReplaceChild("bone163", CubeListBuilder.create().texOffs(17, 46).addBox(-7.8F, -15.0F, -4.5F, 1.0F, 5.0F, 9.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(17, 46).addBox(-7.8F, -15.0F, -4.5F, 1.0F, 5.0F, 9.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(17, 46).addBox(-7.8F, -15.0F, -4.5F, 1.0F, 5.0F, 9.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(17, 46).addBox(-7.8F, -15.0F, -4.5F, 1.0F, 5.0F, 9.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(17, 46).addBox(-7.8F, -15.0F, -4.5F, 1.0F, 5.0F, 9.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone312 = bands.addOrReplaceChild("bone312", CubeListBuilder.create().texOffs(93, 98).addBox(-9.5982F, -2.0012F, -5.6625F, 1.0F, 4.0F, 11.0F, new CubeDeformation(0.0F)) - .texOffs(94, 78).addBox(-11.5982F, -0.0012F, -5.6625F, 3.0F, 1.0F, 11.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -42.0F, 0.0F, 0.0F, 0.5672F, 0.0F)); + PartDefinition bone166 = bone165.addOrReplaceChild("bone166", CubeListBuilder.create().texOffs(17, 46).addBox(-7.8F, -15.0F, -4.5F, 1.0F, 5.0F, 9.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone314 = bone312.addOrReplaceChild("bone314", CubeListBuilder.create().texOffs(93, 98).addBox(-9.525F, -15.0F, -5.5F, 1.0F, 4.0F, 11.0F, new CubeDeformation(0.0F)) - .texOffs(0, 0).addBox(-16.525F, -13.0F, -11.5F, 7.0F, 4.0F, 23.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-0.0732F, 12.9988F, -0.1625F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone312 = bands.addOrReplaceChild("bone312", CubeListBuilder.create().texOffs(93, 98).addBox(-9.5982F, -2.0012F, -5.6625F, 1.0F, 4.0F, 11.0F, new CubeDeformation(0.0F)) + .texOffs(94, 78).addBox(-11.5982F, -0.0012F, -5.6625F, 3.0F, 1.0F, 11.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -42.0F, 0.0F, 0.0F, 0.5672F, 0.0F)); - PartDefinition bone160 = bone314.addOrReplaceChild("bone160", CubeListBuilder.create().texOffs(84, 13).addBox(-0.5F, 5.5F, -6.5F, 1.0F, 7.0F, 13.0F, new CubeDeformation(0.0F)) - .texOffs(0, 116).addBox(0.5F, 9.5F, -3.5F, 1.0F, 4.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offset(-16.025F, -12.5F, 0.0F)); + PartDefinition bone314 = bone312.addOrReplaceChild("bone314", CubeListBuilder.create().texOffs(93, 98).addBox(-9.525F, -15.0F, -5.5F, 1.0F, 4.0F, 11.0F, new CubeDeformation(0.0F)) + .texOffs(0, 0).addBox(-16.525F, -13.0F, -11.5F, 7.0F, 4.0F, 23.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-0.0732F, 12.9988F, -0.1625F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone319 = bone160.addOrReplaceChild("bone319", CubeListBuilder.create().texOffs(111, 107).addBox(-0.5F, -3.5F, -3.5F, 1.0F, 7.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.25F, 4.0F, 0.0F, 0.7854F, 0.0F, 0.0F)); + PartDefinition bone160 = bone314.addOrReplaceChild("bone160", CubeListBuilder.create().texOffs(84, 13).addBox(-0.5F, 5.5F, -6.5F, 1.0F, 7.0F, 13.0F, new CubeDeformation(0.0F)) + .texOffs(0, 116).addBox(0.5F, 9.5F, -3.5F, 1.0F, 4.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offset(-16.025F, -12.5F, 0.0F)); - PartDefinition monitor_control = bone160.addOrReplaceChild("monitor_control", CubeListBuilder.create().texOffs(39, 95).addBox(-17.525F, -37.0F, -5.5F, 2.0F, 8.0F, 11.0F, new CubeDeformation(0.0F)), PartPose.offset(16.025F, 44.5F, 0.0F)); + PartDefinition bone319 = bone160.addOrReplaceChild("bone319", CubeListBuilder.create().texOffs(111, 107).addBox(-0.5F, -3.5F, -3.5F, 1.0F, 7.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.25F, 4.0F, 0.0F, 0.7854F, 0.0F, 0.0F)); - PartDefinition bone315 = bone314.addOrReplaceChild("bone315", CubeListBuilder.create().texOffs(93, 98).addBox(-9.525F, -15.0F, -5.5F, 1.0F, 4.0F, 11.0F, new CubeDeformation(0.0F)) - .texOffs(94, 78).addBox(-11.525F, -13.0F, -5.5F, 3.0F, 1.0F, 11.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition monitor_control = bone160.addOrReplaceChild("monitor_control", CubeListBuilder.create().texOffs(39, 95).addBox(-17.525F, -37.0F, -5.5F, 2.0F, 8.0F, 11.0F, new CubeDeformation(0.0F)), PartPose.offset(16.025F, 44.5F, 0.0F)); - PartDefinition bone316 = bone315.addOrReplaceChild("bone316", CubeListBuilder.create().texOffs(93, 98).addBox(-9.525F, -15.0F, -5.5F, 1.0F, 4.0F, 11.0F, new CubeDeformation(0.0F)) - .texOffs(94, 78).addBox(-11.525F, -13.0F, -5.5F, 3.0F, 1.0F, 11.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone315 = bone314.addOrReplaceChild("bone315", CubeListBuilder.create().texOffs(93, 98).addBox(-9.525F, -15.0F, -5.5F, 1.0F, 4.0F, 11.0F, new CubeDeformation(0.0F)) + .texOffs(94, 78).addBox(-11.525F, -13.0F, -5.5F, 3.0F, 1.0F, 11.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone317 = bone316.addOrReplaceChild("bone317", CubeListBuilder.create().texOffs(93, 98).addBox(-9.525F, -15.0F, -5.5F, 1.0F, 4.0F, 11.0F, new CubeDeformation(0.0F)) - .texOffs(0, 0).addBox(-16.525F, -13.0F, -11.5F, 7.0F, 4.0F, 23.0F, new CubeDeformation(0.0F)) - .texOffs(17, 46).addBox(-15.525F, -13.0F, -10.5F, 1.0F, 7.0F, 21.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone316 = bone315.addOrReplaceChild("bone316", CubeListBuilder.create().texOffs(93, 98).addBox(-9.525F, -15.0F, -5.5F, 1.0F, 4.0F, 11.0F, new CubeDeformation(0.0F)) + .texOffs(94, 78).addBox(-11.525F, -13.0F, -5.5F, 3.0F, 1.0F, 11.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition pulley_control5 = bone317.addOrReplaceChild("pulley_control5", CubeListBuilder.create().texOffs(12, 132).addBox(-0.75F, 12.0833F, -0.3333F, 1.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(22, 139).addBox(-0.5F, 11.3333F, -1.0833F, 1.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(49, 0).addBox(-0.25F, 0.0833F, -0.5833F, 1.0F, 12.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(-13.775F, -10.0833F, 2.0833F)); + PartDefinition bone317 = bone316.addOrReplaceChild("bone317", CubeListBuilder.create().texOffs(93, 98).addBox(-9.525F, -15.0F, -5.5F, 1.0F, 4.0F, 11.0F, new CubeDeformation(0.0F)) + .texOffs(0, 0).addBox(-16.525F, -13.0F, -11.5F, 7.0F, 4.0F, 23.0F, new CubeDeformation(0.0F)) + .texOffs(17, 46).addBox(-15.525F, -13.0F, -10.5F, 1.0F, 7.0F, 21.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone168 = bone317.addOrReplaceChild("bone168", CubeListBuilder.create().texOffs(82, 98).addBox(-2.5F, -2.5F, -2.5F, 5.0F, 5.0F, 5.0F, new CubeDeformation(0.0F)), PartPose.offset(-12.025F, -12.5F, 0.0F)); + PartDefinition pulley_control5 = bone317.addOrReplaceChild("pulley_control5", CubeListBuilder.create().texOffs(12, 132).addBox(-0.75F, 12.0833F, -0.3333F, 1.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(22, 139).addBox(-0.5F, 11.3333F, -1.0833F, 1.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(49, 0).addBox(-0.25F, 0.0833F, -0.5833F, 1.0F, 12.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(-13.775F, -10.0833F, 2.0833F)); - PartDefinition bone318 = bone317.addOrReplaceChild("bone318", CubeListBuilder.create().texOffs(93, 98).addBox(-9.525F, -15.0F, -5.5F, 1.0F, 4.0F, 11.0F, new CubeDeformation(0.0F)) - .texOffs(94, 78).addBox(-11.525F, -13.0F, -5.5F, 3.0F, 1.0F, 11.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone168 = bone317.addOrReplaceChild("bone168", CubeListBuilder.create().texOffs(82, 98).addBox(-2.5F, -2.5F, -2.5F, 5.0F, 5.0F, 5.0F, new CubeDeformation(0.0F)), PartPose.offset(-12.025F, -12.5F, 0.0F)); - PartDefinition bone145 = bands.addOrReplaceChild("bone145", CubeListBuilder.create().texOffs(110, 56).addBox(-6.925F, -15.0F, -4.0F, 1.0F, 5.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -10.0F, 0.0F, 0.0F, -0.5672F, 0.0F)); + PartDefinition bone318 = bone317.addOrReplaceChild("bone318", CubeListBuilder.create().texOffs(93, 98).addBox(-9.525F, -15.0F, -5.5F, 1.0F, 4.0F, 11.0F, new CubeDeformation(0.0F)) + .texOffs(94, 78).addBox(-11.525F, -13.0F, -5.5F, 3.0F, 1.0F, 11.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(110, 56).addBox(-6.925F, -15.0F, -4.0F, 1.0F, 5.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone145 = bands.addOrReplaceChild("bone145", CubeListBuilder.create().texOffs(110, 56).addBox(-6.925F, -15.0F, -4.0F, 1.0F, 5.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -10.0F, 0.0F, 0.0F, -0.5672F, 0.0F)); - PartDefinition bone147 = bone146.addOrReplaceChild("bone147", CubeListBuilder.create().texOffs(110, 56).addBox(-6.925F, -15.0F, -4.0F, 1.0F, 5.0F, 8.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(110, 56).addBox(-6.925F, -15.0F, -4.0F, 1.0F, 5.0F, 8.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(110, 56).addBox(-6.925F, -15.0F, -4.0F, 1.0F, 5.0F, 8.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(110, 56).addBox(-6.925F, -15.0F, -4.0F, 1.0F, 5.0F, 8.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(110, 56).addBox(-6.925F, -15.0F, -4.0F, 1.0F, 5.0F, 8.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(110, 56).addBox(-6.925F, -15.0F, -4.0F, 1.0F, 5.0F, 8.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(110, 56).addBox(-6.925F, -15.0F, -4.0F, 1.0F, 5.0F, 8.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(110, 56).addBox(-6.925F, -15.0F, -4.0F, 1.0F, 5.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone175 = rotorcolumn.addOrReplaceChild("bone175", CubeListBuilder.create().texOffs(73, 48).addBox(-10.65F, -15.0F, -5.0F, 12.0F, 5.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -62.0F, 0.0F)); + PartDefinition bone150 = bone149.addOrReplaceChild("bone150", CubeListBuilder.create().texOffs(110, 56).addBox(-6.925F, -15.0F, -4.0F, 1.0F, 5.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone176 = bone175.addOrReplaceChild("bone176", CubeListBuilder.create().texOffs(73, 48).addBox(-10.65F, -15.0F, -5.0F, 12.0F, 5.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone175 = rotorcolumn.addOrReplaceChild("bone175", CubeListBuilder.create().texOffs(73, 48).addBox(-10.65F, -15.0F, -5.0F, 12.0F, 5.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -62.0F, 0.0F)); - PartDefinition bone177 = bone176.addOrReplaceChild("bone177", CubeListBuilder.create().texOffs(73, 48).addBox(-10.65F, -15.0F, -5.0F, 12.0F, 5.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone176 = bone175.addOrReplaceChild("bone176", CubeListBuilder.create().texOffs(73, 48).addBox(-10.65F, -15.0F, -5.0F, 12.0F, 5.0F, 10.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(73, 48).addBox(-10.65F, -15.0F, -5.0F, 12.0F, 5.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone177 = bone176.addOrReplaceChild("bone177", CubeListBuilder.create().texOffs(73, 48).addBox(-10.65F, -15.0F, -5.0F, 12.0F, 5.0F, 10.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(73, 48).addBox(-10.65F, -15.0F, -5.0F, 12.0F, 5.0F, 10.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(73, 48).addBox(-10.65F, -15.0F, -5.0F, 12.0F, 5.0F, 10.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(73, 48).addBox(-10.65F, -15.0F, -5.0F, 12.0F, 5.0F, 10.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(73, 48).addBox(-10.65F, -15.0F, -5.0F, 12.0F, 5.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone181 = root.addOrReplaceChild("bone181", CubeListBuilder.create().texOffs(41, 48).addBox(-11.725F, -15.0F, -1.0F, 2.0F, 5.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -62.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); + PartDefinition bone180 = bone179.addOrReplaceChild("bone180", CubeListBuilder.create().texOffs(73, 48).addBox(-10.65F, -15.0F, -5.0F, 12.0F, 5.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone182 = bone181.addOrReplaceChild("bone182", CubeListBuilder.create().texOffs(41, 48).addBox(-11.725F, -15.0F, -1.0F, 2.0F, 5.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone181 = root.addOrReplaceChild("bone181", CubeListBuilder.create().texOffs(41, 48).addBox(-11.725F, -15.0F, -1.0F, 2.0F, 5.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -62.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); - PartDefinition bone183 = bone182.addOrReplaceChild("bone183", CubeListBuilder.create().texOffs(41, 48).addBox(-11.725F, -15.0F, -1.0F, 2.0F, 5.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone182 = bone181.addOrReplaceChild("bone182", CubeListBuilder.create().texOffs(41, 48).addBox(-11.725F, -15.0F, -1.0F, 2.0F, 5.0F, 2.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(41, 48).addBox(-11.725F, -15.0F, -1.0F, 2.0F, 5.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone183 = bone182.addOrReplaceChild("bone183", CubeListBuilder.create().texOffs(41, 48).addBox(-11.725F, -15.0F, -1.0F, 2.0F, 5.0F, 2.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(41, 48).addBox(-11.725F, -15.0F, -1.0F, 2.0F, 5.0F, 2.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(41, 48).addBox(-11.725F, -15.0F, -1.0F, 2.0F, 5.0F, 2.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(41, 48).addBox(-11.725F, -15.0F, -1.0F, 2.0F, 5.0F, 2.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(41, 48).addBox(-11.725F, -15.0F, -1.0F, 2.0F, 5.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bottombase = root.addOrReplaceChild("bottombase", CubeListBuilder.create().texOffs(79, 0).addBox(-9.0F, -13.0F, -5.5F, 10.0F, 1.0F, 11.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 15.0F, 0.0F)); + PartDefinition bone186 = bone185.addOrReplaceChild("bone186", CubeListBuilder.create().texOffs(41, 48).addBox(-11.725F, -15.0F, -1.0F, 2.0F, 5.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone188 = bottombase.addOrReplaceChild("bone188", CubeListBuilder.create().texOffs(79, 0).addBox(-9.0F, -13.0F, -5.5F, 10.0F, 1.0F, 11.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bottombase = root.addOrReplaceChild("bottombase", CubeListBuilder.create().texOffs(79, 0).addBox(-9.0F, -13.0F, -5.5F, 10.0F, 1.0F, 11.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 15.0F, 0.0F)); - PartDefinition bone189 = bone188.addOrReplaceChild("bone189", CubeListBuilder.create().texOffs(79, 0).addBox(-9.0F, -13.0F, -5.5F, 10.0F, 1.0F, 11.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone188 = bottombase.addOrReplaceChild("bone188", CubeListBuilder.create().texOffs(79, 0).addBox(-9.0F, -13.0F, -5.5F, 10.0F, 1.0F, 11.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(79, 0).addBox(-9.0F, -13.0F, -5.5F, 10.0F, 1.0F, 11.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone189 = bone188.addOrReplaceChild("bone189", CubeListBuilder.create().texOffs(79, 0).addBox(-9.0F, -13.0F, -5.5F, 10.0F, 1.0F, 11.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(79, 0).addBox(-9.0F, -13.0F, -5.5F, 10.0F, 1.0F, 11.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(79, 0).addBox(-9.0F, -13.0F, -5.5F, 10.0F, 1.0F, 11.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(79, 0).addBox(-9.0F, -13.0F, -5.5F, 10.0F, 1.0F, 11.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(79, 0).addBox(-9.0F, -13.0F, -5.5F, 10.0F, 1.0F, 11.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition rotor = partdefinition.addOrReplaceChild("rotor", CubeListBuilder.create().texOffs(17, 75).addBox(-5.0F, 0.0F, -5.0F, 10.0F, 5.0F, 10.0F, new CubeDeformation(0.0F)) - .texOffs(17, 75).addBox(-5.0F, 37.5F, -5.0F, 10.0F, 5.0F, 10.0F, new CubeDeformation(0.0F)) - .texOffs(17, 91).addBox(-4.0F, 25.5F, -4.0F, 8.0F, 6.0F, 8.0F, new CubeDeformation(0.0F)) - .texOffs(17, 91).addBox(-4.0F, 11.0F, -4.0F, 8.0F, 6.0F, 8.0F, new CubeDeformation(0.0F)) - .texOffs(109, 122).addBox(-2.0F, 19.5F, -2.0F, 4.0F, 4.0F, 4.0F, new CubeDeformation(1.0F)) - .texOffs(76, 126).addBox(-2.0F, 8.0F, -2.0F, 4.0F, 1.0F, 4.0F, new CubeDeformation(1.0F)) - .texOffs(76, 126).addBox(-2.0F, 33.5F, -2.0F, 4.0F, 1.0F, 4.0F, new CubeDeformation(1.0F)), PartPose.offset(0.0F, -48.0F, 0.0F)); + PartDefinition bone192 = bone191.addOrReplaceChild("bone192", CubeListBuilder.create().texOffs(79, 0).addBox(-9.0F, -13.0F, -5.5F, 10.0F, 1.0F, 11.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition misc = partdefinition.addOrReplaceChild("misc", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 14.0F, 0.0F, 0.0F, -2.618F, 0.0F)); + PartDefinition rotor = partdefinition.addOrReplaceChild("rotor", CubeListBuilder.create().texOffs(17, 75).addBox(-5.0F, 0.0F, -5.0F, 10.0F, 5.0F, 10.0F, new CubeDeformation(0.0F)) + .texOffs(17, 75).addBox(-5.0F, 37.5F, -5.0F, 10.0F, 5.0F, 10.0F, new CubeDeformation(0.0F)) + .texOffs(17, 91).addBox(-4.0F, 25.5F, -4.0F, 8.0F, 6.0F, 8.0F, new CubeDeformation(0.0F)) + .texOffs(17, 91).addBox(-4.0F, 11.0F, -4.0F, 8.0F, 6.0F, 8.0F, new CubeDeformation(0.0F)) + .texOffs(109, 122).addBox(-2.0F, 19.5F, -2.0F, 4.0F, 4.0F, 4.0F, new CubeDeformation(1.0F)) + .texOffs(76, 126).addBox(-2.0F, 8.0F, -2.0F, 4.0F, 1.0F, 4.0F, new CubeDeformation(1.0F)) + .texOffs(76, 126).addBox(-2.0F, 33.5F, -2.0F, 4.0F, 1.0F, 4.0F, new CubeDeformation(1.0F)), PartPose.offset(0.0F, -48.0F, 0.0F)); - PartDefinition bone198 = misc.addOrReplaceChild("bone198", CubeListBuilder.create().texOffs(129, 81).addBox(3.5F, -3.25F, -1.0F, 4.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(124, 141).addBox(7.5F, -2.25F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.25F)) - .texOffs(129, 76).addBox(3.5F, -3.25F, -1.0F, 4.0F, 2.0F, 2.0F, new CubeDeformation(0.1F)), PartPose.offsetAndRotation(-21.0F, -5.0F, 0.0F, 0.0F, 0.0F, -0.6109F)); + PartDefinition misc = partdefinition.addOrReplaceChild("misc", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 14.0F, 0.0F, 0.0F, -2.618F, 0.0F)); - PartDefinition pulley_control10 = bone198.addOrReplaceChild("pulley_control10", CubeListBuilder.create().texOffs(94, 86).addBox(-12.0F, -15.25F, -2.5F, 4.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(7, 140).addBox(-13.0F, -15.75F, -3.0F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(14.5F, 13.0F, 2.0F)); + PartDefinition bone198 = misc.addOrReplaceChild("bone198", CubeListBuilder.create().texOffs(129, 81).addBox(3.5F, -3.25F, -1.0F, 4.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(124, 141).addBox(7.5F, -2.25F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.25F)) + .texOffs(129, 76).addBox(3.5F, -3.25F, -1.0F, 4.0F, 2.0F, 2.0F, new CubeDeformation(0.1F)), PartPose.offsetAndRotation(-21.0F, -5.0F, 0.0F, 0.0F, 0.0F, -0.6109F)); - PartDefinition misc2 = partdefinition.addOrReplaceChild("misc2", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 14.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); + PartDefinition pulley_control10 = bone198.addOrReplaceChild("pulley_control10", CubeListBuilder.create().texOffs(94, 86).addBox(-12.0F, -15.25F, -2.5F, 4.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(7, 140).addBox(-13.0F, -15.75F, -3.0F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(14.5F, 13.0F, 2.0F)); - PartDefinition bone226 = misc2.addOrReplaceChild("bone226", CubeListBuilder.create().texOffs(129, 81).addBox(5.5F, -3.25F, -1.0F, 4.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(124, 141).addBox(9.5F, -2.25F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.25F)) - .texOffs(129, 76).addBox(5.5F, -3.25F, -1.0F, 4.0F, 2.0F, 2.0F, new CubeDeformation(0.1F)), PartPose.offsetAndRotation(-21.0F, -5.0F, 0.0F, 0.0F, 0.0F, -0.6109F)); + PartDefinition misc2 = partdefinition.addOrReplaceChild("misc2", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 14.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); - PartDefinition pulley_control9 = bone226.addOrReplaceChild("pulley_control9", CubeListBuilder.create().texOffs(94, 86).addBox(-12.0F, -15.25F, -2.5F, 4.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(7, 140).addBox(-13.0F, -15.75F, -3.0F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(16.5F, 13.0F, 2.0F)); + PartDefinition bone226 = misc2.addOrReplaceChild("bone226", CubeListBuilder.create().texOffs(129, 81).addBox(5.5F, -3.25F, -1.0F, 4.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(124, 141).addBox(9.5F, -2.25F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.25F)) + .texOffs(129, 76).addBox(5.5F, -3.25F, -1.0F, 4.0F, 2.0F, 2.0F, new CubeDeformation(0.1F)), PartPose.offsetAndRotation(-21.0F, -5.0F, 0.0F, 0.0F, 0.0F, -0.6109F)); - PartDefinition misc3 = partdefinition.addOrReplaceChild("misc3", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 14.0F, 0.0F, 0.0F, -1.5708F, 0.0F)); + PartDefinition pulley_control9 = bone226.addOrReplaceChild("pulley_control9", CubeListBuilder.create().texOffs(94, 86).addBox(-12.0F, -15.25F, -2.5F, 4.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(7, 140).addBox(-13.0F, -15.75F, -3.0F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(16.5F, 13.0F, 2.0F)); - PartDefinition bone256 = misc3.addOrReplaceChild("bone256", CubeListBuilder.create().texOffs(129, 81).addBox(6.5F, -3.25F, -1.0F, 4.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(124, 141).addBox(10.5F, -2.25F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.25F)) - .texOffs(129, 76).addBox(6.5F, -3.25F, -1.0F, 4.0F, 2.0F, 2.0F, new CubeDeformation(0.1F)), PartPose.offsetAndRotation(-21.0F, -5.0F, 0.0F, 0.0F, 0.0F, -0.6109F)); + PartDefinition misc3 = partdefinition.addOrReplaceChild("misc3", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 14.0F, 0.0F, 0.0F, -1.5708F, 0.0F)); - PartDefinition pulley_control6 = bone256.addOrReplaceChild("pulley_control6", CubeListBuilder.create().texOffs(94, 86).addBox(-12.0F, -15.25F, -2.5F, 4.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(7, 140).addBox(-13.0F, -15.75F, -3.0F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(17.5F, 13.0F, 2.0F)); + PartDefinition bone256 = misc3.addOrReplaceChild("bone256", CubeListBuilder.create().texOffs(129, 81).addBox(6.5F, -3.25F, -1.0F, 4.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(124, 141).addBox(10.5F, -2.25F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.25F)) + .texOffs(129, 76).addBox(6.5F, -3.25F, -1.0F, 4.0F, 2.0F, 2.0F, new CubeDeformation(0.1F)), PartPose.offsetAndRotation(-21.0F, -5.0F, 0.0F, 0.0F, 0.0F, -0.6109F)); - PartDefinition misc4 = partdefinition.addOrReplaceChild("misc4", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 14.0F, 0.0F, 0.0F, 0.5236F, 0.0F)); + PartDefinition pulley_control6 = bone256.addOrReplaceChild("pulley_control6", CubeListBuilder.create().texOffs(94, 86).addBox(-12.0F, -15.25F, -2.5F, 4.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(7, 140).addBox(-13.0F, -15.75F, -3.0F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(17.5F, 13.0F, 2.0F)); - PartDefinition bone277 = misc4.addOrReplaceChild("bone277", CubeListBuilder.create().texOffs(129, 81).addBox(5.5F, -3.25F, -1.0F, 4.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(124, 141).addBox(9.5F, -2.25F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.25F)) - .texOffs(129, 76).addBox(5.5F, -3.25F, -1.0F, 4.0F, 2.0F, 2.0F, new CubeDeformation(0.1F)), PartPose.offsetAndRotation(-21.0F, -5.0F, 0.0F, 0.0F, 0.0F, -0.6109F)); + PartDefinition misc4 = partdefinition.addOrReplaceChild("misc4", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 14.0F, 0.0F, 0.0F, 0.5236F, 0.0F)); - PartDefinition pulley_control7 = bone277.addOrReplaceChild("pulley_control7", CubeListBuilder.create().texOffs(94, 86).addBox(-12.0F, -15.25F, -2.5F, 4.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(7, 140).addBox(-13.0F, -15.75F, -3.0F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(16.5F, 13.0F, 2.0F)); + PartDefinition bone277 = misc4.addOrReplaceChild("bone277", CubeListBuilder.create().texOffs(129, 81).addBox(5.5F, -3.25F, -1.0F, 4.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(124, 141).addBox(9.5F, -2.25F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.25F)) + .texOffs(129, 76).addBox(5.5F, -3.25F, -1.0F, 4.0F, 2.0F, 2.0F, new CubeDeformation(0.1F)), PartPose.offsetAndRotation(-21.0F, -5.0F, 0.0F, 0.0F, 0.0F, -0.6109F)); - PartDefinition misc5 = partdefinition.addOrReplaceChild("misc5", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 14.0F, 0.0F, 0.0F, 1.5708F, 0.0F)); + PartDefinition pulley_control7 = bone277.addOrReplaceChild("pulley_control7", CubeListBuilder.create().texOffs(94, 86).addBox(-12.0F, -15.25F, -2.5F, 4.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(7, 140).addBox(-13.0F, -15.75F, -3.0F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(16.5F, 13.0F, 2.0F)); - PartDefinition bone296 = misc5.addOrReplaceChild("bone296", CubeListBuilder.create().texOffs(129, 81).addBox(5.5F, -3.25F, -1.0F, 4.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(124, 141).addBox(9.5F, -2.25F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.25F)) - .texOffs(129, 76).addBox(5.5F, -3.25F, -1.0F, 4.0F, 2.0F, 2.0F, new CubeDeformation(0.1F)), PartPose.offsetAndRotation(-21.0F, -5.0F, 0.0F, 0.0F, 0.0F, -0.6109F)); + PartDefinition misc5 = partdefinition.addOrReplaceChild("misc5", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 14.0F, 0.0F, 0.0F, 1.5708F, 0.0F)); - PartDefinition pulley_control8 = bone296.addOrReplaceChild("pulley_control8", CubeListBuilder.create().texOffs(94, 86).addBox(-12.0F, -15.25F, -2.5F, 4.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(7, 140).addBox(-13.0F, -15.75F, -3.0F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(16.5F, 13.0F, 2.0F)); + PartDefinition bone296 = misc5.addOrReplaceChild("bone296", CubeListBuilder.create().texOffs(129, 81).addBox(5.5F, -3.25F, -1.0F, 4.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(124, 141).addBox(9.5F, -2.25F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.25F)) + .texOffs(129, 76).addBox(5.5F, -3.25F, -1.0F, 4.0F, 2.0F, 2.0F, new CubeDeformation(0.1F)), PartPose.offsetAndRotation(-21.0F, -5.0F, 0.0F, 0.0F, 0.0F, -0.6109F)); - PartDefinition north_left = partdefinition.addOrReplaceChild("north_left", CubeListBuilder.create().texOffs(40, 138).addBox(-21.55F, -4.5F, 8.5F, 1.0F, 2.0F, 2.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(0.0F, 14.0F, 0.0F, 0.0F, -2.0944F, 0.0F)); + PartDefinition pulley_control8 = bone296.addOrReplaceChild("pulley_control8", CubeListBuilder.create().texOffs(94, 86).addBox(-12.0F, -15.25F, -2.5F, 4.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(7, 140).addBox(-13.0F, -15.75F, -3.0F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(16.5F, 13.0F, 2.0F)); - PartDefinition bone199 = north_left.addOrReplaceChild("bone199", CubeListBuilder.create().texOffs(66, 98).addBox(-1.0F, -0.5F, -5.5F, 2.0F, 5.0F, 11.0F, new CubeDeformation(0.25F)), PartPose.offset(-15.55F, -1.0F, 0.0F)); + PartDefinition north_left = partdefinition.addOrReplaceChild("north_left", CubeListBuilder.create().texOffs(40, 138).addBox(-21.55F, -4.5F, 8.5F, 1.0F, 2.0F, 2.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(0.0F, 14.0F, 0.0F, 0.0F, -2.0944F, 0.0F)); - PartDefinition bone46 = north_left.addOrReplaceChild("bone46", CubeListBuilder.create().texOffs(125, 0).addBox(5.0F, -0.75F, -2.0F, 4.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)) - .texOffs(73, 78).addBox(10.9069F, -0.8824F, -2.4743F, 2.0F, 1.0F, 5.0F, new CubeDeformation(0.0F)) - .texOffs(141, 99).addBox(11.4069F, -1.3824F, -1.4743F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-21.0F, -5.0F, 0.0F, 0.0F, 0.0F, -0.6109F)); + PartDefinition bone199 = north_left.addOrReplaceChild("bone199", CubeListBuilder.create().texOffs(66, 98).addBox(-1.0F, -0.5F, -5.5F, 2.0F, 5.0F, 11.0F, new CubeDeformation(0.25F)), PartPose.offset(-15.55F, -1.0F, 0.0F)); - PartDefinition ball_rotate_control = bone46.addOrReplaceChild("ball_rotate_control", CubeListBuilder.create().texOffs(24, 134).addBox(-1.0F, -1.0F, -1.0F, 2.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(7.0F, -0.5F, 0.0F)); + PartDefinition bone46 = north_left.addOrReplaceChild("bone46", CubeListBuilder.create().texOffs(125, 0).addBox(5.0F, -0.75F, -2.0F, 4.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)) + .texOffs(73, 78).addBox(10.9069F, -0.8824F, -2.4743F, 2.0F, 1.0F, 5.0F, new CubeDeformation(0.0F)) + .texOffs(141, 99).addBox(11.4069F, -1.3824F, -1.4743F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-21.0F, -5.0F, 0.0F, 0.0F, 0.0F, -0.6109F)); - PartDefinition bone48 = ball_rotate_control.addOrReplaceChild("bone48", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -1.75F, 0.0F, 0.0F, -1.5708F, 0.0F)); + PartDefinition ball_rotate_control = bone46.addOrReplaceChild("ball_rotate_control", CubeListBuilder.create().texOffs(24, 134).addBox(-1.0F, -1.0F, -1.0F, 2.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(7.0F, -0.5F, 0.0F)); - PartDefinition bone133 = bone48.addOrReplaceChild("bone133", CubeListBuilder.create().texOffs(0, 138).addBox(0.0F, -1.0F, -1.0F, 1.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, -0.7418F, 0.0F, 0.0F)); + PartDefinition bone48 = ball_rotate_control.addOrReplaceChild("bone48", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -1.75F, 0.0F, 0.0F, -1.5708F, 0.0F)); - PartDefinition bone47 = ball_rotate_control.addOrReplaceChild("bone47", CubeListBuilder.create().texOffs(0, 138).addBox(0.0F, -1.0F, -1.0F, 1.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.025F, -1.75F, 0.0F, -0.7854F, 0.0F, 0.0F)); + PartDefinition bone133 = bone48.addOrReplaceChild("bone133", CubeListBuilder.create().texOffs(0, 138).addBox(0.0F, -1.0F, -1.0F, 1.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, -0.7418F, 0.0F, 0.0F)); - PartDefinition bone155 = ball_rotate_control.addOrReplaceChild("bone155", CubeListBuilder.create().texOffs(124, 118).addBox(-1.75F, -0.5F, -2.25F, 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 bone47 = ball_rotate_control.addOrReplaceChild("bone47", CubeListBuilder.create().texOffs(0, 138).addBox(0.0F, -1.0F, -1.0F, 1.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.025F, -1.75F, 0.0F, -0.7854F, 0.0F, 0.0F)); - PartDefinition bone167 = ball_rotate_control.addOrReplaceChild("bone167", CubeListBuilder.create().texOffs(121, 107).addBox(0.0F, -1.5F, -0.5F, 1.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.0F, 0.0F, 0.0F, 0.0F, 0.3927F)); + PartDefinition bone155 = ball_rotate_control.addOrReplaceChild("bone155", CubeListBuilder.create().texOffs(124, 118).addBox(-1.75F, -0.5F, -2.25F, 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 bone157 = bone46.addOrReplaceChild("bone157", CubeListBuilder.create().texOffs(110, 136).addBox(-1.0F, -0.25F, -1.0F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(3.0F, -0.75F, 2.5F, 0.0F, 0.3491F, 0.0F)); + PartDefinition bone167 = ball_rotate_control.addOrReplaceChild("bone167", CubeListBuilder.create().texOffs(121, 107).addBox(0.0F, -1.5F, -0.5F, 1.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.0F, 0.0F, 0.0F, 0.0F, 0.3927F)); - PartDefinition button_control = bone157.addOrReplaceChild("button_control", CubeListBuilder.create().texOffs(122, 37).addBox(-18.5F, -17.0F, 2.0F, 1.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(18.0F, 15.75F, -2.5F)); + PartDefinition bone157 = bone46.addOrReplaceChild("bone157", CubeListBuilder.create().texOffs(110, 136).addBox(-1.0F, -0.25F, -1.0F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(3.0F, -0.75F, 2.5F, 0.0F, 0.3491F, 0.0F)); - PartDefinition bone156 = bone46.addOrReplaceChild("bone156", CubeListBuilder.create().texOffs(133, 36).addBox(-1.0F, -1.375F, -1.0F, 2.0F, 2.0F, 2.0F, new CubeDeformation(-0.25F)) - .texOffs(33, 136).addBox(-1.0F, -0.125F, -1.0F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(3.0F, -0.375F, -3.5F, 0.0F, -0.3491F, 0.0F)); + PartDefinition button_control = bone157.addOrReplaceChild("button_control", CubeListBuilder.create().texOffs(122, 37).addBox(-18.5F, -17.0F, 2.0F, 1.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(18.0F, 15.75F, -2.5F)); - PartDefinition bone161 = bone46.addOrReplaceChild("bone161", CubeListBuilder.create().texOffs(129, 65).addBox(3.055F, -1.3926F, -2.7243F, 4.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(135, 137).addBox(5.305F, -1.3926F, -2.7243F, 1.0F, 2.0F, 2.0F, new CubeDeformation(0.25F)) - .texOffs(7, 136).addBox(1.805F, -0.6426F, -2.4743F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(123, 26).addBox(7.305F, -0.1926F, -3.4743F, 6.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)) - .texOffs(136, 70).addBox(12.055F, -2.1926F, -1.4743F, 3.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(140, 4).addBox(9.305F, -0.4426F, -2.6993F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.25F)) - .texOffs(137, 129).addBox(9.555F, -2.1926F, -2.6993F, 1.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(1.6019F, -0.6898F, 11.0F, 0.0F, 0.4363F, 0.0F)); + PartDefinition bone156 = bone46.addOrReplaceChild("bone156", CubeListBuilder.create().texOffs(133, 36).addBox(-1.0F, -1.375F, -1.0F, 2.0F, 2.0F, 2.0F, new CubeDeformation(-0.25F)) + .texOffs(33, 136).addBox(-1.0F, -0.125F, -1.0F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(3.0F, -0.375F, -3.5F, 0.0F, -0.3491F, 0.0F)); - PartDefinition main_lever_control = bone161.addOrReplaceChild("main_lever_control", CubeListBuilder.create().texOffs(82, 98).addBox(-0.25F, -2.75F, -1.25F, 1.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(83, 78).addBox(-0.25F, -2.75F, 0.1987F, 1.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(4.305F, -0.8926F, -1.7243F, 0.0F, 0.0F, -0.2182F)); + PartDefinition bone161 = bone46.addOrReplaceChild("bone161", CubeListBuilder.create().texOffs(129, 65).addBox(3.055F, -1.3926F, -2.7243F, 4.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(135, 137).addBox(5.305F, -1.3926F, -2.7243F, 1.0F, 2.0F, 2.0F, new CubeDeformation(0.25F)) + .texOffs(7, 136).addBox(1.805F, -0.6426F, -2.4743F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(123, 26).addBox(7.305F, -0.1926F, -3.4743F, 6.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)) + .texOffs(136, 70).addBox(12.055F, -2.1926F, -1.4743F, 3.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(140, 4).addBox(9.305F, -0.4426F, -2.6993F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.25F)) + .texOffs(137, 129).addBox(9.555F, -2.1926F, -2.6993F, 1.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(1.6019F, -0.6898F, 11.0F, 0.0F, 0.4363F, 0.0F)); - PartDefinition bone187 = bone46.addOrReplaceChild("bone187", CubeListBuilder.create().texOffs(41, 63).addBox(3.055F, -0.6426F, 0.4743F, 4.0F, 1.0F, 2.0F, new CubeDeformation(0.25F)) - .texOffs(79, 13).addBox(3.055F, -0.6676F, 1.0993F, 4.0F, 1.0F, 1.0F, new CubeDeformation(0.25F)) - .texOffs(126, 124).addBox(7.805F, -0.1926F, 0.2757F, 5.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)) - .texOffs(124, 95).addBox(11.555F, -1.9426F, 1.2757F, 4.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(94, 91).addBox(8.805F, -0.6926F, 0.6257F, 3.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(53, 48).addBox(3.055F, -0.9926F, 0.5243F, 4.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(1.6019F, -0.6898F, -11.0F, 0.0F, -0.4363F, 0.0F)); + PartDefinition main_lever_control = bone161.addOrReplaceChild("main_lever_control", CubeListBuilder.create().texOffs(82, 98).addBox(-0.25F, -2.75F, -1.25F, 1.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(83, 78).addBox(-0.25F, -2.75F, 0.1987F, 1.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(4.305F, -0.8926F, -1.7243F, 0.0F, 0.0F, -0.2182F)); - PartDefinition bone197 = bone187.addOrReplaceChild("bone197", CubeListBuilder.create().texOffs(10, 116).addBox(-0.25F, -1.75F, -0.75F, 1.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(10.305F, -0.4426F, 1.1257F, 0.0F, 0.0F, 0.5672F)); + PartDefinition bone187 = bone46.addOrReplaceChild("bone187", CubeListBuilder.create().texOffs(41, 63).addBox(3.055F, -0.6426F, 0.4743F, 4.0F, 1.0F, 2.0F, new CubeDeformation(0.25F)) + .texOffs(79, 13).addBox(3.055F, -0.6676F, 1.0993F, 4.0F, 1.0F, 1.0F, new CubeDeformation(0.25F)) + .texOffs(126, 124).addBox(7.805F, -0.1926F, 0.2757F, 5.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)) + .texOffs(124, 95).addBox(11.555F, -1.9426F, 1.2757F, 4.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(94, 91).addBox(8.805F, -0.6926F, 0.6257F, 3.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(53, 48).addBox(3.055F, -0.9926F, 0.5243F, 4.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(1.6019F, -0.6898F, -11.0F, 0.0F, -0.4363F, 0.0F)); - PartDefinition bone196 = bone187.addOrReplaceChild("bone196", CubeListBuilder.create().texOffs(141, 91).addBox(-0.5F, -0.5F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(1.805F, -0.1426F, 1.4743F, 0.0F, 0.5236F, 0.0F)); + PartDefinition bone197 = bone187.addOrReplaceChild("bone197", CubeListBuilder.create().texOffs(10, 116).addBox(-0.25F, -1.75F, -0.75F, 1.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(10.305F, -0.4426F, 1.1257F, 0.0F, 0.0F, 0.5672F)); - PartDefinition bone195 = bone196.addOrReplaceChild("bone195", CubeListBuilder.create().texOffs(141, 80).addBox(0.0F, -0.75F, -0.25F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -0.5F, 0.0F, 0.0F, 0.0F, 0.6545F)); + PartDefinition bone196 = bone187.addOrReplaceChild("bone196", CubeListBuilder.create().texOffs(141, 91).addBox(-0.5F, -0.5F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(1.805F, -0.1426F, 1.4743F, 0.0F, 0.5236F, 0.0F)); - PartDefinition bone193 = bone187.addOrReplaceChild("bone193", CubeListBuilder.create().texOffs(83, 85).addBox(-0.25F, 0.0F, -0.75F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(3.805F, -1.0926F, 1.7493F, 0.0F, -0.9599F, 0.0F)); + PartDefinition bone195 = bone196.addOrReplaceChild("bone195", CubeListBuilder.create().texOffs(141, 80).addBox(0.0F, -0.75F, -0.25F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -0.5F, 0.0F, 0.0F, 0.0F, 0.6545F)); - PartDefinition bone194 = bone187.addOrReplaceChild("bone194", CubeListBuilder.create().texOffs(83, 85).addBox(-0.25F, 0.0F, -0.75F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(6.305F, -1.0926F, 1.7493F, 0.0F, -0.9599F, 0.0F)); + PartDefinition bone193 = bone187.addOrReplaceChild("bone193", CubeListBuilder.create().texOffs(83, 85).addBox(-0.25F, 0.0F, -0.75F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(3.805F, -1.0926F, 1.7493F, 0.0F, -0.9599F, 0.0F)); - PartDefinition bone45 = north_left.addOrReplaceChild("bone45", CubeListBuilder.create().texOffs(111, 0).addBox(-0.75F, -2.0F, -1.0F, 1.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-21.0F, -2.5F, 6.0F, 0.0F, 0.2618F, 0.2182F)); + PartDefinition bone194 = bone187.addOrReplaceChild("bone194", CubeListBuilder.create().texOffs(83, 85).addBox(-0.25F, 0.0F, -0.75F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(6.305F, -1.0926F, 1.7493F, 0.0F, -0.9599F, 0.0F)); - PartDefinition pulley_control = bone45.addOrReplaceChild("pulley_control", CubeListBuilder.create().texOffs(51, 28).addBox(-13.0F, -15.25F, -0.25F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(31, 106).addBox(-14.0F, -15.75F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(11.75F, 14.25F, -0.5F)); + PartDefinition bone45 = north_left.addOrReplaceChild("bone45", CubeListBuilder.create().texOffs(111, 0).addBox(-0.75F, -2.0F, -1.0F, 1.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-21.0F, -2.5F, 6.0F, 0.0F, 0.2618F, 0.2182F)); - PartDefinition bone159 = north_left.addOrReplaceChild("bone159", CubeListBuilder.create().texOffs(111, 0).addBox(-0.75F, -2.0F, -1.0F, 1.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-21.0F, -2.5F, -6.0F, 0.0F, -0.2618F, 0.2182F)); + PartDefinition pulley_control = bone45.addOrReplaceChild("pulley_control", CubeListBuilder.create().texOffs(51, 28).addBox(-13.0F, -15.25F, -0.25F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(31, 106).addBox(-14.0F, -15.75F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(11.75F, 14.25F, -0.5F)); - PartDefinition pulley_control2 = bone159.addOrReplaceChild("pulley_control2", CubeListBuilder.create().texOffs(51, 28).addBox(-13.0F, -15.25F, -1.25F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(31, 106).addBox(-14.0F, -15.75F, -1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(11.75F, 14.25F, 0.5F)); + PartDefinition bone159 = north_left.addOrReplaceChild("bone159", CubeListBuilder.create().texOffs(111, 0).addBox(-0.75F, -2.0F, -1.0F, 1.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-21.0F, -2.5F, -6.0F, 0.0F, -0.2618F, 0.2182F)); - PartDefinition valve_control8 = north_left.addOrReplaceChild("valve_control8", CubeListBuilder.create().texOffs(128, 137).addBox(-0.5F, -1.0F, -1.0F, 1.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-21.75F, -3.5F, -9.5F, -0.2618F, 0.0F, 0.0F)); + PartDefinition pulley_control2 = bone159.addOrReplaceChild("pulley_control2", CubeListBuilder.create().texOffs(51, 28).addBox(-13.0F, -15.25F, -1.25F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(31, 106).addBox(-14.0F, -15.75F, -1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(11.75F, 14.25F, 0.5F)); - PartDefinition bone223 = north_left.addOrReplaceChild("bone223", CubeListBuilder.create().texOffs(137, 114).addBox(-0.5F, -3.2F, 2.2F, 1.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(117, 139).addBox(-0.5F, -2.45F, -3.8F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(0, 28).addBox(-0.25F, -4.2F, -3.05F, 1.0F, 4.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(73, 55).addBox(-2.5F, -3.95F, -0.55F, 3.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(137, 86).addBox(-0.1F, -4.45F, -1.05F, 1.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(123, 31).addBox(-2.0F, -1.95F, -4.55F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(27, 112).addBox(-2.0F, -1.95F, -2.05F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-10.875F, -13.1F, 0.0F, 0.0F, 0.0F, 0.2182F)); + PartDefinition valve_control8 = north_left.addOrReplaceChild("valve_control8", CubeListBuilder.create().texOffs(128, 137).addBox(-0.5F, -1.0F, -1.0F, 1.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-21.75F, -3.5F, -9.5F, -0.2618F, 0.0F, 0.0F)); - PartDefinition bone225 = bone223.addOrReplaceChild("bone225", CubeListBuilder.create().texOffs(102, 139).addBox(-1.5F, -0.5F, -0.5F, 2.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-0.75F, -3.7F, 0.45F, 0.0F, 0.0F, -0.7854F)); + PartDefinition bone223 = north_left.addOrReplaceChild("bone223", CubeListBuilder.create().texOffs(137, 114).addBox(-0.5F, -3.2F, 2.2F, 1.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(117, 139).addBox(-0.5F, -2.45F, -3.8F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(0, 28).addBox(-0.25F, -4.2F, -3.05F, 1.0F, 4.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(73, 55).addBox(-2.5F, -3.95F, -0.55F, 3.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(137, 86).addBox(-0.1F, -4.45F, -1.05F, 1.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(123, 31).addBox(-2.0F, -1.95F, -4.55F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(27, 112).addBox(-2.0F, -1.95F, -2.05F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-10.875F, -13.1F, 0.0F, 0.0F, 0.0F, 0.2182F)); - PartDefinition bone224 = bone223.addOrReplaceChild("bone224", CubeListBuilder.create().texOffs(81, 137).addBox(-0.5F, -0.5F, -0.5F, 1.0F, 2.0F, 2.0F, new CubeDeformation(-0.05F)), PartPose.offsetAndRotation(0.15F, -3.45F, 3.2F, -0.7854F, 0.0F, 0.0F)); + PartDefinition bone225 = bone223.addOrReplaceChild("bone225", CubeListBuilder.create().texOffs(102, 139).addBox(-1.5F, -0.5F, -0.5F, 2.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-0.75F, -3.7F, 0.45F, 0.0F, 0.0F, -0.7854F)); - PartDefinition north_right = partdefinition.addOrReplaceChild("north_right", CubeListBuilder.create().texOffs(73, 48).addBox(-22.525F, -5.0F, -11.0F, 1.0F, 3.0F, 3.0F, new CubeDeformation(-0.25F)) - .texOffs(141, 64).addBox(-21.8F, -4.5F, 9.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(0.0F, 14.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone224 = bone223.addOrReplaceChild("bone224", CubeListBuilder.create().texOffs(81, 137).addBox(-0.5F, -0.5F, -0.5F, 1.0F, 2.0F, 2.0F, new CubeDeformation(-0.05F)), PartPose.offsetAndRotation(0.15F, -3.45F, 3.2F, -0.7854F, 0.0F, 0.0F)); - PartDefinition bone292 = north_right.addOrReplaceChild("bone292", CubeListBuilder.create().texOffs(111, 0).addBox(-3.75F, -4.5F, -3.5F, 3.0F, 1.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-16.75F, -2.85F, 0.0F, 0.0F, 0.0F, -1.0036F)); + PartDefinition north_right = partdefinition.addOrReplaceChild("north_right", CubeListBuilder.create().texOffs(73, 48).addBox(-22.525F, -5.0F, -11.0F, 1.0F, 3.0F, 3.0F, new CubeDeformation(-0.25F)) + .texOffs(141, 64).addBox(-21.8F, -4.5F, 9.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(0.0F, 14.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone295 = bone292.addOrReplaceChild("bone295", CubeListBuilder.create().texOffs(48, 115).addBox(0.0F, -1.0F, -2.5F, 4.0F, 6.0F, 5.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-2.75F, -4.0F, 0.0F, 0.0F, 0.0F, 0.3927F)); + PartDefinition bone292 = north_right.addOrReplaceChild("bone292", CubeListBuilder.create().texOffs(111, 0).addBox(-3.75F, -4.5F, -3.5F, 3.0F, 1.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-16.75F, -2.85F, 0.0F, 0.0F, 0.0F, -1.0036F)); - PartDefinition bone203 = north_right.addOrReplaceChild("bone203", CubeListBuilder.create().texOffs(141, 45).addBox(4.25F, -0.6F, 0.25F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(41, 134).addBox(2.25F, -0.6F, 2.25F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(121, 135).addBox(2.25F, -0.6F, -4.75F, 2.0F, 1.0F, 2.0F, new CubeDeformation(-0.25F)) - .texOffs(131, 132).addBox(2.0F, -0.1F, -5.25F, 1.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)) - .texOffs(109, 140).addBox(8.25F, -0.6F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(140, 123).addBox(11.3404F, -1.3868F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(109, 140).addBox(7.0F, -0.6F, 1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(109, 140).addBox(7.0F, -0.6F, -2.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-21.0F, -5.0F, 0.0F, 0.0F, 0.0F, -0.6109F)); + PartDefinition bone295 = bone292.addOrReplaceChild("bone295", CubeListBuilder.create().texOffs(48, 115).addBox(0.0F, -1.0F, -2.5F, 4.0F, 6.0F, 5.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-2.75F, -4.0F, 0.0F, 0.0F, 0.0F, 0.3927F)); - PartDefinition button_control2 = bone203.addOrReplaceChild("button_control2", CubeListBuilder.create().texOffs(140, 134).addBox(-18.25F, -15.85F, -4.25F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(21.0F, 15.0F, 0.0F)); + PartDefinition bone203 = north_right.addOrReplaceChild("bone203", CubeListBuilder.create().texOffs(141, 45).addBox(4.25F, -0.6F, 0.25F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(41, 134).addBox(2.25F, -0.6F, 2.25F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(121, 135).addBox(2.25F, -0.6F, -4.75F, 2.0F, 1.0F, 2.0F, new CubeDeformation(-0.25F)) + .texOffs(131, 132).addBox(2.0F, -0.1F, -5.25F, 1.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)) + .texOffs(109, 140).addBox(8.25F, -0.6F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(140, 123).addBox(11.3404F, -1.3868F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(109, 140).addBox(7.0F, -0.6F, 1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(109, 140).addBox(7.0F, -0.6F, -2.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-21.0F, -5.0F, 0.0F, 0.0F, 0.0F, -0.6109F)); - PartDefinition valve_control = bone203.addOrReplaceChild("valve_control", CubeListBuilder.create().texOffs(133, 16).addBox(-0.75F, -0.5F, -1.25F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(3.25F, -0.2F, 3.25F, 0.0F, -0.5236F, 0.0F)); + PartDefinition button_control2 = bone203.addOrReplaceChild("button_control2", CubeListBuilder.create().texOffs(140, 134).addBox(-18.25F, -15.85F, -4.25F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(21.0F, 15.0F, 0.0F)); - PartDefinition valve_control2 = bone203.addOrReplaceChild("valve_control2", CubeListBuilder.create().texOffs(62, 139).addBox(0.0F, -1.0F, -1.25F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(11.8404F, -1.3868F, 0.0F, 0.0F, -0.4363F, 0.0F)); + PartDefinition valve_control = bone203.addOrReplaceChild("valve_control", CubeListBuilder.create().texOffs(133, 16).addBox(-0.75F, -0.5F, -1.25F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(3.25F, -0.2F, 3.25F, 0.0F, -0.5236F, 0.0F)); - PartDefinition bone202 = bone203.addOrReplaceChild("bone202", CubeListBuilder.create().texOffs(10, 116).addBox(-2.5F, 0.15F, -2.5F, 5.0F, 1.0F, 5.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(6.5F, -0.25F, 0.0F, 0.0F, -0.7854F, 0.0F)); + PartDefinition valve_control2 = bone203.addOrReplaceChild("valve_control2", CubeListBuilder.create().texOffs(62, 139).addBox(0.0F, -1.0F, -1.25F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(11.8404F, -1.3868F, 0.0F, 0.0F, -0.4363F, 0.0F)); - PartDefinition bone211 = bone203.addOrReplaceChild("bone211", CubeListBuilder.create().texOffs(103, 91).addBox(7.055F, -0.6426F, -1.9743F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(17, 96).addBox(1.055F, -1.1426F, -1.9743F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.25F)) - .texOffs(95, 139).addBox(1.555F, -1.1426F, -2.4743F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(135, 108).addBox(5.555F, -0.1426F, -2.4743F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(1.6019F, -0.6898F, 11.0F, 0.0F, 0.4363F, 0.0F)); + PartDefinition bone202 = bone203.addOrReplaceChild("bone202", CubeListBuilder.create().texOffs(10, 116).addBox(-2.5F, 0.15F, -2.5F, 5.0F, 1.0F, 5.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(6.5F, -0.25F, 0.0F, 0.0F, -0.7854F, 0.0F)); - PartDefinition valve_control3 = bone211.addOrReplaceChild("valve_control3", CubeListBuilder.create().texOffs(88, 139).addBox(0.0F, -0.5F, -1.25F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(2.055F, -1.8926F, -1.4743F, 0.0F, -0.7418F, 0.0F)); + PartDefinition bone211 = bone203.addOrReplaceChild("bone211", CubeListBuilder.create().texOffs(103, 91).addBox(7.055F, -0.6426F, -1.9743F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(17, 96).addBox(1.055F, -1.1426F, -1.9743F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.25F)) + .texOffs(95, 139).addBox(1.555F, -1.1426F, -2.4743F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(135, 108).addBox(5.555F, -0.1426F, -2.4743F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(1.6019F, -0.6898F, 11.0F, 0.0F, 0.4363F, 0.0F)); - PartDefinition bone216 = bone211.addOrReplaceChild("bone216", CubeListBuilder.create().texOffs(83, 132).addBox(-0.5F, -0.5F, -1.5F, 1.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)) - .texOffs(0, 133).addBox(-1.0F, -1.0F, -1.0F, 2.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(5.055F, -1.1426F, -1.7243F, 0.0F, -0.3054F, 0.0F)); + PartDefinition valve_control3 = bone211.addOrReplaceChild("valve_control3", CubeListBuilder.create().texOffs(88, 139).addBox(0.0F, -0.5F, -1.25F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(2.055F, -1.8926F, -1.4743F, 0.0F, -0.7418F, 0.0F)); - PartDefinition lever_control = bone216.addOrReplaceChild("lever_control", CubeListBuilder.create().texOffs(140, 74).addBox(-0.625F, 0.0F, -3.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(34, 131).addBox(-0.375F, 0.0F, -3.0F, 1.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.125F, 0.0F, -1.5F, -0.2182F, 0.0F, 0.0F)); + PartDefinition bone216 = bone211.addOrReplaceChild("bone216", CubeListBuilder.create().texOffs(83, 132).addBox(-0.5F, -0.5F, -1.5F, 1.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)) + .texOffs(0, 133).addBox(-1.0F, -1.0F, -1.0F, 2.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(5.055F, -1.1426F, -1.7243F, 0.0F, -0.3054F, 0.0F)); - PartDefinition bone219 = bone211.addOrReplaceChild("bone219", CubeListBuilder.create().texOffs(73, 78).addBox(0.0F, -2.75F, 0.0F, 1.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(139, 55).addBox(-0.5F, -2.75F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(11.055F, -0.1426F, -2.9743F, 0.0F, -0.7418F, 0.0F)); + PartDefinition lever_control = bone216.addOrReplaceChild("lever_control", CubeListBuilder.create().texOffs(140, 74).addBox(-0.625F, 0.0F, -3.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(34, 131).addBox(-0.375F, 0.0F, -3.0F, 1.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.125F, 0.0F, -1.5F, -0.2182F, 0.0F, 0.0F)); - PartDefinition bone212 = bone211.addOrReplaceChild("bone212", CubeListBuilder.create().texOffs(140, 58).addBox(0.0F, -1.0F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(8.055F, -0.6426F, -1.4743F, 0.0F, 0.0F, 0.6109F)); + PartDefinition bone219 = bone211.addOrReplaceChild("bone219", CubeListBuilder.create().texOffs(73, 78).addBox(0.0F, -2.75F, 0.0F, 1.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(139, 55).addBox(-0.5F, -2.75F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(11.055F, -0.1426F, -2.9743F, 0.0F, -0.7418F, 0.0F)); - PartDefinition bone213 = bone203.addOrReplaceChild("bone213", CubeListBuilder.create().texOffs(129, 60).addBox(3.055F, -1.8926F, 0.6993F, 4.0F, 2.0F, 2.0F, new CubeDeformation(0.25F)) - .texOffs(90, 129).addBox(4.055F, -2.3926F, 0.1993F, 2.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)) - .texOffs(0, 38).addBox(2.555F, -2.4176F, 0.6993F, 5.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(1.6019F, -0.6898F, -11.0F, 0.0F, -0.4363F, 0.0F)); + PartDefinition bone212 = bone211.addOrReplaceChild("bone212", CubeListBuilder.create().texOffs(140, 58).addBox(0.0F, -1.0F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(8.055F, -0.6426F, -1.4743F, 0.0F, 0.0F, 0.6109F)); - PartDefinition main_lever_control2 = bone213.addOrReplaceChild("main_lever_control2", CubeListBuilder.create().texOffs(79, 0).addBox(-0.5F, -3.5F, -2.0F, 1.0F, 4.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(5.055F, -1.3926F, 1.6993F, 0.0F, 0.0F, 1.0472F)); + PartDefinition bone213 = bone203.addOrReplaceChild("bone213", CubeListBuilder.create().texOffs(129, 60).addBox(3.055F, -1.8926F, 0.6993F, 4.0F, 2.0F, 2.0F, new CubeDeformation(0.25F)) + .texOffs(90, 129).addBox(4.055F, -2.3926F, 0.1993F, 2.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)) + .texOffs(0, 38).addBox(2.555F, -2.4176F, 0.6993F, 5.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(1.6019F, -0.6898F, -11.0F, 0.0F, -0.4363F, 0.0F)); - PartDefinition bone208 = bone203.addOrReplaceChild("bone208", CubeListBuilder.create().texOffs(140, 35).addBox(0.0F, -0.75F, -0.25F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(5.5F, -0.2F, -1.5F, 0.0F, 0.5236F, 0.0F)); + PartDefinition main_lever_control2 = bone213.addOrReplaceChild("main_lever_control2", CubeListBuilder.create().texOffs(79, 0).addBox(-0.5F, -3.5F, -2.0F, 1.0F, 4.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(5.055F, -1.3926F, 1.6993F, 0.0F, 0.0F, 1.0472F)); - PartDefinition bone209 = bone203.addOrReplaceChild("bone209", CubeListBuilder.create().texOffs(140, 35).addBox(0.0F, -1.0F, -0.25F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(6.0F, -0.2F, 2.0F, 0.0F, -0.6545F, 0.0F)); + PartDefinition bone208 = bone203.addOrReplaceChild("bone208", CubeListBuilder.create().texOffs(140, 35).addBox(0.0F, -0.75F, -0.25F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(5.5F, -0.2F, -1.5F, 0.0F, 0.5236F, 0.0F)); - PartDefinition bone204 = bone203.addOrReplaceChild("bone204", CubeListBuilder.create().texOffs(34, 140).addBox(0.0F, -0.75F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(4.75F, -0.6F, 1.0F, 0.0F, 0.0F, 0.6545F)); + PartDefinition bone209 = bone203.addOrReplaceChild("bone209", CubeListBuilder.create().texOffs(140, 35).addBox(0.0F, -1.0F, -0.25F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(6.0F, -0.2F, 2.0F, 0.0F, -0.6545F, 0.0F)); - PartDefinition bone205 = bone203.addOrReplaceChild("bone205", CubeListBuilder.create().texOffs(14, 140).addBox(0.0F, -0.75F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(8.75F, -0.6F, 0.25F, 0.0F, 0.0F, 0.6545F)); + PartDefinition bone204 = bone203.addOrReplaceChild("bone204", CubeListBuilder.create().texOffs(34, 140).addBox(0.0F, -0.75F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(4.75F, -0.6F, 1.0F, 0.0F, 0.0F, 0.6545F)); - PartDefinition bone206 = bone203.addOrReplaceChild("bone206", CubeListBuilder.create().texOffs(14, 140).addBox(0.0F, -0.75F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(7.5F, -0.6F, 1.75F, 0.0F, 0.0F, 0.6545F)); + PartDefinition bone205 = bone203.addOrReplaceChild("bone205", CubeListBuilder.create().texOffs(14, 140).addBox(0.0F, -0.75F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(8.75F, -0.6F, 0.25F, 0.0F, 0.0F, 0.6545F)); - PartDefinition bone207 = bone203.addOrReplaceChild("bone207", CubeListBuilder.create().texOffs(14, 140).addBox(0.0F, -0.75F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(7.5F, -0.6F, -1.25F, 0.0F, 0.0F, 0.6545F)); + PartDefinition bone206 = bone203.addOrReplaceChild("bone206", CubeListBuilder.create().texOffs(14, 140).addBox(0.0F, -0.75F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(7.5F, -0.6F, 1.75F, 0.0F, 0.0F, 0.6545F)); - PartDefinition twist_control = north_right.addOrReplaceChild("twist_control", CubeListBuilder.create().texOffs(55, 139).addBox(-0.5F, -0.75F, -1.75F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-22.05F, -4.0F, 9.5F, -0.48F, 0.0F, 0.0F)); + PartDefinition bone207 = bone203.addOrReplaceChild("bone207", CubeListBuilder.create().texOffs(14, 140).addBox(0.0F, -0.75F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(7.5F, -0.6F, -1.25F, 0.0F, 0.0F, 0.6545F)); - PartDefinition bone221 = north_right.addOrReplaceChild("bone221", CubeListBuilder.create().texOffs(140, 11).addBox(-0.5F, -1.0F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(115, 70).addBox(-0.5F, -2.75F, -0.5F, 1.0F, 2.0F, 1.0F, new CubeDeformation(0.25F)) - .texOffs(140, 11).addBox(-0.5F, -3.5F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-10.9335F, -13.0456F, 3.5257F, 0.0F, 0.48F, 0.0F)); + PartDefinition twist_control = north_right.addOrReplaceChild("twist_control", CubeListBuilder.create().texOffs(55, 139).addBox(-0.5F, -0.75F, -1.75F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-22.05F, -4.0F, 9.5F, -0.48F, 0.0F, 0.0F)); - PartDefinition bone220 = bone221.addOrReplaceChild("bone220", CubeListBuilder.create().texOffs(69, 139).addBox(-0.75F, -0.5F, -1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(139, 55).addBox(-1.75F, -1.0F, -1.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.75F, -1.25F, -0.5F, 0.0F, -0.5672F, 0.0F)); + PartDefinition bone221 = north_right.addOrReplaceChild("bone221", CubeListBuilder.create().texOffs(140, 11).addBox(-0.5F, -1.0F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(115, 70).addBox(-0.5F, -2.75F, -0.5F, 1.0F, 2.0F, 1.0F, new CubeDeformation(0.25F)) + .texOffs(140, 11).addBox(-0.5F, -3.5F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-10.9335F, -13.0456F, 3.5257F, 0.0F, 0.48F, 0.0F)); - PartDefinition bone222 = north_right.addOrReplaceChild("bone222", CubeListBuilder.create().texOffs(94, 78).addBox(-0.1F, -3.15F, -4.0F, 1.0F, 3.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-10.875F, -13.1F, 0.0F, 0.0F, 0.0F, 0.2182F)); + PartDefinition bone220 = bone221.addOrReplaceChild("bone220", CubeListBuilder.create().texOffs(69, 139).addBox(-0.75F, -0.5F, -1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(139, 55).addBox(-1.75F, -1.0F, -1.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.75F, -1.25F, -0.5F, 0.0F, -0.5672F, 0.0F)); - PartDefinition east = partdefinition.addOrReplaceChild("east", CubeListBuilder.create().texOffs(29, 46).addBox(-16.0F, -13.1F, -1.0F, 2.0F, 5.0F, 2.0F, new CubeDeformation(0.25F)) - .texOffs(13, 0).addBox(-16.0F, -13.6F, -1.0F, 2.0F, 5.0F, 2.0F, new CubeDeformation(0.5F)) - .texOffs(0, 116).addBox(-22.55F, -4.5F, -10.5F, 1.0F, 2.0F, 2.0F, new CubeDeformation(0.25F)), PartPose.offset(0.0F, 14.0F, 0.0F)); + PartDefinition bone222 = north_right.addOrReplaceChild("bone222", CubeListBuilder.create().texOffs(94, 78).addBox(-0.1F, -3.15F, -4.0F, 1.0F, 3.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-10.875F, -13.1F, 0.0F, 0.0F, 0.0F, 0.2182F)); - PartDefinition bone158 = east.addOrReplaceChild("bone158", CubeListBuilder.create().texOffs(139, 41).addBox(-1.0F, -1.0F, -0.625F, 2.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(132, 99).addBox(-1.5F, -1.5F, -0.375F, 3.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(-15.0F, -11.6F, -1.625F)); + PartDefinition east = partdefinition.addOrReplaceChild("east", CubeListBuilder.create().texOffs(29, 46).addBox(-16.0F, -13.1F, -1.0F, 2.0F, 5.0F, 2.0F, new CubeDeformation(0.25F)) + .texOffs(13, 0).addBox(-16.0F, -13.6F, -1.0F, 2.0F, 5.0F, 2.0F, new CubeDeformation(0.5F)) + .texOffs(0, 116).addBox(-22.55F, -4.5F, -10.5F, 1.0F, 2.0F, 2.0F, new CubeDeformation(0.25F)), PartPose.offset(0.0F, 14.0F, 0.0F)); - PartDefinition bone214 = east.addOrReplaceChild("bone214", CubeListBuilder.create().texOffs(66, 98).addBox(-1.0F, -0.5F, -5.5F, 2.0F, 5.0F, 11.0F, new CubeDeformation(1.5F)), PartPose.offset(-12.55F, -1.0F, 0.0F)); + PartDefinition bone158 = east.addOrReplaceChild("bone158", CubeListBuilder.create().texOffs(139, 41).addBox(-1.0F, -1.0F, -0.625F, 2.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(132, 99).addBox(-1.5F, -1.5F, -0.375F, 3.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(-15.0F, -11.6F, -1.625F)); - PartDefinition bone228 = east.addOrReplaceChild("bone228", CubeListBuilder.create().texOffs(124, 89).addBox(5.5F, -0.35F, -2.0F, 4.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)) - .texOffs(134, 46).addBox(5.0F, -0.6F, -4.75F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(135, 104).addBox(2.5F, -0.6F, 3.0F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(135, 104).addBox(1.5F, -0.6F, -5.0F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(40, 127).addBox(2.5F, -0.1F, -2.0F, 2.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)) - .texOffs(81, 115).addBox(3.0F, -0.2F, -1.75F, 1.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-21.0F, -5.0F, 0.0F, 0.0F, 0.0F, -0.6109F)); + PartDefinition bone214 = east.addOrReplaceChild("bone214", CubeListBuilder.create().texOffs(66, 98).addBox(-1.0F, -0.5F, -5.5F, 2.0F, 5.0F, 11.0F, new CubeDeformation(1.5F)), PartPose.offset(-12.55F, -1.0F, 0.0F)); - PartDefinition twist_control2 = bone228.addOrReplaceChild("twist_control2", CubeListBuilder.create().texOffs(38, 121).addBox(-0.5F, -1.0F, -0.5F, 1.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(3.5F, -0.85F, 4.0F, 0.0F, -2.2253F, 0.0F)); + PartDefinition bone228 = east.addOrReplaceChild("bone228", CubeListBuilder.create().texOffs(124, 89).addBox(5.5F, -0.35F, -2.0F, 4.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)) + .texOffs(134, 46).addBox(5.0F, -0.6F, -4.75F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(135, 104).addBox(2.5F, -0.6F, 3.0F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(135, 104).addBox(1.5F, -0.6F, -5.0F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(40, 127).addBox(2.5F, -0.1F, -2.0F, 2.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)) + .texOffs(81, 115).addBox(3.0F, -0.2F, -1.75F, 1.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-21.0F, -5.0F, 0.0F, 0.0F, 0.0F, -0.6109F)); - PartDefinition button_control3 = bone228.addOrReplaceChild("button_control3", CubeListBuilder.create().texOffs(29, 139).addBox(-19.0F, -16.1F, -4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(21.0F, 15.0F, 0.0F)); + PartDefinition twist_control2 = bone228.addOrReplaceChild("twist_control2", CubeListBuilder.create().texOffs(38, 121).addBox(-0.5F, -1.0F, -0.5F, 1.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(3.5F, -0.85F, 4.0F, 0.0F, -2.2253F, 0.0F)); - PartDefinition valve_control5 = bone228.addOrReplaceChild("valve_control5", CubeListBuilder.create().texOffs(101, 135).addBox(-0.75F, -0.475F, -1.25F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(48, 115).addBox(-0.5F, -0.75F, -0.5F, 1.0F, 2.0F, 1.0F, new CubeDeformation(-0.25F)), PartPose.offsetAndRotation(6.0F, -0.85F, -3.75F, 0.0F, -0.4363F, 0.0F)); + PartDefinition button_control3 = bone228.addOrReplaceChild("button_control3", CubeListBuilder.create().texOffs(29, 139).addBox(-19.0F, -16.1F, -4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(21.0F, 15.0F, 0.0F)); - PartDefinition bone230 = bone228.addOrReplaceChild("bone230", CubeListBuilder.create().texOffs(135, 95).addBox(1.055F, -0.6426F, -2.4743F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(135, 95).addBox(9.055F, -0.6426F, -2.4743F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(138, 31).addBox(1.555F, -1.1426F, -1.9743F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(1.6019F, -0.6898F, 11.0F, 0.0F, 0.4363F, 0.0F)); + PartDefinition valve_control5 = bone228.addOrReplaceChild("valve_control5", CubeListBuilder.create().texOffs(101, 135).addBox(-0.75F, -0.475F, -1.25F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(48, 115).addBox(-0.5F, -0.75F, -0.5F, 1.0F, 2.0F, 1.0F, new CubeDeformation(-0.25F)), PartPose.offsetAndRotation(6.0F, -0.85F, -3.75F, 0.0F, -0.4363F, 0.0F)); - PartDefinition bone255 = bone230.addOrReplaceChild("bone255", CubeListBuilder.create(), PartPose.offsetAndRotation(5.555F, -0.1426F, -1.4743F, 0.0F, -0.3927F, 0.0F)); + PartDefinition bone230 = bone228.addOrReplaceChild("bone230", CubeListBuilder.create().texOffs(135, 95).addBox(1.055F, -0.6426F, -2.4743F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(135, 95).addBox(9.055F, -0.6426F, -2.4743F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(138, 31).addBox(1.555F, -1.1426F, -1.9743F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(1.6019F, -0.6898F, 11.0F, 0.0F, 0.4363F, 0.0F)); - PartDefinition bone254 = bone255.addOrReplaceChild("bone254", CubeListBuilder.create(), PartPose.offsetAndRotation(-1.0F, -0.5F, 0.0F, 0.0F, 0.0F, -0.7854F)); + PartDefinition bone255 = bone230.addOrReplaceChild("bone255", CubeListBuilder.create(), PartPose.offsetAndRotation(5.555F, -0.1426F, -1.4743F, 0.0F, -0.3927F, 0.0F)); - PartDefinition bone253 = bone230.addOrReplaceChild("bone253", CubeListBuilder.create().texOffs(110, 95).addBox(0.0F, -1.5F, -0.25F, 1.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(2.055F, -1.1426F, -1.4743F, 0.0F, 0.0F, 0.7418F)); + PartDefinition bone254 = bone255.addOrReplaceChild("bone254", CubeListBuilder.create(), PartPose.offsetAndRotation(-1.0F, -0.5F, 0.0F, 0.0F, 0.0F, -0.7854F)); - PartDefinition bone261 = bone230.addOrReplaceChild("bone261", CubeListBuilder.create().texOffs(66, 105).addBox(-1.5F, -0.5F, -1.0F, 3.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(5.555F, -0.1426F, -1.4743F, 0.0F, -0.3927F, 0.0F)); + PartDefinition bone253 = bone230.addOrReplaceChild("bone253", CubeListBuilder.create().texOffs(110, 95).addBox(0.0F, -1.5F, -0.25F, 1.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(2.055F, -1.1426F, -1.4743F, 0.0F, 0.0F, 0.7418F)); - PartDefinition lever_control3 = bone261.addOrReplaceChild("lever_control3", CubeListBuilder.create().texOffs(73, 73).addBox(0.0F, -1.0F, -0.5F, 4.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-1.0F, -0.5F, 0.0F, 0.0F, 0.0F, -0.1745F)); + PartDefinition bone261 = bone230.addOrReplaceChild("bone261", CubeListBuilder.create().texOffs(66, 105).addBox(-1.5F, -0.5F, -1.0F, 3.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(5.555F, -0.1426F, -1.4743F, 0.0F, -0.3927F, 0.0F)); - PartDefinition bone263 = bone230.addOrReplaceChild("bone263", CubeListBuilder.create().texOffs(138, 20).addBox(-1.0F, -4.25F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.25F)) - .texOffs(137, 119).addBox(-0.5F, 0.0F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(10.055F, -1.6426F, -1.4743F, 0.0F, -0.6981F, 0.0F)); + PartDefinition lever_control3 = bone261.addOrReplaceChild("lever_control3", CubeListBuilder.create().texOffs(73, 73).addBox(0.0F, -1.0F, -0.5F, 4.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-1.0F, -0.5F, 0.0F, 0.0F, 0.0F, -0.1745F)); - PartDefinition bone264 = bone263.addOrReplaceChild("bone264", CubeListBuilder.create().texOffs(92, 135).addBox(-3.0F, -2.0F, -0.5F, 3.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.5F, 0.25F, 0.0F, 0.0F, 0.8727F)); + PartDefinition bone263 = bone230.addOrReplaceChild("bone263", CubeListBuilder.create().texOffs(138, 20).addBox(-1.0F, -4.25F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.25F)) + .texOffs(137, 119).addBox(-0.5F, 0.0F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(10.055F, -1.6426F, -1.4743F, 0.0F, -0.6981F, 0.0F)); - PartDefinition bone236 = bone228.addOrReplaceChild("bone236", CubeListBuilder.create().texOffs(42, 91).addBox(0.055F, -0.6426F, 0.4743F, 3.0F, 1.0F, 2.0F, new CubeDeformation(0.25F)) - .texOffs(139, 23).addBox(2.805F, 0.0824F, 0.2243F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(1.6019F, -0.6898F, -11.0F, 0.0F, -0.4363F, 0.0F)); + PartDefinition bone264 = bone263.addOrReplaceChild("bone264", CubeListBuilder.create().texOffs(92, 135).addBox(-3.0F, -2.0F, -0.5F, 3.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.5F, 0.25F, 0.0F, 0.0F, 0.8727F)); - PartDefinition bone235 = bone236.addOrReplaceChild("bone235", CubeListBuilder.create().texOffs(134, 55).addBox(-0.5F, -0.5F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(7.9885F, -0.197F, 1.75F, 0.0F, 0.1745F, 0.0F)); + PartDefinition bone236 = bone228.addOrReplaceChild("bone236", CubeListBuilder.create().texOffs(42, 91).addBox(0.055F, -0.6426F, 0.4743F, 3.0F, 1.0F, 2.0F, new CubeDeformation(0.25F)) + .texOffs(139, 23).addBox(2.805F, 0.0824F, 0.2243F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(1.6019F, -0.6898F, -11.0F, 0.0F, -0.4363F, 0.0F)); - PartDefinition lever_control2 = bone235.addOrReplaceChild("lever_control2", CubeListBuilder.create().texOffs(13, 46).addBox(-3.75F, -1.75F, 0.0F, 5.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.75F, -0.5F, 0.0F, 0.0F, 0.0F, -0.3054F)); + PartDefinition bone235 = bone236.addOrReplaceChild("bone235", CubeListBuilder.create().texOffs(134, 55).addBox(-0.5F, -0.5F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(7.9885F, -0.197F, 1.75F, 0.0F, 0.1745F, 0.0F)); - PartDefinition bone249 = east.addOrReplaceChild("bone249", CubeListBuilder.create().texOffs(48, 137).addBox(-0.5F, -2.15F, -3.5F, 1.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(74, 137).addBox(-0.5F, -4.65F, -1.5F, 1.0F, 2.0F, 2.0F, new CubeDeformation(0.25F)) - .texOffs(131, 129).addBox(-0.5F, -3.9F, -3.1F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(48, 137).addBox(-0.5F, -2.15F, -1.0F, 1.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(48, 137).addBox(-0.5F, -2.15F, 1.5F, 1.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(110, 91).addBox(-0.5F, -4.65F, 2.0F, 1.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(90, 13).addBox(-2.0F, -4.15F, 2.25F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-10.875F, -13.1F, 0.0F, 0.0F, 0.0F, 0.2182F)); + PartDefinition lever_control2 = bone235.addOrReplaceChild("lever_control2", CubeListBuilder.create().texOffs(13, 46).addBox(-3.75F, -1.75F, 0.0F, 5.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.75F, -0.5F, 0.0F, 0.0F, 0.0F, -0.3054F)); - PartDefinition bone260 = bone249.addOrReplaceChild("bone260", CubeListBuilder.create().texOffs(24, 129).addBox(-1.0F, 0.0F, -3.0F, 3.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-0.75F, -3.15F, -0.25F, 0.0F, 0.5236F, -0.5236F)); + PartDefinition bone249 = east.addOrReplaceChild("bone249", CubeListBuilder.create().texOffs(48, 137).addBox(-0.5F, -2.15F, -3.5F, 1.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(74, 137).addBox(-0.5F, -4.65F, -1.5F, 1.0F, 2.0F, 2.0F, new CubeDeformation(0.25F)) + .texOffs(131, 129).addBox(-0.5F, -3.9F, -3.1F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(48, 137).addBox(-0.5F, -2.15F, -1.0F, 1.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(48, 137).addBox(-0.5F, -2.15F, 1.5F, 1.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(110, 91).addBox(-0.5F, -4.65F, 2.0F, 1.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(90, 13).addBox(-2.0F, -4.15F, 2.25F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-10.875F, -13.1F, 0.0F, 0.0F, 0.0F, 0.2182F)); - PartDefinition bone259 = bone249.addOrReplaceChild("bone259", CubeListBuilder.create().texOffs(138, 0).addBox(-0.75F, 0.0F, -1.0F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-0.75F, -4.15F, -0.5F, 0.0F, 0.0F, 0.5672F)); + PartDefinition bone260 = bone249.addOrReplaceChild("bone260", CubeListBuilder.create().texOffs(24, 129).addBox(-1.0F, 0.0F, -3.0F, 3.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-0.75F, -3.15F, -0.25F, 0.0F, 0.5236F, -0.5236F)); - PartDefinition bone237 = bone249.addOrReplaceChild("bone237", CubeListBuilder.create().texOffs(71, 130).addBox(0.0F, -0.75F, -0.75F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-0.525F, -1.15F, 2.5F, -2.1817F, 0.0F, 0.0F)); + PartDefinition bone259 = bone249.addOrReplaceChild("bone259", CubeListBuilder.create().texOffs(138, 0).addBox(-0.75F, 0.0F, -1.0F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-0.75F, -4.15F, -0.5F, 0.0F, 0.0F, 0.5672F)); - PartDefinition bone251 = bone249.addOrReplaceChild("bone251", CubeListBuilder.create().texOffs(71, 130).addBox(0.0F, -0.75F, -0.75F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-0.525F, -1.15F, 0.0F, 0.6545F, 0.0F, 0.0F)); + PartDefinition bone237 = bone249.addOrReplaceChild("bone237", CubeListBuilder.create().texOffs(71, 130).addBox(0.0F, -0.75F, -0.75F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-0.525F, -1.15F, 2.5F, -2.1817F, 0.0F, 0.0F)); - PartDefinition bone252 = bone249.addOrReplaceChild("bone252", CubeListBuilder.create().texOffs(71, 130).addBox(0.0F, -0.75F, -0.75F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-0.525F, -1.15F, -2.5F, 0.6545F, 0.0F, 0.0F)); + PartDefinition bone251 = bone249.addOrReplaceChild("bone251", CubeListBuilder.create().texOffs(71, 130).addBox(0.0F, -0.75F, -0.75F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-0.525F, -1.15F, 0.0F, 0.6545F, 0.0F, 0.0F)); - PartDefinition bone229 = east.addOrReplaceChild("bone229", CubeListBuilder.create().texOffs(17, 61).addBox(-2.0F, -0.5F, -2.0F, 6.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-15.25F, -10.6F, 0.0F, 0.0F, 0.0F, -0.3927F)); + PartDefinition bone252 = bone249.addOrReplaceChild("bone252", CubeListBuilder.create().texOffs(71, 130).addBox(0.0F, -0.75F, -0.75F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-0.525F, -1.15F, -2.5F, 0.6545F, 0.0F, 0.0F)); - PartDefinition twist_control3 = east.addOrReplaceChild("twist_control3", CubeListBuilder.create().texOffs(98, 129).addBox(-0.5F, -0.5F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(54, 31).addBox(-1.0F, 0.5F, -0.5F, 1.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-22.3F, -4.0F, 9.5F, -0.5236F, 0.0F, 0.0F)); + PartDefinition bone229 = east.addOrReplaceChild("bone229", CubeListBuilder.create().texOffs(17, 61).addBox(-2.0F, -0.5F, -2.0F, 6.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-15.25F, -10.6F, 0.0F, 0.0F, 0.0F, -0.3927F)); - PartDefinition bone278 = twist_control3.addOrReplaceChild("bone278", CubeListBuilder.create().texOffs(108, 52).addBox(-0.25F, -1.75F, -1.0F, 1.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.25F, 0.0F, 0.0F, -0.7418F, 0.0F, 0.0F)); + PartDefinition twist_control3 = east.addOrReplaceChild("twist_control3", CubeListBuilder.create().texOffs(98, 129).addBox(-0.5F, -0.5F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(54, 31).addBox(-1.0F, 0.5F, -0.5F, 1.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-22.3F, -4.0F, 9.5F, -0.5236F, 0.0F, 0.0F)); - PartDefinition south_right = partdefinition.addOrReplaceChild("south_right", CubeListBuilder.create().texOffs(84, 34).addBox(-18.55F, -1.5F, -4.0F, 8.0F, 3.0F, 8.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(0.0F, 14.0F, 0.0F, 0.0F, 1.0472F, 0.0F)); + PartDefinition bone278 = twist_control3.addOrReplaceChild("bone278", CubeListBuilder.create().texOffs(108, 52).addBox(-0.25F, -1.75F, -1.0F, 1.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.25F, 0.0F, 0.0F, -0.7418F, 0.0F, 0.0F)); - PartDefinition spinthing_control = south_right.addOrReplaceChild("spinthing_control", CubeListBuilder.create().texOffs(88, 18).addBox(-1.5F, -2.0F, -0.5F, 3.0F, 4.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-15.0F, -10.6F, 0.0F, 0.0F, 0.4363F, 0.0F)); + PartDefinition south_right = partdefinition.addOrReplaceChild("south_right", CubeListBuilder.create().texOffs(84, 34).addBox(-18.55F, -1.5F, -4.0F, 8.0F, 3.0F, 8.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(0.0F, 14.0F, 0.0F, 0.0F, 1.0472F, 0.0F)); - PartDefinition spinthingP2_control = spinthing_control.addOrReplaceChild("spinthingP2_control", CubeListBuilder.create().texOffs(74, 132).addBox(-1.0F, -1.0F, -1.0F, 2.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(129, 86).addBox(-0.5F, -0.5F, -2.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(49, 127).addBox(-0.5F, -0.5F, 0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(24, 123).addBox(0.0F, -1.75F, -1.0F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.75F, 0.0F, 0.3927F, 0.0F, 0.0F)); + PartDefinition spinthing_control = south_right.addOrReplaceChild("spinthing_control", CubeListBuilder.create().texOffs(88, 18).addBox(-1.5F, -2.0F, -0.5F, 3.0F, 4.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-15.0F, -10.6F, 0.0F, 0.0F, 0.4363F, 0.0F)); - PartDefinition bone265 = south_right.addOrReplaceChild("bone265", CubeListBuilder.create().texOffs(63, 124).addBox(5.5F, -0.35F, -2.0F, 4.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)) - .texOffs(108, 70).addBox(11.0F, -0.9F, -2.0F, 1.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)) - .texOffs(67, 135).addBox(3.5F, -0.85F, 3.5F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(58, 135).addBox(2.5F, -0.35F, 2.5F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-21.0F, -5.0F, 0.0F, 0.0F, 0.0F, -0.6109F)); + PartDefinition spinthingP2_control = spinthing_control.addOrReplaceChild("spinthingP2_control", CubeListBuilder.create().texOffs(74, 132).addBox(-1.0F, -1.0F, -1.0F, 2.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(129, 86).addBox(-0.5F, -0.5F, -2.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(49, 127).addBox(-0.5F, -0.5F, 0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(24, 123).addBox(0.0F, -1.75F, -1.0F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.75F, 0.0F, 0.3927F, 0.0F, 0.0F)); - PartDefinition valve_control4 = bone265.addOrReplaceChild("valve_control4", CubeListBuilder.create().texOffs(0, 108).addBox(-0.5F, -1.25F, -0.5F, 1.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(129, 6).addBox(-1.5F, -0.25F, -1.5F, 3.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)) - .texOffs(53, 127).addBox(-1.25F, -1.0F, -1.25F, 3.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(3.0F, -0.6F, -3.0F, 0.0F, 0.5236F, 0.0F)); + PartDefinition bone265 = south_right.addOrReplaceChild("bone265", CubeListBuilder.create().texOffs(63, 124).addBox(5.5F, -0.35F, -2.0F, 4.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)) + .texOffs(108, 70).addBox(11.0F, -0.9F, -2.0F, 1.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)) + .texOffs(67, 135).addBox(3.5F, -0.85F, 3.5F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(58, 135).addBox(2.5F, -0.35F, 2.5F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-21.0F, -5.0F, 0.0F, 0.0F, 0.0F, -0.6109F)); - PartDefinition bone267 = bone265.addOrReplaceChild("bone267", CubeListBuilder.create().texOffs(0, 128).addBox(2.055F, -1.6426F, -2.4743F, 4.0F, 2.0F, 2.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(1.6019F, -0.6898F, 11.0F, 0.0F, 0.4363F, 0.0F)); + PartDefinition valve_control4 = bone265.addOrReplaceChild("valve_control4", CubeListBuilder.create().texOffs(0, 108).addBox(-0.5F, -1.25F, -0.5F, 1.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(129, 6).addBox(-1.5F, -0.25F, -1.5F, 3.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)) + .texOffs(53, 127).addBox(-1.25F, -1.0F, -1.25F, 3.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(3.0F, -0.6F, -3.0F, 0.0F, 0.5236F, 0.0F)); - PartDefinition lever_control5 = bone267.addOrReplaceChild("lever_control5", CubeListBuilder.create().texOffs(52, 40).addBox(0.25F, -1.2424F, -1.9984F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.25F)), PartPose.offset(3.305F, -1.7517F, -1.6599F)); + PartDefinition bone267 = bone265.addOrReplaceChild("bone267", CubeListBuilder.create().texOffs(0, 128).addBox(2.055F, -1.6426F, -2.4743F, 4.0F, 2.0F, 2.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(1.6019F, -0.6898F, 11.0F, 0.0F, 0.4363F, 0.0F)); - PartDefinition lever_control6 = bone267.addOrReplaceChild("lever_control6", CubeListBuilder.create().texOffs(16, 16).addBox(0.25F, -2.25F, -1.3F, 1.0F, 2.0F, 2.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(4.055F, -1.8926F, -0.9243F, 0.0F, 0.0F, 0.9599F)); + PartDefinition lever_control5 = bone267.addOrReplaceChild("lever_control5", CubeListBuilder.create().texOffs(52, 40).addBox(0.25F, -1.2424F, -1.9984F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.25F)), PartPose.offset(3.305F, -1.7517F, -1.6599F)); - PartDefinition bone269 = bone267.addOrReplaceChild("bone269", CubeListBuilder.create().texOffs(51, 132).addBox(-1.0F, -0.5F, -1.0F, 2.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(53, 52).addBox(-0.25F, -0.025F, -1.75F, 2.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(9.055F, -0.1426F, -1.4743F, 0.0F, -0.7854F, 0.0F)); + PartDefinition lever_control6 = bone267.addOrReplaceChild("lever_control6", CubeListBuilder.create().texOffs(16, 16).addBox(0.25F, -2.25F, -1.3F, 1.0F, 2.0F, 2.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(4.055F, -1.8926F, -0.9243F, 0.0F, 0.0F, 0.9599F)); - PartDefinition bone275 = bone265.addOrReplaceChild("bone275", CubeListBuilder.create().texOffs(112, 131).addBox(3.055F, -1.6426F, 0.4743F, 3.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(61, 26).addBox(6.055F, -0.2426F, 0.9743F, 8.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(121, 60).addBox(2.805F, -2.8926F, 1.4743F, 2.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(1.6019F, -0.6898F, -11.0F, 0.0F, -0.4363F, 0.0F)); + PartDefinition bone269 = bone267.addOrReplaceChild("bone269", CubeListBuilder.create().texOffs(51, 132).addBox(-1.0F, -0.5F, -1.0F, 2.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(53, 52).addBox(-0.25F, -0.025F, -1.75F, 2.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(9.055F, -0.1426F, -1.4743F, 0.0F, -0.7854F, 0.0F)); - PartDefinition lever_control4 = bone275.addOrReplaceChild("lever_control4", CubeListBuilder.create().texOffs(134, 51).addBox(-3.0F, 0.0F, -0.5F, 3.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(87, 123).addBox(-3.5F, 0.25F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(4.555F, -1.6426F, 1.4743F, 0.0F, 0.0F, 0.6545F)); + PartDefinition bone275 = bone265.addOrReplaceChild("bone275", CubeListBuilder.create().texOffs(112, 131).addBox(3.055F, -1.6426F, 0.4743F, 3.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(61, 26).addBox(6.055F, -0.2426F, 0.9743F, 8.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(121, 60).addBox(2.805F, -2.8926F, 1.4743F, 2.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(1.6019F, -0.6898F, -11.0F, 0.0F, -0.4363F, 0.0F)); - PartDefinition bone280 = bone265.addOrReplaceChild("bone280", CubeListBuilder.create(), PartPose.offsetAndRotation(3.5F, -0.85F, 4.0F, 0.0F, -2.2253F, 0.0F)); + PartDefinition lever_control4 = bone275.addOrReplaceChild("lever_control4", CubeListBuilder.create().texOffs(134, 51).addBox(-3.0F, 0.0F, -0.5F, 3.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(87, 123).addBox(-3.5F, 0.25F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(4.555F, -1.6426F, 1.4743F, 0.0F, 0.0F, 0.6545F)); - PartDefinition bone281 = south_right.addOrReplaceChild("bone281", CubeListBuilder.create().texOffs(122, 37).addBox(-1.5F, -2.15F, -3.0F, 2.0F, 2.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-10.875F, -13.1F, 0.0F, 0.0F, 0.0F, 0.2182F)); + PartDefinition bone280 = bone265.addOrReplaceChild("bone280", CubeListBuilder.create(), PartPose.offsetAndRotation(3.5F, -0.85F, 4.0F, 0.0F, -2.2253F, 0.0F)); - PartDefinition bone270 = bone281.addOrReplaceChild("bone270", CubeListBuilder.create().texOffs(63, 130).addBox(-2.0F, -1.0F, -1.5F, 2.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-1.5F, -0.9F, 0.0F, 0.0F, 0.0F, 0.48F)); + PartDefinition bone281 = south_right.addOrReplaceChild("bone281", CubeListBuilder.create().texOffs(122, 37).addBox(-1.5F, -2.15F, -3.0F, 2.0F, 2.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-10.875F, -13.1F, 0.0F, 0.0F, 0.0F, 0.2182F)); - PartDefinition bone287 = south_right.addOrReplaceChild("bone287", CubeListBuilder.create().texOffs(0, 116).addBox(-0.25F, -0.5F, -1.0F, 1.0F, 2.0F, 2.0F, new CubeDeformation(0.25F)) - .texOffs(42, 95).addBox(-0.25F, -1.25F, -1.0F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(-22.3F, -4.0F, -9.5F)); + PartDefinition bone270 = bone281.addOrReplaceChild("bone270", CubeListBuilder.create().texOffs(63, 130).addBox(-2.0F, -1.0F, -1.5F, 2.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-1.5F, -0.9F, 0.0F, 0.0F, 0.0F, 0.48F)); - PartDefinition bone290 = bone287.addOrReplaceChild("bone290", CubeListBuilder.create().texOffs(0, 104).addBox(0.0F, -1.25F, -0.25F, 1.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.25F, 0.0F, 0.0F, 0.0F, 0.6545F)); + PartDefinition bone287 = south_right.addOrReplaceChild("bone287", CubeListBuilder.create().texOffs(0, 116).addBox(-0.25F, -0.5F, -1.0F, 1.0F, 2.0F, 2.0F, new CubeDeformation(0.25F)) + .texOffs(42, 95).addBox(-0.25F, -1.25F, -1.0F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(-22.3F, -4.0F, -9.5F)); - PartDefinition south_left = partdefinition.addOrReplaceChild("south_left", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 14.0F, 0.0F, 0.0F, 2.0944F, 0.0F)); + PartDefinition bone290 = bone287.addOrReplaceChild("bone290", CubeListBuilder.create().texOffs(0, 104).addBox(0.0F, -1.25F, -0.25F, 1.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.25F, 0.0F, 0.0F, 0.0F, 0.6545F)); - PartDefinition bone210 = south_left.addOrReplaceChild("bone210", CubeListBuilder.create().texOffs(66, 98).addBox(-1.0F, -0.5F, -5.5F, 2.0F, 5.0F, 11.0F, new CubeDeformation(0.25F)), PartPose.offset(-16.55F, -1.0F, 0.0F)); + PartDefinition south_left = partdefinition.addOrReplaceChild("south_left", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 14.0F, 0.0F, 0.0F, 2.0944F, 0.0F)); - PartDefinition bone271 = south_left.addOrReplaceChild("bone271", CubeListBuilder.create().texOffs(107, 91).addBox(1.5F, -1.85F, -4.0F, 4.0F, 2.0F, 8.0F, new CubeDeformation(0.0F)) - .texOffs(121, 52).addBox(7.0F, -0.85F, -3.0F, 3.0F, 1.0F, 6.0F, new CubeDeformation(0.0F)) - .texOffs(25, 121).addBox(6.75F, -0.95F, -2.75F, 3.0F, 1.0F, 6.0F, new CubeDeformation(0.0F)) - .texOffs(134, 46).addBox(2.0F, -0.6F, 4.5F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(109, 27).addBox(3.0F, -2.85F, -3.5F, 3.0F, 2.0F, 7.0F, new CubeDeformation(0.0F)) - .texOffs(108, 37).addBox(4.5F, -3.35F, -4.5F, 2.0F, 2.0F, 9.0F, new CubeDeformation(-0.25F)), PartPose.offsetAndRotation(-21.0F, -5.0F, 0.0F, 0.0F, 0.0F, -0.6109F)); + PartDefinition bone210 = south_left.addOrReplaceChild("bone210", CubeListBuilder.create().texOffs(66, 98).addBox(-1.0F, -0.5F, -5.5F, 2.0F, 5.0F, 11.0F, new CubeDeformation(0.25F)), PartPose.offset(-16.55F, -1.0F, 0.0F)); - PartDefinition bone272 = bone271.addOrReplaceChild("bone272", CubeListBuilder.create().texOffs(111, 0).addBox(-3.0F, 0.0F, -3.5F, 3.0F, 1.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(1.5F, -1.35F, 0.0F, 0.0F, 0.0F, -0.3054F)); + PartDefinition bone271 = south_left.addOrReplaceChild("bone271", CubeListBuilder.create().texOffs(107, 91).addBox(1.5F, -1.85F, -4.0F, 4.0F, 2.0F, 8.0F, new CubeDeformation(0.0F)) + .texOffs(121, 52).addBox(7.0F, -0.85F, -3.0F, 3.0F, 1.0F, 6.0F, new CubeDeformation(0.0F)) + .texOffs(25, 121).addBox(6.75F, -0.95F, -2.75F, 3.0F, 1.0F, 6.0F, new CubeDeformation(0.0F)) + .texOffs(134, 46).addBox(2.0F, -0.6F, 4.5F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(109, 27).addBox(3.0F, -2.85F, -3.5F, 3.0F, 2.0F, 7.0F, new CubeDeformation(0.0F)) + .texOffs(108, 37).addBox(4.5F, -3.35F, -4.5F, 2.0F, 2.0F, 9.0F, new CubeDeformation(-0.25F)), PartPose.offsetAndRotation(-21.0F, -5.0F, 0.0F, 0.0F, 0.0F, -0.6109F)); - PartDefinition bone233 = bone271.addOrReplaceChild("bone233", CubeListBuilder.create().texOffs(0, 28).addBox(0.0F, -3.0F, -3.0F, 1.0F, 3.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(5.5F, -3.1F, 0.0F, 0.0F, 0.0F, 0.9599F)); + PartDefinition bone272 = bone271.addOrReplaceChild("bone272", CubeListBuilder.create().texOffs(111, 0).addBox(-3.0F, 0.0F, -3.5F, 3.0F, 1.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(1.5F, -1.35F, 0.0F, 0.0F, 0.0F, -0.3054F)); - PartDefinition bone273 = bone271.addOrReplaceChild("bone273", CubeListBuilder.create().texOffs(41, 134).addBox(1.6481F, -0.9103F, -2.5F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(41, 134).addBox(4.6481F, -0.9103F, -2.5F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(1.6019F, -0.6898F, 11.0F, 0.0F, 0.4363F, 0.0F)); + PartDefinition bone233 = bone271.addOrReplaceChild("bone233", CubeListBuilder.create().texOffs(0, 28).addBox(0.0F, -3.0F, -3.0F, 1.0F, 3.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(5.5F, -3.1F, 0.0F, 0.0F, 0.0F, 0.9599F)); - PartDefinition bone298 = bone273.addOrReplaceChild("bone298", CubeListBuilder.create().texOffs(130, 31).addBox(-1.0F, -0.5F, -1.5F, 2.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)) - .texOffs(130, 20).addBox(-0.75F, -0.6F, -1.75F, 2.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(9.055F, -0.1426F, -1.4743F, 0.0F, -0.3491F, 0.0F)); + PartDefinition bone273 = bone271.addOrReplaceChild("bone273", CubeListBuilder.create().texOffs(41, 134).addBox(1.6481F, -0.9103F, -2.5F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(41, 134).addBox(4.6481F, -0.9103F, -2.5F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(1.6019F, -0.6898F, 11.0F, 0.0F, 0.4363F, 0.0F)); - PartDefinition bone299 = bone298.addOrReplaceChild("bone299", CubeListBuilder.create().texOffs(123, 70).addBox(-0.75F, 0.0F, -4.0F, 4.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(1.25F, -0.25F, -0.75F, 0.0F, 0.0F, -0.1745F)); + PartDefinition bone298 = bone273.addOrReplaceChild("bone298", CubeListBuilder.create().texOffs(130, 31).addBox(-1.0F, -0.5F, -1.5F, 2.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)) + .texOffs(130, 20).addBox(-0.75F, -0.6F, -1.75F, 2.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(9.055F, -0.1426F, -1.4743F, 0.0F, -0.3491F, 0.0F)); - PartDefinition valve_control7 = bone273.addOrReplaceChild("valve_control7", CubeListBuilder.create().texOffs(133, 16).addBox(-0.75F, -1.5F, -1.25F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(2.6481F, 0.4898F, -1.5F, 0.0F, -0.5236F, 0.0F)); + PartDefinition bone299 = bone298.addOrReplaceChild("bone299", CubeListBuilder.create().texOffs(123, 70).addBox(-0.75F, 0.0F, -4.0F, 4.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(1.25F, -0.25F, -0.75F, 0.0F, 0.0F, -0.1745F)); - PartDefinition valve_control6 = bone273.addOrReplaceChild("valve_control6", CubeListBuilder.create().texOffs(133, 16).addBox(-0.75F, -1.5F, -1.25F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(5.6481F, 0.4898F, -1.5F, 0.0F, -1.2654F, 0.0F)); + PartDefinition valve_control7 = bone273.addOrReplaceChild("valve_control7", CubeListBuilder.create().texOffs(133, 16).addBox(-0.75F, -1.5F, -1.25F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(2.6481F, 0.4898F, -1.5F, 0.0F, -0.5236F, 0.0F)); - PartDefinition bone283 = bone271.addOrReplaceChild("bone283", CubeListBuilder.create().texOffs(107, 102).addBox(1.055F, -0.2426F, 0.4743F, 11.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(1.6019F, -0.6898F, -11.0F, 0.0F, -0.4363F, 0.0F)); + PartDefinition valve_control6 = bone273.addOrReplaceChild("valve_control6", CubeListBuilder.create().texOffs(133, 16).addBox(-0.75F, -1.5F, -1.25F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(5.6481F, 0.4898F, -1.5F, 0.0F, -1.2654F, 0.0F)); - PartDefinition bone284 = bone283.addOrReplaceChild("bone284", CubeListBuilder.create().texOffs(98, 98).addBox(0.0F, 0.0F, -0.5F, 1.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(7.305F, -0.2426F, 1.7243F, 0.0F, 0.0F, -0.7854F)); + PartDefinition bone283 = bone271.addOrReplaceChild("bone283", CubeListBuilder.create().texOffs(107, 102).addBox(1.055F, -0.2426F, 0.4743F, 11.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(1.6019F, -0.6898F, -11.0F, 0.0F, -0.4363F, 0.0F)); - PartDefinition bone285 = bone271.addOrReplaceChild("bone285", CubeListBuilder.create(), PartPose.offsetAndRotation(3.5F, -0.85F, 4.0F, 0.0F, -2.2253F, 0.0F)); + PartDefinition bone284 = bone283.addOrReplaceChild("bone284", CubeListBuilder.create().texOffs(98, 98).addBox(0.0F, 0.0F, -0.5F, 1.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(7.305F, -0.2426F, 1.7243F, 0.0F, 0.0F, -0.7854F)); - PartDefinition bone286 = south_left.addOrReplaceChild("bone286", CubeListBuilder.create().texOffs(0, 0).addBox(-1.0F, -4.15F, -2.0F, 1.0F, 4.0F, 3.0F, new CubeDeformation(0.0F)) - .texOffs(0, 16).addBox(-1.1F, -4.15F, -0.25F, 1.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(80, 64).addBox(-1.5F, -3.15F, -1.5F, 1.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-10.875F, -13.1F, 0.0F, 0.0F, 0.0F, 0.2182F)); + PartDefinition bone285 = bone271.addOrReplaceChild("bone285", CubeListBuilder.create(), PartPose.offsetAndRotation(3.5F, -0.85F, 4.0F, 0.0F, -2.2253F, 0.0F)); - PartDefinition bone232 = bone286.addOrReplaceChild("bone232", CubeListBuilder.create().texOffs(69, 48).addBox(0.0F, 0.0F, 0.0F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-1.5F, -1.15F, -1.0F, -0.3054F, -0.7418F, -0.3491F)); + PartDefinition bone286 = south_left.addOrReplaceChild("bone286", CubeListBuilder.create().texOffs(0, 0).addBox(-1.0F, -4.15F, -2.0F, 1.0F, 4.0F, 3.0F, new CubeDeformation(0.0F)) + .texOffs(0, 16).addBox(-1.1F, -4.15F, -0.25F, 1.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(80, 64).addBox(-1.5F, -3.15F, -1.5F, 1.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-10.875F, -13.1F, 0.0F, 0.0F, 0.0F, 0.2182F)); - PartDefinition bone300 = south_left.addOrReplaceChild("bone300", CubeListBuilder.create().texOffs(111, 0).addBox(-0.75F, -2.0F, -1.0F, 1.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-21.0F, -2.5F, 6.0F, 0.0F, 0.2618F, 0.2182F)); + PartDefinition bone232 = bone286.addOrReplaceChild("bone232", CubeListBuilder.create().texOffs(69, 48).addBox(0.0F, 0.0F, 0.0F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-1.5F, -1.15F, -1.0F, -0.3054F, -0.7418F, -0.3491F)); - PartDefinition pulley_control3 = bone300.addOrReplaceChild("pulley_control3", CubeListBuilder.create().texOffs(51, 28).addBox(-13.0F, -15.25F, -0.25F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(31, 106).addBox(-14.0F, -15.75F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(10.25F, 14.25F, -0.5F)); + PartDefinition bone300 = south_left.addOrReplaceChild("bone300", CubeListBuilder.create().texOffs(111, 0).addBox(-0.75F, -2.0F, -1.0F, 1.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-21.0F, -2.5F, 6.0F, 0.0F, 0.2618F, 0.2182F)); - PartDefinition bone302 = south_left.addOrReplaceChild("bone302", CubeListBuilder.create().texOffs(111, 0).addBox(-0.75F, -2.0F, -1.0F, 1.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-21.0F, -2.5F, -6.0F, 0.0F, -0.2618F, 0.2182F)); + PartDefinition pulley_control3 = bone300.addOrReplaceChild("pulley_control3", CubeListBuilder.create().texOffs(51, 28).addBox(-13.0F, -15.25F, -0.25F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(31, 106).addBox(-14.0F, -15.75F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(10.25F, 14.25F, -0.5F)); - PartDefinition pulley_control4 = bone302.addOrReplaceChild("pulley_control4", CubeListBuilder.create().texOffs(51, 28).addBox(-13.0F, -15.25F, -1.25F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(31, 106).addBox(-14.0F, -15.75F, -1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(11.75F, 14.25F, 0.5F)); + PartDefinition bone302 = south_left.addOrReplaceChild("bone302", CubeListBuilder.create().texOffs(111, 0).addBox(-0.75F, -2.0F, -1.0F, 1.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-21.0F, -2.5F, -6.0F, 0.0F, -0.2618F, 0.2182F)); - PartDefinition west = partdefinition.addOrReplaceChild("west", CubeListBuilder.create().texOffs(73, 48).addBox(-22.525F, -5.0F, -11.0F, 1.0F, 3.0F, 3.0F, new CubeDeformation(-0.25F)), PartPose.offsetAndRotation(0.0F, 14.0F, 0.0F, 0.0F, 3.1416F, 0.0F)); + PartDefinition pulley_control4 = bone302.addOrReplaceChild("pulley_control4", CubeListBuilder.create().texOffs(51, 28).addBox(-13.0F, -15.25F, -1.25F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(31, 106).addBox(-14.0F, -15.75F, -1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(11.75F, 14.25F, 0.5F)); - PartDefinition bone201 = west.addOrReplaceChild("bone201", CubeListBuilder.create().texOffs(66, 98).addBox(-1.0F, 0.5F, -5.5F, 2.0F, 5.0F, 11.0F, new CubeDeformation(1.5F)), PartPose.offset(-15.55F, -2.0F, 0.0F)); + PartDefinition west = partdefinition.addOrReplaceChild("west", CubeListBuilder.create().texOffs(73, 48).addBox(-22.525F, -5.0F, -11.0F, 1.0F, 3.0F, 3.0F, new CubeDeformation(-0.25F)), PartPose.offsetAndRotation(0.0F, 14.0F, 0.0F, 0.0F, 3.1416F, 0.0F)); - PartDefinition bone293 = west.addOrReplaceChild("bone293", CubeListBuilder.create().texOffs(0, 16).addBox(2.0F, -0.1F, -5.0F, 5.0F, 1.0F, 5.0F, new CubeDeformation(0.0F)) - .texOffs(53, 91).addBox(2.25F, -1.1F, -2.5F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(128, 114).addBox(4.25F, -0.6F, 2.5F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(121, 107).addBox(1.75F, -0.1F, 0.5F, 4.0F, 1.0F, 5.0F, new CubeDeformation(0.0F)) - .texOffs(122, 9).addBox(4.75F, -0.35F, -4.75F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(117, 52).addBox(6.25F, -0.6F, -2.0F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(54, 36).addBox(5.25F, -1.85F, -4.25F, 1.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-21.0F, -5.0F, 0.0F, 0.0F, 0.0F, -0.6109F)); + PartDefinition bone201 = west.addOrReplaceChild("bone201", CubeListBuilder.create().texOffs(66, 98).addBox(-1.0F, 0.5F, -5.5F, 2.0F, 5.0F, 11.0F, new CubeDeformation(1.5F)), PartPose.offset(-15.55F, -2.0F, 0.0F)); - PartDefinition twist_control4 = bone293.addOrReplaceChild("twist_control4", CubeListBuilder.create().texOffs(109, 37).addBox(0.0F, -2.0F, -0.25F, 1.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(7.25F, -0.6F, -1.0F, 0.0F, 0.6109F, 0.0F)); + PartDefinition bone293 = west.addOrReplaceChild("bone293", CubeListBuilder.create().texOffs(0, 16).addBox(2.0F, -0.1F, -5.0F, 5.0F, 1.0F, 5.0F, new CubeDeformation(0.0F)) + .texOffs(53, 91).addBox(2.25F, -1.1F, -2.5F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(128, 114).addBox(4.25F, -0.6F, 2.5F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(121, 107).addBox(1.75F, -0.1F, 0.5F, 4.0F, 1.0F, 5.0F, new CubeDeformation(0.0F)) + .texOffs(122, 9).addBox(4.75F, -0.35F, -4.75F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(117, 52).addBox(6.25F, -0.6F, -2.0F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(54, 36).addBox(5.25F, -1.85F, -4.25F, 1.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-21.0F, -5.0F, 0.0F, 0.0F, 0.0F, -0.6109F)); - PartDefinition bone306 = bone293.addOrReplaceChild("bone306", CubeListBuilder.create().texOffs(0, 128).addBox(2.055F, -1.6426F, -2.4743F, 4.0F, 2.0F, 2.0F, new CubeDeformation(0.25F)) - .texOffs(17, 50).addBox(9.055F, -1.6426F, -2.4743F, 2.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(1.6019F, -0.6898F, 11.0F, 0.0F, 0.4363F, 0.0F)); + PartDefinition twist_control4 = bone293.addOrReplaceChild("twist_control4", CubeListBuilder.create().texOffs(109, 37).addBox(0.0F, -2.0F, -0.25F, 1.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(7.25F, -0.6F, -1.0F, 0.0F, 0.6109F, 0.0F)); - PartDefinition lever_control7 = bone306.addOrReplaceChild("lever_control7", CubeListBuilder.create().texOffs(52, 40).addBox(0.25F, -0.5135F, -1.9999F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.25F)), PartPose.offset(3.305F, -2.5411F, -1.7463F)); + PartDefinition bone306 = bone293.addOrReplaceChild("bone306", CubeListBuilder.create().texOffs(0, 128).addBox(2.055F, -1.6426F, -2.4743F, 4.0F, 2.0F, 2.0F, new CubeDeformation(0.25F)) + .texOffs(17, 50).addBox(9.055F, -1.6426F, -2.4743F, 2.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(1.6019F, -0.6898F, 11.0F, 0.0F, 0.4363F, 0.0F)); - PartDefinition lever_control8 = bone306.addOrReplaceChild("lever_control8", CubeListBuilder.create().texOffs(16, 16).addBox(0.25F, -2.25F, -1.3F, 1.0F, 2.0F, 2.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(4.055F, -1.8926F, -0.9243F, 0.0F, 0.0F, 0.9599F)); + PartDefinition lever_control7 = bone306.addOrReplaceChild("lever_control7", CubeListBuilder.create().texOffs(52, 40).addBox(0.25F, -0.5135F, -1.9999F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.25F)), PartPose.offset(3.305F, -2.5411F, -1.7463F)); - PartDefinition bone305 = bone306.addOrReplaceChild("bone305", CubeListBuilder.create().texOffs(17, 91).addBox(0.0F, -1.25F, -1.0F, 1.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(10.055F, -1.6426F, -1.7243F, 0.0F, 0.0F, 0.6545F)); + PartDefinition lever_control8 = bone306.addOrReplaceChild("lever_control8", CubeListBuilder.create().texOffs(16, 16).addBox(0.25F, -2.25F, -1.3F, 1.0F, 2.0F, 2.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(4.055F, -1.8926F, -0.9243F, 0.0F, 0.0F, 0.9599F)); - PartDefinition bone310 = bone293.addOrReplaceChild("bone310", CubeListBuilder.create().texOffs(21, 106).addBox(1.055F, -0.2426F, -0.0257F, 3.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)) - .texOffs(62, 115).addBox(5.055F, -0.6426F, 0.4743F, 3.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(17, 75).addBox(9.055F, -2.3926F, 0.4743F, 2.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(61, 23).addBox(6.555F, -1.3926F, 0.9743F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(17, 81).addBox(1.305F, -0.7426F, 0.4743F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(54, 63).addBox(1.555F, -0.8426F, 0.4743F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(55, 100).addBox(2.555F, -2.2426F, 0.7243F, 1.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(1.6019F, -0.6898F, -11.0F, 0.0F, -0.4363F, 0.0F)); + PartDefinition bone305 = bone306.addOrReplaceChild("bone305", CubeListBuilder.create().texOffs(17, 91).addBox(0.0F, -1.25F, -1.0F, 1.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(10.055F, -1.6426F, -1.7243F, 0.0F, 0.0F, 0.6545F)); - PartDefinition twist_control5 = bone310.addOrReplaceChild("twist_control5", CubeListBuilder.create().texOffs(55, 95).addBox(-1.5F, -1.5F, -1.0F, 2.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(10.055F, -3.3926F, 1.4743F, 0.0F, -0.6981F, 0.0F)); + PartDefinition bone310 = bone293.addOrReplaceChild("bone310", CubeListBuilder.create().texOffs(21, 106).addBox(1.055F, -0.2426F, -0.0257F, 3.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)) + .texOffs(62, 115).addBox(5.055F, -0.6426F, 0.4743F, 3.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(17, 75).addBox(9.055F, -2.3926F, 0.4743F, 2.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(61, 23).addBox(6.555F, -1.3926F, 0.9743F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(17, 81).addBox(1.305F, -0.7426F, 0.4743F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(54, 63).addBox(1.555F, -0.8426F, 0.4743F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(55, 100).addBox(2.555F, -2.2426F, 0.7243F, 1.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(1.6019F, -0.6898F, -11.0F, 0.0F, -0.4363F, 0.0F)); - PartDefinition bone304 = bone293.addOrReplaceChild("bone304", CubeListBuilder.create().texOffs(83, 85).addBox(-0.25F, 0.0F, -0.75F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(5.1569F, -0.7824F, 3.4993F, 0.0F, 1.1345F, 0.0F)); + PartDefinition twist_control5 = bone310.addOrReplaceChild("twist_control5", CubeListBuilder.create().texOffs(55, 95).addBox(-1.5F, -1.5F, -1.0F, 2.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(10.055F, -3.3926F, 1.4743F, 0.0F, -0.6981F, 0.0F)); - PartDefinition bone294 = bone293.addOrReplaceChild("bone294", CubeListBuilder.create().texOffs(53, 91).addBox(-1.0F, -0.5F, -1.0F, 2.0F, 1.0F, 2.0F, new CubeDeformation(-0.25F)), PartPose.offsetAndRotation(3.75F, -0.35F, -3.75F, 0.0F, -0.4363F, 0.0F)); + PartDefinition bone304 = bone293.addOrReplaceChild("bone304", CubeListBuilder.create().texOffs(83, 85).addBox(-0.25F, 0.0F, -0.75F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(5.1569F, -0.7824F, 3.4993F, 0.0F, 1.1345F, 0.0F)); - PartDefinition bone313 = west.addOrReplaceChild("bone313", CubeListBuilder.create().texOffs(84, 34).addBox(-0.5F, -3.25F, -1.0F, 1.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(9, 28).addBox(-0.5F, -3.75F, -3.75F, 1.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(9, 28).addBox(-0.5F, -3.75F, 1.75F, 1.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-10.875F, -13.1F, 0.0F, 0.0F, 0.0F, 0.2182F)); + PartDefinition bone294 = bone293.addOrReplaceChild("bone294", CubeListBuilder.create().texOffs(53, 91).addBox(-1.0F, -0.5F, -1.0F, 2.0F, 1.0F, 2.0F, new CubeDeformation(-0.25F)), PartPose.offsetAndRotation(3.75F, -0.35F, -3.75F, 0.0F, -0.4363F, 0.0F)); - PartDefinition bone309 = bone313.addOrReplaceChild("bone309", CubeListBuilder.create().texOffs(73, 64).addBox(-0.5F, -2.0F, -2.0F, 1.0F, 4.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.25F, -3.5F, 0.0F, -0.7854F, 0.0F, 0.0F)); + PartDefinition bone313 = west.addOrReplaceChild("bone313", CubeListBuilder.create().texOffs(84, 34).addBox(-0.5F, -3.25F, -1.0F, 1.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(9, 28).addBox(-0.5F, -3.75F, -3.75F, 1.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(9, 28).addBox(-0.5F, -3.75F, 1.75F, 1.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-10.875F, -13.1F, 0.0F, 0.0F, 0.0F, 0.2182F)); - return LayerDefinition.create(meshdefinition, 256, 256); - } + PartDefinition bone309 = bone313.addOrReplaceChild("bone309", CubeListBuilder.create().texOffs(73, 64).addBox(-0.5F, -2.0F, -2.0F, 1.0F, 4.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.25F, -3.5F, 0.0F, -0.7854F, 0.0F, 0.0F)); - @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); - rotor.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - misc.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - misc2.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - misc3.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - misc4.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - misc5.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - north_left.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - north_right.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - east.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - south_right.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - south_left.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - west.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - } + return LayerDefinition.create(meshdefinition, 256, 256); + } - @Override - public ModelPart root() { - return modelRoot; - } + @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); + rotor.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + misc.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + misc2.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + misc3.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + misc4.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + misc5.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + north_left.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + north_right.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + east.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + south_right.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + south_left.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + west.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) { + @Override + public ModelPart root() { + return modelRoot; + } - } + @Override + public void setupAnim(Entity entity, float f, float g, float h, float i, float j) { - @Override - public void renderConsole(GlobalConsoleBlockEntity globalConsoleBlock, Level level, PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) { - this.modelRoot.getAllParts().forEach(ModelPart::resetPose); - TardisClientData reactions = TardisClientData.getInstance(level.dimension()); + } - if (globalConsoleBlock != null && globalConsoleBlock.getBlockState().getValue(GlobalConsoleBlock.POWERED)) { - if (!reactions.isFlying() && TRConfig.CLIENT.PLAY_CONSOLE_IDLE_ANIMATIONS.get() && globalConsoleBlock != null) { - this.animate(globalConsoleBlock.liveliness, LOOP, Minecraft.getInstance().player.tickCount); - } else { - this.animate(reactions.ROTOR_ANIMATION, FLIGHT, Minecraft.getInstance().player.tickCount); - } - } - - float rot = 1f - ( 2 * ((float)reactions.getThrottleStage() / TardisPilotingManager.MAX_THROTTLE_STAGE)); - this.throttle.zRot = rot; + @Override + public void renderConsole(GlobalConsoleBlockEntity globalConsoleBlock, Level level, PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) { + this.modelRoot.getAllParts().forEach(ModelPart::resetPose); + TardisClientData reactions = TardisClientData.getInstance(level.dimension()); - this.handbrake.zRot = !reactions.isHandbrakeEngaged() ? 1f : -1f; + if (globalConsoleBlock != null && globalConsoleBlock.getBlockState().getValue(GlobalConsoleBlock.POWERED)) { + if (!reactions.isFlying() && TRConfig.CLIENT.PLAY_CONSOLE_IDLE_ANIMATIONS.get() && globalConsoleBlock != null) { + this.animate(globalConsoleBlock.liveliness, LOOP, Minecraft.getInstance().player.tickCount); + } else { + this.animate(reactions.ROTOR_ANIMATION, FLIGHT, Minecraft.getInstance().player.tickCount); + } + } - modelRoot.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - } + float rot = 1f - (2 * ((float) reactions.getThrottleStage() / TardisPilotingManager.MAX_THROTTLE_STAGE)); + this.throttle.zRot = rot; - @Override - public ResourceLocation getDefaultTexture() { - return COPPER_TEXTURE; - } - - @Override - public ResourceLocation getConsoleTheme() { - return ConsoleTheme.COPPER.getId(); - } + this.handbrake.zRot = !reactions.isHandbrakeEngaged() ? 1f : -1f; + + modelRoot.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + } + + @Override + 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 30fc72cdf..a4c7646b8 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 @@ -11,8 +11,6 @@ import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.model.geom.PartPose; import net.minecraft.client.model.geom.builders.*; -import net.minecraft.client.renderer.MultiBufferSource; -import net.minecraft.client.renderer.RenderType; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.entity.Entity; import net.minecraft.world.level.Level; @@ -24,3597 +22,3589 @@ import whocraft.tardis_refined.common.tardis.manager.TardisPilotingManager; import whocraft.tardis_refined.common.tardis.themes.ConsoleTheme; -import java.util.List; -import java.util.Set; - public class CoralConsoleModel extends HierarchicalModel implements ConsoleUnit { - private static final ResourceLocation CORAL_TEXTURE = new ResourceLocation(TardisRefined.MODID, "textures/blockentity/console/coral/coral_console.png"); - - - public static final AnimationDefinition IDLE = AnimationDefinition.Builder.withLength(10f).looping() - .addAnimation("bone233", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.96f, KeyframeAnimations.degreeVec(2.99989f, 0.02617f, -0.49931f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4f, KeyframeAnimations.degreeVec(-2.5f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.76f, KeyframeAnimations.degreeVec(0.69497f, -0.00606f, 0.49996f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7.28f, KeyframeAnimations.degreeVec(-0.95f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7.72f, KeyframeAnimations.degreeVec(-0.32f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone234", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(-0.91f, -0.01f, 0.5f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3f, KeyframeAnimations.degreeVec(1.84997f, 0.01308f, 0.52534f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5f, KeyframeAnimations.degreeVec(-2.5f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.76f, KeyframeAnimations.degreeVec(0.69497f, -0.00606f, 0.49996f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8f, KeyframeAnimations.degreeVec(-0.91f, -0.01f, 0.5f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone236", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.96f, KeyframeAnimations.degreeVec(2.99989f, 0.02617f, -0.49931f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4f, KeyframeAnimations.degreeVec(-2.5f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.76f, KeyframeAnimations.degreeVec(0.69497f, -0.00606f, 0.49996f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7.28f, KeyframeAnimations.degreeVec(-0.95f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7.72f, KeyframeAnimations.degreeVec(-0.32f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone237", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(-0.91f, -0.01f, 0.5f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.96f, KeyframeAnimations.degreeVec(1.24997f, 0.01308f, -0.24966f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5f, KeyframeAnimations.degreeVec(-2.5f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.76f, KeyframeAnimations.degreeVec(0.69497f, -0.00606f, 0.49996f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8f, KeyframeAnimations.degreeVec(-0.91f, -0.01f, 0.5f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone238", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.96f, KeyframeAnimations.degreeVec(2.99989f, 0.02617f, -0.49931f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4f, KeyframeAnimations.degreeVec(-2.5f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.76f, KeyframeAnimations.degreeVec(0.69497f, -0.00606f, 0.49996f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7.28f, KeyframeAnimations.degreeVec(-0.95f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7.72f, KeyframeAnimations.degreeVec(-0.32f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone239", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(-0.91f, -0.01f, 0.5f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.96f, KeyframeAnimations.degreeVec(1.69997f, 0.01308f, -0.62466f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5f, KeyframeAnimations.degreeVec(-2.5f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.76f, KeyframeAnimations.degreeVec(0.69497f, -0.00606f, 0.72496f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8f, KeyframeAnimations.degreeVec(-0.91f, -0.01f, 0.5f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone284", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.04f, KeyframeAnimations.scaleVec(1.03f, 1.03f, 1.03f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4f, KeyframeAnimations.scaleVec(0.98f, 0.98f, 0.98f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.2f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone285", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.04f, KeyframeAnimations.scaleVec(1.03f, 1.03f, 1.03f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4f, KeyframeAnimations.scaleVec(0.99f, 0.99f, 0.99f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone288", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.04f, KeyframeAnimations.scaleVec(1.03f, 1.03f, 1.03f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4f, KeyframeAnimations.scaleVec(0.98f, 0.98f, 0.98f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.2f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone290", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.04f, KeyframeAnimations.scaleVec(1.03f, 1.03f, 1.03f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4f, KeyframeAnimations.scaleVec(0.99f, 0.99f, 0.99f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone293", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.04f, KeyframeAnimations.scaleVec(1.03f, 1.03f, 1.03f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4f, KeyframeAnimations.scaleVec(0.98f, 0.98f, 0.98f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.2f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone295", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.04f, KeyframeAnimations.scaleVec(1.03f, 1.03f, 1.03f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4f, KeyframeAnimations.scaleVec(0.99f, 0.99f, 0.99f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone298", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.04f, KeyframeAnimations.scaleVec(1.03f, 1.03f, 1.03f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4f, KeyframeAnimations.scaleVec(0.98f, 0.98f, 0.98f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.2f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone300", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.04f, KeyframeAnimations.scaleVec(1.03f, 1.03f, 1.03f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4f, KeyframeAnimations.scaleVec(0.99f, 0.99f, 0.99f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone303", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.04f, KeyframeAnimations.scaleVec(1.03f, 1.03f, 1.03f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4f, KeyframeAnimations.scaleVec(0.98f, 0.98f, 0.98f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.2f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone305", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.04f, KeyframeAnimations.scaleVec(1.03f, 1.03f, 1.03f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4f, KeyframeAnimations.scaleVec(0.99f, 0.99f, 0.99f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone308", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.04f, KeyframeAnimations.scaleVec(1.03f, 1.03f, 1.03f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4f, KeyframeAnimations.scaleVec(0.98f, 0.98f, 0.98f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.2f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone310", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.04f, KeyframeAnimations.scaleVec(1.03f, 1.03f, 1.03f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4f, KeyframeAnimations.scaleVec(0.99f, 0.99f, 0.99f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone59", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.44f, KeyframeAnimations.degreeVec(0f, 281.535f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.degreeVec(0f, 1440f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone62", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.8f, KeyframeAnimations.degreeVec(0f, 211.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.52f, KeyframeAnimations.degreeVec(0f, 66.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.44f, KeyframeAnimations.degreeVec(0f, 158f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.88f, KeyframeAnimations.degreeVec(0f, 72.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8.04f, KeyframeAnimations.degreeVec(0f, -10.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8.64f, KeyframeAnimations.degreeVec(0f, 10.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("increment", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.56f, KeyframeAnimations.degreeVec(0f, 294.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.48f, KeyframeAnimations.degreeVec(0f, 174f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.8f, KeyframeAnimations.degreeVec(0f, 219f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8.88f, KeyframeAnimations.degreeVec(0f, -85f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(9.96f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone68", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1f, KeyframeAnimations.degreeVec(0f, 2f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3f, KeyframeAnimations.degreeVec(0f, -1f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5f, KeyframeAnimations.degreeVec(0f, 2f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7f, KeyframeAnimations.degreeVec(0f, -1f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(9f, KeyframeAnimations.degreeVec(0f, 2f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone83", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2f, KeyframeAnimations.degreeVec(-2.5f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4f, KeyframeAnimations.degreeVec(0.5f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7.16f, KeyframeAnimations.degreeVec(-2f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8.84f, KeyframeAnimations.degreeVec(0.25f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(9.72f, KeyframeAnimations.degreeVec(0.2f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(9.96f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone311", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2f, KeyframeAnimations.posVec(4.875f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.04f, KeyframeAnimations.posVec(4.08f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.08f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5f, KeyframeAnimations.posVec(4.875f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.04f, KeyframeAnimations.posVec(4.08f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.08f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(6f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(7.92f, KeyframeAnimations.posVec(4.875f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7.96f, KeyframeAnimations.posVec(4.08f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone311", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0f, KeyframeAnimations.scaleVec(1.15f, 1.15f, 1.15f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2f, KeyframeAnimations.scaleVec(1.15f, 1.15f, 1.15f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.04f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3f, KeyframeAnimations.scaleVec(1.15f, 1.15f, 1.15f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5f, KeyframeAnimations.scaleVec(1.15f, 1.15f, 1.15f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.04f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6f, KeyframeAnimations.scaleVec(1.15f, 1.15f, 1.15f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7.92f, KeyframeAnimations.scaleVec(1.15f, 1.15f, 1.15f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7.96f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone312", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.04f, KeyframeAnimations.scaleVec(1.04f, 1.04f, 1.04f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.96f, KeyframeAnimations.scaleVec(1.04f, 1.04f, 1.04f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2f, 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.04f, 1.04f, 1.04f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.96f, KeyframeAnimations.scaleVec(1.04f, 1.04f, 1.04f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4f, 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.04f, 1.04f, 1.04f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.96f, KeyframeAnimations.scaleVec(1.04f, 1.04f, 1.04f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(6f, 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.04f, 1.04f, 1.04f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(7.96f, KeyframeAnimations.scaleVec(1.04f, 1.04f, 1.04f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone313", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0.8f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.84f, 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(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.8f, KeyframeAnimations.posVec(0f, -0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.84f, 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(7.32f, KeyframeAnimations.posVec(0f, -0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(7.36f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.28f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.32f, 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("bone314", - 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(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(7.2f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(7.24f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.24f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.28f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.2f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.24f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone315", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8f, KeyframeAnimations.degreeVec(0f, 720f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone45", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.04f, KeyframeAnimations.posVec(0f, 0f, -0.075f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.28f, KeyframeAnimations.posVec(0f, 0f, -0.075f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.32f, 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, 0f, -0.075f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5f, KeyframeAnimations.posVec(0f, 0f, -0.075f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.04f, 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, 0f, -0.075f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(7f, KeyframeAnimations.posVec(0f, 0f, -0.075f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(7.04f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone316", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(2.08f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.84f, KeyframeAnimations.degreeVec(0f, 51.375f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.64f, KeyframeAnimations.degreeVec(0f, 232f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.08f, KeyframeAnimations.degreeVec(0f, 180f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7.08f, KeyframeAnimations.degreeVec(0f, 360f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone317", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(1.32f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.36f, KeyframeAnimations.posVec(0f, 0.03f, -0.03f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.6f, KeyframeAnimations.posVec(0f, 0.03f, -0.03f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.64f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.96f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4f, KeyframeAnimations.posVec(0f, 0.03f, -0.03f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.36f, KeyframeAnimations.posVec(0f, 0.03f, -0.03f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.4f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.88f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.92f, KeyframeAnimations.posVec(0f, 0.03f, -0.03f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(6.28f, KeyframeAnimations.posVec(0f, 0.03f, -0.03f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(6.32f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(6.68f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(6.72f, KeyframeAnimations.posVec(0f, 0.03f, -0.03f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(7.08f, KeyframeAnimations.posVec(0f, 0.03f, -0.03f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(7.12f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone318", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(1.8f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.84f, 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.2f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.24f, 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(5.72f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.76f, 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(8.48f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.52f, 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.96f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone319", - 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.6f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.64f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - 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.6f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.64f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - 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.6f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.64f, 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.6f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.64f, 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.6f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.64f, 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.6f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.64f, 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.6f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(6.64f, 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.6f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(7.64f, 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.6f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.64f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.04f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.6f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.64f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone320", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5f, KeyframeAnimations.degreeVec(0f, 180f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone321", - 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.6f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.64f, 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(5.96f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(6f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(6.92f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(6.96f, 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(9.12f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.16f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone323", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2f, KeyframeAnimations.scaleVec(1f, 1.05f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.88f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4f, KeyframeAnimations.scaleVec(1f, 0.95f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.52f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.2f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.68f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8f, KeyframeAnimations.scaleVec(1f, 0.93f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone324", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0.48f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.6f, KeyframeAnimations.scaleVec(1f, 1.2f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.48f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.52f, KeyframeAnimations.scaleVec(1f, 0.85f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.92f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.92f, KeyframeAnimations.scaleVec(1f, 1.08f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.68f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7.6f, KeyframeAnimations.scaleVec(1f, 0.85f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(9.6f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone326", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0.52f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.64f, KeyframeAnimations.scaleVec(1f, 1.05f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.52f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.64f, KeyframeAnimations.scaleVec(1f, 0.95f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.28f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.96f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.68f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8f, KeyframeAnimations.scaleVec(1f, 0.93f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone327", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0.12f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.24f, KeyframeAnimations.scaleVec(1f, 1.2f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.12f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.4f, KeyframeAnimations.scaleVec(1f, 0.85f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.12f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.12f, KeyframeAnimations.scaleVec(1f, 1.08f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.88f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7.8f, KeyframeAnimations.scaleVec(1f, 0.85f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(9.56f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone329", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0.16f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.16f, KeyframeAnimations.scaleVec(1f, 1.05f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.04f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.16f, KeyframeAnimations.scaleVec(1f, 0.95f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.68f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.36f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.84f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8.16f, KeyframeAnimations.scaleVec(1f, 0.93f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(9.96f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone330", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0.44f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.56f, KeyframeAnimations.scaleVec(1f, 1.2f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.44f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.48f, KeyframeAnimations.scaleVec(1f, 0.85f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.88f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.88f, KeyframeAnimations.scaleVec(1f, 1.08f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.64f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7.56f, KeyframeAnimations.scaleVec(1f, 0.85f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(9.56f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone332", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0.48f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.6f, KeyframeAnimations.scaleVec(1f, 1.05f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.48f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.6f, KeyframeAnimations.scaleVec(1f, 0.95f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.24f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.92f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.64f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7.96f, KeyframeAnimations.scaleVec(1f, 0.93f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(9.96f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone333", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0.12f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.24f, KeyframeAnimations.scaleVec(1f, 1.2f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.12f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.4f, KeyframeAnimations.scaleVec(1f, 0.85f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.12f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.12f, KeyframeAnimations.scaleVec(1f, 1.08f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.88f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7.8f, KeyframeAnimations.scaleVec(1f, 0.85f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(9.56f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone335", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0.16f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.16f, KeyframeAnimations.scaleVec(1f, 1.05f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.04f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.16f, KeyframeAnimations.scaleVec(1f, 0.95f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.68f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.36f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.84f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8.16f, KeyframeAnimations.scaleVec(1f, 0.93f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(9.96f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone336", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0.48f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.6f, KeyframeAnimations.scaleVec(1f, 1.2f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.48f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.52f, KeyframeAnimations.scaleVec(1f, 0.85f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.92f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.92f, KeyframeAnimations.scaleVec(1f, 1.08f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.68f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7.6f, KeyframeAnimations.scaleVec(1f, 0.85f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(9.6f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone338", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0.48f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.6f, KeyframeAnimations.scaleVec(1f, 1.05f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.48f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.6f, KeyframeAnimations.scaleVec(1f, 0.95f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.24f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.92f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.64f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7.96f, KeyframeAnimations.scaleVec(1f, 0.93f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(9.96f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone339", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0.16f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.28f, KeyframeAnimations.scaleVec(1f, 1.2f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.16f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.44f, KeyframeAnimations.scaleVec(1f, 0.85f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.16f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.16f, KeyframeAnimations.scaleVec(1f, 1.08f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.92f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7.84f, KeyframeAnimations.scaleVec(1f, 0.85f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(9.6f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))).build(); - public static final AnimationDefinition FLIGHT = AnimationDefinition.Builder.withLength(10f).looping() - .addAnimation("bone19", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0f, KeyframeAnimations.posVec(0f, -1.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(0.84f, KeyframeAnimations.posVec(0.2f, 0.83f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3f, KeyframeAnimations.posVec(-0.2f, 7.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4f, KeyframeAnimations.posVec(2f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5f, KeyframeAnimations.posVec(2f, -1.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.28f, KeyframeAnimations.posVec(1.6f, 2.07f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8f, KeyframeAnimations.posVec(2.6f, 7.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone19", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0f, KeyframeAnimations.scaleVec(2f, 2f, 2f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3f, KeyframeAnimations.scaleVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.96f, KeyframeAnimations.scaleVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5f, KeyframeAnimations.scaleVec(2f, 2f, 2f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8f, KeyframeAnimations.scaleVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone34", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0f, KeyframeAnimations.posVec(0f, -1.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.68f, KeyframeAnimations.posVec(-0.2f, 5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.32f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.8f, KeyframeAnimations.posVec(-3f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7.44f, KeyframeAnimations.posVec(-3f, 8f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone34", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0f, KeyframeAnimations.scaleVec(2f, 2f, 2f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.16f, KeyframeAnimations.scaleVec(1.65f, 1.65f, 1.65f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.24f, KeyframeAnimations.scaleVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.84f, KeyframeAnimations.scaleVec(1.5f, 1.5f, 1.5f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(7.92f, KeyframeAnimations.scaleVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone118", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0f, KeyframeAnimations.posVec(0f, -1.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(0.84f, KeyframeAnimations.posVec(0.2f, 0.83f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3f, KeyframeAnimations.posVec(-0.2f, 8.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.64f, KeyframeAnimations.posVec(-1f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.44f, KeyframeAnimations.posVec(-1f, -1.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.4f, KeyframeAnimations.posVec(0.6f, 2.07f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8f, KeyframeAnimations.posVec(-1.5f, 7.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone118", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0f, KeyframeAnimations.scaleVec(2.5f, 2.5f, 2.5f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3f, KeyframeAnimations.scaleVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.4f, KeyframeAnimations.scaleVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.44f, KeyframeAnimations.scaleVec(2f, 2f, 2f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8f, KeyframeAnimations.scaleVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone119", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0.6f, KeyframeAnimations.posVec(0f, -1.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.04f, KeyframeAnimations.posVec(-1.35f, 4.39f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.6f, KeyframeAnimations.posVec(0.81f, 6.62f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.68f, KeyframeAnimations.posVec(-0.2f, 5f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone119", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0.84f, KeyframeAnimations.scaleVec(1.5f, 1.5f, 1.5f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.64f, KeyframeAnimations.scaleVec(1.65f, 1.65f, 1.65f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.68f, KeyframeAnimations.scaleVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone127", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0.84f, KeyframeAnimations.posVec(0f, -1.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.6f, KeyframeAnimations.posVec(0.2f, 0.83f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.28f, KeyframeAnimations.posVec(0.8f, 7.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.64f, KeyframeAnimations.posVec(-2f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.68f, KeyframeAnimations.posVec(-2f, -1.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.4f, KeyframeAnimations.posVec(0.6f, 2.07f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8f, KeyframeAnimations.posVec(-1.5f, 7.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone127", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(1.08f, KeyframeAnimations.scaleVec(2.5f, 2.5f, 2.5f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.28f, KeyframeAnimations.scaleVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.64f, KeyframeAnimations.scaleVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.68f, KeyframeAnimations.scaleVec(2f, 2f, 2f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8f, KeyframeAnimations.scaleVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone128", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0.32f, KeyframeAnimations.posVec(0f, -1.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.32f, KeyframeAnimations.posVec(-1.35f, 4.39f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.24f, KeyframeAnimations.posVec(0.81f, 9.62f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.84f, KeyframeAnimations.posVec(-0.2f, 5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.2f, KeyframeAnimations.posVec(2.86f, 2.2f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.72f, KeyframeAnimations.posVec(4f, -1.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7.2f, KeyframeAnimations.posVec(3.81f, 6.62f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7.72f, KeyframeAnimations.posVec(2.8f, -1f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone128", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0.44f, KeyframeAnimations.scaleVec(1.5f, 1.5f, 1.5f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.52f, KeyframeAnimations.scaleVec(1.65f, 1.65f, 1.65f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.84f, KeyframeAnimations.scaleVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.84f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7.72f, KeyframeAnimations.scaleVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone130", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0f, KeyframeAnimations.posVec(0f, -1.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(0.84f, KeyframeAnimations.posVec(0.2f, 0.83f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3f, KeyframeAnimations.posVec(-0.2f, 7.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4f, KeyframeAnimations.posVec(2f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5f, KeyframeAnimations.posVec(2f, -1.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.28f, KeyframeAnimations.posVec(1.6f, 2.07f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8f, KeyframeAnimations.posVec(2.6f, 7.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone130", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0f, KeyframeAnimations.scaleVec(2f, 2f, 2f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3f, KeyframeAnimations.scaleVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.96f, KeyframeAnimations.scaleVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5f, KeyframeAnimations.scaleVec(2f, 2f, 2f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8f, KeyframeAnimations.scaleVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone131", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0f, KeyframeAnimations.posVec(0f, -1.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.68f, KeyframeAnimations.posVec(-0.2f, 5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.32f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.8f, KeyframeAnimations.posVec(-3f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7.44f, KeyframeAnimations.posVec(-3f, 8f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone131", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0f, KeyframeAnimations.scaleVec(2f, 2f, 2f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.16f, KeyframeAnimations.scaleVec(1.65f, 1.65f, 1.65f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.24f, KeyframeAnimations.scaleVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.84f, KeyframeAnimations.scaleVec(1.5f, 1.5f, 1.5f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(7.92f, KeyframeAnimations.scaleVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone133", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0f, KeyframeAnimations.posVec(0f, -1.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(0.84f, KeyframeAnimations.posVec(0.2f, 0.83f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3f, KeyframeAnimations.posVec(-0.2f, 8.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.64f, KeyframeAnimations.posVec(-1f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.44f, KeyframeAnimations.posVec(-1f, -1.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.4f, KeyframeAnimations.posVec(0.6f, 2.07f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8f, KeyframeAnimations.posVec(-1.5f, 7.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone133", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0f, KeyframeAnimations.scaleVec(2.5f, 2.5f, 2.5f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3f, KeyframeAnimations.scaleVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.4f, KeyframeAnimations.scaleVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.44f, KeyframeAnimations.scaleVec(2f, 2f, 2f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8f, KeyframeAnimations.scaleVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone134", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0.6f, KeyframeAnimations.posVec(0f, -1.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.04f, KeyframeAnimations.posVec(-1.35f, 4.39f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.6f, KeyframeAnimations.posVec(0.81f, 6.62f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.68f, KeyframeAnimations.posVec(-0.2f, 5f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone134", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0.84f, KeyframeAnimations.scaleVec(1.5f, 1.5f, 1.5f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.64f, KeyframeAnimations.scaleVec(1.65f, 1.65f, 1.65f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.68f, KeyframeAnimations.scaleVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone136", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0.84f, KeyframeAnimations.posVec(0f, -1.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.6f, KeyframeAnimations.posVec(0.2f, 0.83f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.28f, KeyframeAnimations.posVec(0.8f, 7.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.64f, KeyframeAnimations.posVec(-2f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.68f, KeyframeAnimations.posVec(-2f, -1.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.4f, KeyframeAnimations.posVec(0.6f, 2.07f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8f, KeyframeAnimations.posVec(-1.5f, 7.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone136", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(1.08f, KeyframeAnimations.scaleVec(2.5f, 2.5f, 2.5f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.28f, KeyframeAnimations.scaleVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.64f, KeyframeAnimations.scaleVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.68f, KeyframeAnimations.scaleVec(2f, 2f, 2f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8f, KeyframeAnimations.scaleVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone137", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0.32f, KeyframeAnimations.posVec(0f, -1.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.32f, KeyframeAnimations.posVec(-1.35f, 4.39f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.24f, KeyframeAnimations.posVec(0.81f, 9.62f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.84f, KeyframeAnimations.posVec(-0.2f, 5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.2f, KeyframeAnimations.posVec(2.86f, 2.2f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.72f, KeyframeAnimations.posVec(4f, -1.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7.2f, KeyframeAnimations.posVec(3.81f, 6.62f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7.72f, KeyframeAnimations.posVec(2.8f, -1f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone137", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0.44f, KeyframeAnimations.scaleVec(1.5f, 1.5f, 1.5f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.52f, KeyframeAnimations.scaleVec(1.65f, 1.65f, 1.65f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.84f, KeyframeAnimations.scaleVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.84f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7.72f, KeyframeAnimations.scaleVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone233", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2f, KeyframeAnimations.degreeVec(5.99989f, 0.02617f, -2.49931f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4f, KeyframeAnimations.degreeVec(-6.5f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.92f, KeyframeAnimations.degreeVec(6.69497f, -0.00606f, 2.49996f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8.52f, KeyframeAnimations.degreeVec(-5.95f, 0f, -1.5f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(9.4f, KeyframeAnimations.degreeVec(-0.32f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.92f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone233", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.64f, KeyframeAnimations.scaleVec(1f, 1.1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.12f, KeyframeAnimations.scaleVec(1f, 0.95f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.6f, KeyframeAnimations.scaleVec(1f, 1.07f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8.44f, KeyframeAnimations.scaleVec(1f, 0.97f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone234", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(-0.91f, -0.01f, 0.5f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.28f, KeyframeAnimations.degreeVec(-2f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.84f, KeyframeAnimations.degreeVec(3.84997f, 0.01308f, 1.52534f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.24f, KeyframeAnimations.degreeVec(-7.5f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8.48f, KeyframeAnimations.degreeVec(4.69497f, -0.00606f, 0.99996f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.degreeVec(-0.91f, -0.01f, 0.5f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone234", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.32f, KeyframeAnimations.scaleVec(1f, 1.1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.8f, KeyframeAnimations.scaleVec(1f, 0.9f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone236", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2f, KeyframeAnimations.degreeVec(5.99989f, 0.02617f, -2.49931f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4f, KeyframeAnimations.degreeVec(-6.5f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.92f, KeyframeAnimations.degreeVec(6.69497f, -0.00606f, 2.49996f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8.52f, KeyframeAnimations.degreeVec(-5.95f, 0f, -1.5f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(9.4f, KeyframeAnimations.degreeVec(-0.32f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.92f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone236", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.64f, KeyframeAnimations.scaleVec(1f, 1.1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.12f, KeyframeAnimations.scaleVec(1f, 0.95f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.6f, KeyframeAnimations.scaleVec(1f, 1.07f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8.44f, KeyframeAnimations.scaleVec(1f, 0.97f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone237", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(-0.91f, -0.01f, 0.5f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.28f, KeyframeAnimations.degreeVec(-2f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.84f, KeyframeAnimations.degreeVec(3.84997f, 0.01308f, 1.52534f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.24f, KeyframeAnimations.degreeVec(-7.5f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8.48f, KeyframeAnimations.degreeVec(4.69497f, -0.00606f, 0.99996f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.degreeVec(-0.91f, -0.01f, 0.5f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone237", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.32f, KeyframeAnimations.scaleVec(1f, 1.1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.8f, KeyframeAnimations.scaleVec(1f, 0.9f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone238", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2f, KeyframeAnimations.degreeVec(5.99989f, 0.02617f, -2.49931f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4f, KeyframeAnimations.degreeVec(-6.5f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.92f, KeyframeAnimations.degreeVec(6.69497f, -0.00606f, 2.49996f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8.52f, KeyframeAnimations.degreeVec(-5.95f, 0f, -1.5f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(9.4f, KeyframeAnimations.degreeVec(-0.32f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.92f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone238", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.64f, KeyframeAnimations.scaleVec(1f, 1.1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.12f, KeyframeAnimations.scaleVec(1f, 0.95f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.6f, KeyframeAnimations.scaleVec(1f, 1.07f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8.44f, KeyframeAnimations.scaleVec(1f, 0.97f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone239", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(-0.91f, -0.01f, 0.5f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.28f, KeyframeAnimations.degreeVec(-2f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.84f, KeyframeAnimations.degreeVec(3.84997f, 0.01308f, 1.52534f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.24f, KeyframeAnimations.degreeVec(-7.5f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8.48f, KeyframeAnimations.degreeVec(4.69497f, -0.00606f, 0.99996f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.degreeVec(-0.91f, -0.01f, 0.5f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone239", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.32f, KeyframeAnimations.scaleVec(1f, 1.1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.8f, KeyframeAnimations.scaleVec(1f, 0.9f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone284", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.04f, KeyframeAnimations.scaleVec(1.03f, 1.03f, 1.03f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4f, KeyframeAnimations.scaleVec(0.98f, 0.98f, 0.98f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.2f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone285", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.04f, KeyframeAnimations.scaleVec(1.03f, 1.03f, 1.03f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4f, KeyframeAnimations.scaleVec(0.99f, 0.99f, 0.99f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone288", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.04f, KeyframeAnimations.scaleVec(1.03f, 1.03f, 1.03f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4f, KeyframeAnimations.scaleVec(0.98f, 0.98f, 0.98f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.2f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone290", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.04f, KeyframeAnimations.scaleVec(1.03f, 1.03f, 1.03f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4f, KeyframeAnimations.scaleVec(0.99f, 0.99f, 0.99f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone293", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.04f, KeyframeAnimations.scaleVec(1.03f, 1.03f, 1.03f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4f, KeyframeAnimations.scaleVec(0.98f, 0.98f, 0.98f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.2f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone295", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.04f, KeyframeAnimations.scaleVec(1.03f, 1.03f, 1.03f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4f, KeyframeAnimations.scaleVec(0.99f, 0.99f, 0.99f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone298", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.04f, KeyframeAnimations.scaleVec(1.03f, 1.03f, 1.03f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4f, KeyframeAnimations.scaleVec(0.98f, 0.98f, 0.98f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.2f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone300", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.04f, KeyframeAnimations.scaleVec(1.03f, 1.03f, 1.03f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4f, KeyframeAnimations.scaleVec(0.99f, 0.99f, 0.99f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone303", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.04f, KeyframeAnimations.scaleVec(1.03f, 1.03f, 1.03f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4f, KeyframeAnimations.scaleVec(0.98f, 0.98f, 0.98f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.2f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone305", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.04f, KeyframeAnimations.scaleVec(1.03f, 1.03f, 1.03f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4f, KeyframeAnimations.scaleVec(0.99f, 0.99f, 0.99f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone308", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.04f, KeyframeAnimations.scaleVec(1.03f, 1.03f, 1.03f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4f, KeyframeAnimations.scaleVec(0.98f, 0.98f, 0.98f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.2f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone310", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.04f, KeyframeAnimations.scaleVec(1.03f, 1.03f, 1.03f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4f, KeyframeAnimations.scaleVec(0.99f, 0.99f, 0.99f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone59", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.44f, KeyframeAnimations.degreeVec(0f, 281.535f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.degreeVec(0f, 1440f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone62", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.8f, KeyframeAnimations.degreeVec(0f, 211.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.52f, KeyframeAnimations.degreeVec(0f, 66.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.44f, KeyframeAnimations.degreeVec(0f, 158f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.88f, KeyframeAnimations.degreeVec(0f, 72.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8.04f, KeyframeAnimations.degreeVec(0f, -10.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8.64f, KeyframeAnimations.degreeVec(0f, 10.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("increment", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.56f, KeyframeAnimations.degreeVec(0f, 294.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.48f, KeyframeAnimations.degreeVec(0f, 174f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.8f, KeyframeAnimations.degreeVec(0f, 219f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8.88f, KeyframeAnimations.degreeVec(0f, -85f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(9.96f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone68", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1f, KeyframeAnimations.degreeVec(0f, 2f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3f, KeyframeAnimations.degreeVec(0f, -1f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5f, KeyframeAnimations.degreeVec(0f, 2f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7f, KeyframeAnimations.degreeVec(0f, -1f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(9f, KeyframeAnimations.degreeVec(0f, 2f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone83", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.28f, KeyframeAnimations.degreeVec(-4.534f, -1.04656f, -2.46736f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2f, KeyframeAnimations.degreeVec(-1.94f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.96f, KeyframeAnimations.degreeVec(-2.34f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.96f, KeyframeAnimations.degreeVec(1.53083f, 0.76068f, 2.57111f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5f, KeyframeAnimations.degreeVec(1f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6f, KeyframeAnimations.degreeVec(1f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7.12f, KeyframeAnimations.degreeVec(-2.01784f, -0.94619f, -2.51383f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8.8f, KeyframeAnimations.degreeVec(1.25f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(9.72f, KeyframeAnimations.degreeVec(0.2f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(9.96f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone311", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0f, KeyframeAnimations.posVec(4.875f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.28f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.52f, KeyframeAnimations.posVec(4.875f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.76f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5f, KeyframeAnimations.posVec(4.875f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.28f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7.52f, KeyframeAnimations.posVec(4.875f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8.76f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.posVec(4.875f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone311", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0f, KeyframeAnimations.scaleVec(1.15f, 1.15f, 1.15f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone312", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.04f, KeyframeAnimations.scaleVec(1.04f, 1.04f, 1.04f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.48f, KeyframeAnimations.scaleVec(1.04f, 1.04f, 1.04f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.52f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.12f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.16f, KeyframeAnimations.scaleVec(1.04f, 1.04f, 1.04f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.6f, KeyframeAnimations.scaleVec(1.04f, 1.04f, 1.04f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.64f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.56f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.6f, KeyframeAnimations.scaleVec(1.04f, 1.04f, 1.04f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.04f, KeyframeAnimations.scaleVec(1.04f, 1.04f, 1.04f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.08f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.16f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.2f, KeyframeAnimations.scaleVec(1.04f, 1.04f, 1.04f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.64f, KeyframeAnimations.scaleVec(1.04f, 1.04f, 1.04f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.68f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.04f, KeyframeAnimations.scaleVec(1.04f, 1.04f, 1.04f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.96f, KeyframeAnimations.scaleVec(1.04f, 1.04f, 1.04f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(10f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone313", - 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.48f, KeyframeAnimations.posVec(0f, -0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.52f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - 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.48f, KeyframeAnimations.posVec(0f, -0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.52f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - 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.48f, KeyframeAnimations.posVec(0f, -0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.52f, 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.48f, KeyframeAnimations.posVec(0f, -0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.52f, 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(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.48f, KeyframeAnimations.posVec(0f, -0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.52f, 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.48f, KeyframeAnimations.posVec(0f, -0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(6.52f, 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.48f, KeyframeAnimations.posVec(0f, -0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(7.52f, 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.48f, KeyframeAnimations.posVec(0f, -0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.52f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.04f, KeyframeAnimations.posVec(0f, -0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.48f, KeyframeAnimations.posVec(0f, -0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.52f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone314", - 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(0.8f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.84f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.76f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.8f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - 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(3.76f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.8f, 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(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.8f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.84f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.24f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.28f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.2f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.24f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone315", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, -40f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(0.96f, KeyframeAnimations.degreeVec(0f, -112.57f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.68f, KeyframeAnimations.degreeVec(0f, -65.07f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.56f, KeyframeAnimations.degreeVec(0f, -99.57f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.76f, KeyframeAnimations.degreeVec(0f, -2.57f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.16f, KeyframeAnimations.degreeVec(0f, -86.42f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.68f, KeyframeAnimations.degreeVec(0f, -72.67f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.12f, KeyframeAnimations.degreeVec(0f, -114.07f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.92f, KeyframeAnimations.degreeVec(0f, -79.07f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.32f, KeyframeAnimations.degreeVec(0f, -106.57f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7.08f, KeyframeAnimations.degreeVec(0f, -59.07f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7.92f, KeyframeAnimations.degreeVec(0f, -86.57f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8.48f, KeyframeAnimations.degreeVec(0f, -31.57f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(9.12f, KeyframeAnimations.degreeVec(0f, -59.07f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.degreeVec(0f, -40f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone45", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.04f, KeyframeAnimations.posVec(0f, 0f, -0.075f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.28f, KeyframeAnimations.posVec(0f, 0f, -0.075f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.32f, 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, 0f, -0.075f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5f, KeyframeAnimations.posVec(0f, 0f, -0.075f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.04f, 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, 0f, -0.075f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(7f, KeyframeAnimations.posVec(0f, 0f, -0.075f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(7.04f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone316", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(0.8f, KeyframeAnimations.degreeVec(0f, -410.34f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.44f, KeyframeAnimations.degreeVec(0f, -119.29f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.08f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.84f, KeyframeAnimations.degreeVec(0f, 51.375f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.64f, KeyframeAnimations.degreeVec(0f, 232f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.08f, KeyframeAnimations.degreeVec(0f, 180f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7.08f, KeyframeAnimations.degreeVec(0f, 1440f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7.8f, KeyframeAnimations.degreeVec(0f, 1557f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8.6f, KeyframeAnimations.degreeVec(0f, 1293f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.degreeVec(0f, 1440f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone317", - 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.03f, -0.03f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.64f, KeyframeAnimations.posVec(0f, 0.03f, -0.03f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.68f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.32f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.36f, KeyframeAnimations.posVec(0f, 0.03f, -0.03f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.6f, KeyframeAnimations.posVec(0f, 0.03f, -0.03f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.64f, 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.03f, -0.03f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.4f, KeyframeAnimations.posVec(0f, 0.03f, -0.03f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.44f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.96f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4f, KeyframeAnimations.posVec(0f, 0.03f, -0.03f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.36f, KeyframeAnimations.posVec(0f, 0.03f, -0.03f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.4f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.88f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.92f, KeyframeAnimations.posVec(0f, 0.03f, -0.03f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.28f, KeyframeAnimations.posVec(0f, 0.03f, -0.03f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.32f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.88f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.92f, KeyframeAnimations.posVec(0f, 0.03f, -0.03f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(6.28f, KeyframeAnimations.posVec(0f, 0.03f, -0.03f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(6.32f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(6.68f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(6.72f, KeyframeAnimations.posVec(0f, 0.03f, -0.03f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(7.08f, KeyframeAnimations.posVec(0f, 0.03f, -0.03f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(7.12f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.24f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.28f, KeyframeAnimations.posVec(0f, 0.03f, -0.03f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.64f, KeyframeAnimations.posVec(0f, 0.03f, -0.03f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.68f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.44f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.48f, KeyframeAnimations.posVec(0f, 0.03f, -0.03f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.84f, KeyframeAnimations.posVec(0f, 0.03f, -0.03f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.88f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone318", - 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.48f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.52f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - 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.48f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.52f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.56f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.6f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.04f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.08f, 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(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.48f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.52f, 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.48f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(6.52f, 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.48f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.52f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.04f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.48f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.52f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone319", - 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.6f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.64f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - 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.6f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.64f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - 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.6f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.64f, 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.6f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.64f, 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.6f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.64f, 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.6f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.64f, 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.6f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(6.64f, 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.6f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(7.64f, 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.6f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.64f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.04f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.6f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.64f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone320", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5f, KeyframeAnimations.degreeVec(0f, 180f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone321", - 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.6f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.64f, 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(5.96f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(6f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(6.92f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(6.96f, 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(9.12f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.16f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("rotor_bottom_T_add20", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0f, KeyframeAnimations.posVec(0f, -0.57f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.44f, KeyframeAnimations.posVec(0f, -5.4f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.44f, KeyframeAnimations.posVec(0f, -10f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.84f, KeyframeAnimations.posVec(0f, 1.755f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.12f, KeyframeAnimations.posVec(0f, 3.325f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.2f, KeyframeAnimations.posVec(0f, 3.015f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.6f, KeyframeAnimations.posVec(0f, 1.76f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.84f, KeyframeAnimations.posVec(0f, 0.24f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.6f, KeyframeAnimations.posVec(0f, -2.07f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.44f, KeyframeAnimations.posVec(0f, -6.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7.44f, KeyframeAnimations.posVec(0f, -10f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8.84f, KeyframeAnimations.posVec(0f, 1.755f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.12f, KeyframeAnimations.posVec(0f, 3.325f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.2f, KeyframeAnimations.posVec(0f, 3.015f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.6f, KeyframeAnimations.posVec(0f, 1.76f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(9.84f, KeyframeAnimations.posVec(0f, 0.24f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.posVec(0f, -0.57f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("rotor_bottom_T_add20", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.44f, KeyframeAnimations.scaleVec(1.07f, 1.07f, 1.07f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.84f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7.44f, KeyframeAnimations.scaleVec(1.07f, 1.07f, 1.07f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8.84f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("rotor_top_t_minus20", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0f, KeyframeAnimations.posVec(0f, 0.57f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.4f, KeyframeAnimations.posVec(0f, 4.4f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.44f, KeyframeAnimations.posVec(0f, 9f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.84f, KeyframeAnimations.posVec(0f, -1.755f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.12f, KeyframeAnimations.posVec(0f, -3.325f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.2f, KeyframeAnimations.posVec(0f, -3.015f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.56f, KeyframeAnimations.posVec(0f, -2.16f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5f, KeyframeAnimations.posVec(0f, 0.57f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.48f, KeyframeAnimations.posVec(0f, 4.4f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7.52f, KeyframeAnimations.posVec(0f, 8f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8.84f, KeyframeAnimations.posVec(0f, -1.755f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.12f, KeyframeAnimations.posVec(0f, -3.325f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.2f, KeyframeAnimations.posVec(0f, -3.015f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.56f, KeyframeAnimations.posVec(0f, -2.16f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.posVec(0f, 0.57f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("rotor_top_t_minus20", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.44f, KeyframeAnimations.scaleVec(1.07f, 1.07f, 1.07f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.84f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7.44f, KeyframeAnimations.scaleVec(1.07f, 1.07f, 1.07f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8.84f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone323", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2f, KeyframeAnimations.scaleVec(1f, 1.05f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.88f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4f, KeyframeAnimations.scaleVec(1f, 0.95f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.52f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.2f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.68f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8f, KeyframeAnimations.scaleVec(1f, 0.93f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone324", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0.48f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.6f, KeyframeAnimations.scaleVec(1f, 1.2f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.48f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.52f, KeyframeAnimations.scaleVec(1f, 0.85f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.92f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.92f, KeyframeAnimations.scaleVec(1f, 1.08f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.68f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7.6f, KeyframeAnimations.scaleVec(1f, 0.85f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(9.6f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone326", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0.52f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.64f, KeyframeAnimations.scaleVec(1f, 1.05f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.52f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.64f, KeyframeAnimations.scaleVec(1f, 0.95f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.28f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.96f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.68f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8f, KeyframeAnimations.scaleVec(1f, 0.93f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone327", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0.16f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.28f, KeyframeAnimations.scaleVec(1f, 1.2f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.16f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.44f, KeyframeAnimations.scaleVec(1f, 0.85f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.16f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.16f, KeyframeAnimations.scaleVec(1f, 1.08f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.92f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7.84f, KeyframeAnimations.scaleVec(1f, 0.85f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(9.6f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone329", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0.2f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.2f, KeyframeAnimations.scaleVec(1f, 1.05f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.08f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.2f, KeyframeAnimations.scaleVec(1f, 0.95f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.72f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.4f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.88f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8.2f, KeyframeAnimations.scaleVec(1f, 0.93f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone330", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0.48f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.6f, KeyframeAnimations.scaleVec(1f, 1.2f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.48f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.52f, KeyframeAnimations.scaleVec(1f, 0.85f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.92f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.92f, KeyframeAnimations.scaleVec(1f, 1.08f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.68f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7.6f, KeyframeAnimations.scaleVec(1f, 0.85f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(9.6f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone332", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0.52f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.64f, KeyframeAnimations.scaleVec(1f, 1.05f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.52f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.64f, KeyframeAnimations.scaleVec(1f, 0.95f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.28f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.96f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.68f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8f, KeyframeAnimations.scaleVec(1f, 0.93f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone333", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0.16f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.28f, KeyframeAnimations.scaleVec(1f, 1.2f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.16f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.44f, KeyframeAnimations.scaleVec(1f, 0.85f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.16f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.16f, KeyframeAnimations.scaleVec(1f, 1.08f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.92f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7.84f, KeyframeAnimations.scaleVec(1f, 0.85f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(9.6f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone335", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0.2f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.2f, KeyframeAnimations.scaleVec(1f, 1.05f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.08f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.2f, KeyframeAnimations.scaleVec(1f, 0.95f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.72f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.4f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.88f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8.2f, KeyframeAnimations.scaleVec(1f, 0.93f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone336", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0.48f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.6f, KeyframeAnimations.scaleVec(1f, 1.2f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.48f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.52f, KeyframeAnimations.scaleVec(1f, 0.85f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.92f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.92f, KeyframeAnimations.scaleVec(1f, 1.08f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.68f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7.6f, KeyframeAnimations.scaleVec(1f, 0.85f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(9.6f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone338", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0.52f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.64f, KeyframeAnimations.scaleVec(1f, 1.05f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.52f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.64f, KeyframeAnimations.scaleVec(1f, 0.95f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.28f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.96f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.68f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8f, KeyframeAnimations.scaleVec(1f, 0.93f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone339", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0.16f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.28f, KeyframeAnimations.scaleVec(1f, 1.2f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.16f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.44f, KeyframeAnimations.scaleVec(1f, 0.85f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.16f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.16f, KeyframeAnimations.scaleVec(1f, 1.08f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.92f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7.84f, KeyframeAnimations.scaleVec(1f, 0.85f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(9.6f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("monitor_pitch", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.76f, KeyframeAnimations.degreeVec(1.2f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.04f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.28f, KeyframeAnimations.degreeVec(1f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.6f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.76f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.52f, KeyframeAnimations.degreeVec(1.2f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.8f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.04f, KeyframeAnimations.degreeVec(1f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.36f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.56f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.28f, KeyframeAnimations.degreeVec(1.2f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.56f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.8f, KeyframeAnimations.degreeVec(1f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.16f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.52f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(6.24f, KeyframeAnimations.degreeVec(1.2f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(6.52f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(6.76f, KeyframeAnimations.degreeVec(1f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(7.12f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.28f, KeyframeAnimations.degreeVec(1.2f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.56f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.8f, KeyframeAnimations.degreeVec(1f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.16f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.44f, KeyframeAnimations.degreeVec(1.2f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.72f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone112", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.68f, KeyframeAnimations.degreeVec(-1.8f, 0f, 1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.04f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.24f, KeyframeAnimations.degreeVec(-2f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.6f, KeyframeAnimations.degreeVec(0f, 0f, 0.6f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.76f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.8f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3f, KeyframeAnimations.degreeVec(-2f, 0f, 0.4f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.36f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.64f, KeyframeAnimations.degreeVec(0f, 0f, -0.3f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.24f, KeyframeAnimations.degreeVec(-1.8f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.56f, KeyframeAnimations.degreeVec(0f, 0f, 0.4f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.16f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.52f, KeyframeAnimations.degreeVec(0f, 0f, -0.2f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(6.2f, KeyframeAnimations.degreeVec(-1.8f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(6.56f, KeyframeAnimations.degreeVec(0f, 0f, 0.3f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(7.32f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.44f, KeyframeAnimations.degreeVec(-2f, 0f, 0.2f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.84f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.36f, KeyframeAnimations.degreeVec(-1.8f, 0f, -0.2f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.72f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone340", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0.75f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4f, KeyframeAnimations.posVec(0f, 0f, 0.75f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6f, KeyframeAnimations.posVec(0f, 0f, -0.75f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8f, KeyframeAnimations.posVec(0f, 0f, 0.75f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.posVec(0f, 0f, -0.75f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone342", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(10f, KeyframeAnimations.degreeVec(1080f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR))).build(); - - - - private final ModelPart throttle; - private final ModelPart handbrake; - private final ModelPart base_console; - private final ModelPart anim_parts; - private final ModelPart root; - - public CoralConsoleModel(ModelPart root) { - this.root = 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 = findPart(this, "handbrake"); - } - - 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 rotor_bottom_T_add20 = base_console.addOrReplaceChild("rotor_bottom_T_add20", CubeListBuilder.create().texOffs(77, 80).addBox(-4.0F, -2.5F, -3.5F, 8.0F, 5.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -44.975F, -3.4437F)); - - PartDefinition bone97 = rotor_bottom_T_add20.addOrReplaceChild("bone97", CubeListBuilder.create().texOffs(77, 80).addBox(-4.0F, -13.5F, -6.9437F, 8.0F, 5.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 10.975F, 3.4437F, 0.0F, -1.0472F, 0.0F)); - - PartDefinition bone98 = bone97.addOrReplaceChild("bone98", CubeListBuilder.create().texOffs(77, 80).addBox(-4.0F, -13.475F, -6.9437F, 8.0F, 5.0F, 7.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(77, 80).addBox(-4.0F, -13.5F, -6.9437F, 8.0F, 5.0F, 7.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(77, 80).addBox(-4.0F, -13.475F, -6.9437F, 8.0F, 5.0F, 7.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(77, 80).addBox(-4.0F, -13.5F, -6.9437F, 8.0F, 5.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - - PartDefinition rotor_top_t_minus20 = base_console.addOrReplaceChild("rotor_top_t_minus20", CubeListBuilder.create().texOffs(0, 72).addBox(-4.0F, -2.5F, -3.5F, 8.0F, 5.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -56.025F, -3.4187F)); - - PartDefinition bone37 = rotor_top_t_minus20.addOrReplaceChild("bone37", CubeListBuilder.create().texOffs(0, 72).addBox(-4.0F, 8.5F, -6.9187F, 8.0F, 5.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -10.975F, 3.4187F, 0.0F, -1.0472F, 0.0F)); - - PartDefinition bone38 = bone37.addOrReplaceChild("bone38", CubeListBuilder.create().texOffs(0, 72).addBox(-4.0F, 8.475F, -6.9187F, 8.0F, 5.0F, 7.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(0, 72).addBox(-4.0F, 8.5F, -6.9187F, 8.0F, 5.0F, 7.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(0, 72).addBox(-4.0F, 8.475F, -6.9187F, 8.0F, 5.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + public static final AnimationDefinition IDLE = AnimationDefinition.Builder.withLength(10f).looping() + .addAnimation("bone233", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.96f, KeyframeAnimations.degreeVec(2.99989f, 0.02617f, -0.49931f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4f, KeyframeAnimations.degreeVec(-2.5f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.76f, KeyframeAnimations.degreeVec(0.69497f, -0.00606f, 0.49996f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7.28f, KeyframeAnimations.degreeVec(-0.95f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7.72f, KeyframeAnimations.degreeVec(-0.32f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone234", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(-0.91f, -0.01f, 0.5f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3f, KeyframeAnimations.degreeVec(1.84997f, 0.01308f, 0.52534f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5f, KeyframeAnimations.degreeVec(-2.5f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.76f, KeyframeAnimations.degreeVec(0.69497f, -0.00606f, 0.49996f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8f, KeyframeAnimations.degreeVec(-0.91f, -0.01f, 0.5f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone236", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.96f, KeyframeAnimations.degreeVec(2.99989f, 0.02617f, -0.49931f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4f, KeyframeAnimations.degreeVec(-2.5f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.76f, KeyframeAnimations.degreeVec(0.69497f, -0.00606f, 0.49996f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7.28f, KeyframeAnimations.degreeVec(-0.95f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7.72f, KeyframeAnimations.degreeVec(-0.32f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone237", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(-0.91f, -0.01f, 0.5f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.96f, KeyframeAnimations.degreeVec(1.24997f, 0.01308f, -0.24966f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5f, KeyframeAnimations.degreeVec(-2.5f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.76f, KeyframeAnimations.degreeVec(0.69497f, -0.00606f, 0.49996f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8f, KeyframeAnimations.degreeVec(-0.91f, -0.01f, 0.5f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone238", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.96f, KeyframeAnimations.degreeVec(2.99989f, 0.02617f, -0.49931f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4f, KeyframeAnimations.degreeVec(-2.5f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.76f, KeyframeAnimations.degreeVec(0.69497f, -0.00606f, 0.49996f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7.28f, KeyframeAnimations.degreeVec(-0.95f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7.72f, KeyframeAnimations.degreeVec(-0.32f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone239", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(-0.91f, -0.01f, 0.5f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.96f, KeyframeAnimations.degreeVec(1.69997f, 0.01308f, -0.62466f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5f, KeyframeAnimations.degreeVec(-2.5f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.76f, KeyframeAnimations.degreeVec(0.69497f, -0.00606f, 0.72496f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8f, KeyframeAnimations.degreeVec(-0.91f, -0.01f, 0.5f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone284", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.04f, KeyframeAnimations.scaleVec(1.03f, 1.03f, 1.03f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4f, KeyframeAnimations.scaleVec(0.98f, 0.98f, 0.98f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.2f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone285", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.04f, KeyframeAnimations.scaleVec(1.03f, 1.03f, 1.03f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4f, KeyframeAnimations.scaleVec(0.99f, 0.99f, 0.99f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone288", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.04f, KeyframeAnimations.scaleVec(1.03f, 1.03f, 1.03f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4f, KeyframeAnimations.scaleVec(0.98f, 0.98f, 0.98f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.2f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone290", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.04f, KeyframeAnimations.scaleVec(1.03f, 1.03f, 1.03f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4f, KeyframeAnimations.scaleVec(0.99f, 0.99f, 0.99f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone293", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.04f, KeyframeAnimations.scaleVec(1.03f, 1.03f, 1.03f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4f, KeyframeAnimations.scaleVec(0.98f, 0.98f, 0.98f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.2f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone295", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.04f, KeyframeAnimations.scaleVec(1.03f, 1.03f, 1.03f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4f, KeyframeAnimations.scaleVec(0.99f, 0.99f, 0.99f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone298", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.04f, KeyframeAnimations.scaleVec(1.03f, 1.03f, 1.03f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4f, KeyframeAnimations.scaleVec(0.98f, 0.98f, 0.98f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.2f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone300", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.04f, KeyframeAnimations.scaleVec(1.03f, 1.03f, 1.03f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4f, KeyframeAnimations.scaleVec(0.99f, 0.99f, 0.99f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone303", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.04f, KeyframeAnimations.scaleVec(1.03f, 1.03f, 1.03f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4f, KeyframeAnimations.scaleVec(0.98f, 0.98f, 0.98f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.2f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone305", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.04f, KeyframeAnimations.scaleVec(1.03f, 1.03f, 1.03f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4f, KeyframeAnimations.scaleVec(0.99f, 0.99f, 0.99f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone308", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.04f, KeyframeAnimations.scaleVec(1.03f, 1.03f, 1.03f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4f, KeyframeAnimations.scaleVec(0.98f, 0.98f, 0.98f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.2f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone310", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.04f, KeyframeAnimations.scaleVec(1.03f, 1.03f, 1.03f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4f, KeyframeAnimations.scaleVec(0.99f, 0.99f, 0.99f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone59", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.44f, KeyframeAnimations.degreeVec(0f, 281.535f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.degreeVec(0f, 1440f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone62", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.8f, KeyframeAnimations.degreeVec(0f, 211.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.52f, KeyframeAnimations.degreeVec(0f, 66.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.44f, KeyframeAnimations.degreeVec(0f, 158f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.88f, KeyframeAnimations.degreeVec(0f, 72.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8.04f, KeyframeAnimations.degreeVec(0f, -10.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8.64f, KeyframeAnimations.degreeVec(0f, 10.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("increment", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.56f, KeyframeAnimations.degreeVec(0f, 294.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.48f, KeyframeAnimations.degreeVec(0f, 174f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.8f, KeyframeAnimations.degreeVec(0f, 219f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8.88f, KeyframeAnimations.degreeVec(0f, -85f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(9.96f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone68", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1f, KeyframeAnimations.degreeVec(0f, 2f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3f, KeyframeAnimations.degreeVec(0f, -1f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5f, KeyframeAnimations.degreeVec(0f, 2f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7f, KeyframeAnimations.degreeVec(0f, -1f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(9f, KeyframeAnimations.degreeVec(0f, 2f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone83", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2f, KeyframeAnimations.degreeVec(-2.5f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4f, KeyframeAnimations.degreeVec(0.5f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7.16f, KeyframeAnimations.degreeVec(-2f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8.84f, KeyframeAnimations.degreeVec(0.25f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(9.72f, KeyframeAnimations.degreeVec(0.2f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(9.96f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone311", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2f, KeyframeAnimations.posVec(4.875f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.04f, KeyframeAnimations.posVec(4.08f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.08f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5f, KeyframeAnimations.posVec(4.875f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.04f, KeyframeAnimations.posVec(4.08f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.08f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(6f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(7.92f, KeyframeAnimations.posVec(4.875f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7.96f, KeyframeAnimations.posVec(4.08f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone311", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0f, KeyframeAnimations.scaleVec(1.15f, 1.15f, 1.15f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2f, KeyframeAnimations.scaleVec(1.15f, 1.15f, 1.15f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.04f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3f, KeyframeAnimations.scaleVec(1.15f, 1.15f, 1.15f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5f, KeyframeAnimations.scaleVec(1.15f, 1.15f, 1.15f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.04f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6f, KeyframeAnimations.scaleVec(1.15f, 1.15f, 1.15f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7.92f, KeyframeAnimations.scaleVec(1.15f, 1.15f, 1.15f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7.96f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone312", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.04f, KeyframeAnimations.scaleVec(1.04f, 1.04f, 1.04f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.96f, KeyframeAnimations.scaleVec(1.04f, 1.04f, 1.04f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2f, 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.04f, 1.04f, 1.04f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.96f, KeyframeAnimations.scaleVec(1.04f, 1.04f, 1.04f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4f, 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.04f, 1.04f, 1.04f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.96f, KeyframeAnimations.scaleVec(1.04f, 1.04f, 1.04f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(6f, 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.04f, 1.04f, 1.04f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(7.96f, KeyframeAnimations.scaleVec(1.04f, 1.04f, 1.04f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone313", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0.8f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.84f, 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(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.8f, KeyframeAnimations.posVec(0f, -0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.84f, 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(7.32f, KeyframeAnimations.posVec(0f, -0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(7.36f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.28f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.32f, 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("bone314", + 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(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(7.2f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(7.24f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.24f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.28f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.2f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.24f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone315", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8f, KeyframeAnimations.degreeVec(0f, 720f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone45", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.04f, KeyframeAnimations.posVec(0f, 0f, -0.075f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.28f, KeyframeAnimations.posVec(0f, 0f, -0.075f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.32f, 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, 0f, -0.075f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5f, KeyframeAnimations.posVec(0f, 0f, -0.075f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.04f, 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, 0f, -0.075f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(7f, KeyframeAnimations.posVec(0f, 0f, -0.075f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(7.04f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone316", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(2.08f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.84f, KeyframeAnimations.degreeVec(0f, 51.375f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.64f, KeyframeAnimations.degreeVec(0f, 232f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.08f, KeyframeAnimations.degreeVec(0f, 180f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7.08f, KeyframeAnimations.degreeVec(0f, 360f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone317", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(1.32f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.36f, KeyframeAnimations.posVec(0f, 0.03f, -0.03f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.6f, KeyframeAnimations.posVec(0f, 0.03f, -0.03f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.64f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.96f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4f, KeyframeAnimations.posVec(0f, 0.03f, -0.03f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.36f, KeyframeAnimations.posVec(0f, 0.03f, -0.03f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.4f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.88f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.92f, KeyframeAnimations.posVec(0f, 0.03f, -0.03f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(6.28f, KeyframeAnimations.posVec(0f, 0.03f, -0.03f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(6.32f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(6.68f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(6.72f, KeyframeAnimations.posVec(0f, 0.03f, -0.03f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(7.08f, KeyframeAnimations.posVec(0f, 0.03f, -0.03f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(7.12f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone318", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(1.8f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.84f, 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.2f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.24f, 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(5.72f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.76f, 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(8.48f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.52f, 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.96f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone319", + 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.6f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.64f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + 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.6f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.64f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + 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.6f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.64f, 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.6f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.64f, 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.6f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.64f, 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.6f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.64f, 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.6f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(6.64f, 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.6f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(7.64f, 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.6f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.64f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.04f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.6f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.64f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone320", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5f, KeyframeAnimations.degreeVec(0f, 180f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone321", + 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.6f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.64f, 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(5.96f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(6f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(6.92f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(6.96f, 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(9.12f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.16f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone323", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2f, KeyframeAnimations.scaleVec(1f, 1.05f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.88f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4f, KeyframeAnimations.scaleVec(1f, 0.95f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.52f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.2f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.68f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8f, KeyframeAnimations.scaleVec(1f, 0.93f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone324", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0.48f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.6f, KeyframeAnimations.scaleVec(1f, 1.2f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.48f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.52f, KeyframeAnimations.scaleVec(1f, 0.85f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.92f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.92f, KeyframeAnimations.scaleVec(1f, 1.08f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.68f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7.6f, KeyframeAnimations.scaleVec(1f, 0.85f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(9.6f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone326", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0.52f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.64f, KeyframeAnimations.scaleVec(1f, 1.05f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.52f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.64f, KeyframeAnimations.scaleVec(1f, 0.95f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.28f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.96f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.68f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8f, KeyframeAnimations.scaleVec(1f, 0.93f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone327", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0.12f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.24f, KeyframeAnimations.scaleVec(1f, 1.2f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.12f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.4f, KeyframeAnimations.scaleVec(1f, 0.85f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.12f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.12f, KeyframeAnimations.scaleVec(1f, 1.08f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.88f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7.8f, KeyframeAnimations.scaleVec(1f, 0.85f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(9.56f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone329", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0.16f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.16f, KeyframeAnimations.scaleVec(1f, 1.05f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.04f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.16f, KeyframeAnimations.scaleVec(1f, 0.95f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.68f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.36f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.84f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8.16f, KeyframeAnimations.scaleVec(1f, 0.93f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(9.96f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone330", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0.44f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.56f, KeyframeAnimations.scaleVec(1f, 1.2f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.44f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.48f, KeyframeAnimations.scaleVec(1f, 0.85f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.88f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.88f, KeyframeAnimations.scaleVec(1f, 1.08f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.64f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7.56f, KeyframeAnimations.scaleVec(1f, 0.85f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(9.56f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone332", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0.48f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.6f, KeyframeAnimations.scaleVec(1f, 1.05f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.48f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.6f, KeyframeAnimations.scaleVec(1f, 0.95f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.24f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.92f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.64f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7.96f, KeyframeAnimations.scaleVec(1f, 0.93f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(9.96f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone333", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0.12f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.24f, KeyframeAnimations.scaleVec(1f, 1.2f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.12f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.4f, KeyframeAnimations.scaleVec(1f, 0.85f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.12f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.12f, KeyframeAnimations.scaleVec(1f, 1.08f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.88f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7.8f, KeyframeAnimations.scaleVec(1f, 0.85f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(9.56f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone335", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0.16f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.16f, KeyframeAnimations.scaleVec(1f, 1.05f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.04f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.16f, KeyframeAnimations.scaleVec(1f, 0.95f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.68f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.36f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.84f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8.16f, KeyframeAnimations.scaleVec(1f, 0.93f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(9.96f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone336", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0.48f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.6f, KeyframeAnimations.scaleVec(1f, 1.2f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.48f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.52f, KeyframeAnimations.scaleVec(1f, 0.85f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.92f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.92f, KeyframeAnimations.scaleVec(1f, 1.08f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.68f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7.6f, KeyframeAnimations.scaleVec(1f, 0.85f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(9.6f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone338", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0.48f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.6f, KeyframeAnimations.scaleVec(1f, 1.05f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.48f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.6f, KeyframeAnimations.scaleVec(1f, 0.95f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.24f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.92f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.64f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7.96f, KeyframeAnimations.scaleVec(1f, 0.93f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(9.96f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone339", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0.16f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.28f, KeyframeAnimations.scaleVec(1f, 1.2f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.16f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.44f, KeyframeAnimations.scaleVec(1f, 0.85f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.16f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.16f, KeyframeAnimations.scaleVec(1f, 1.08f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.92f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7.84f, KeyframeAnimations.scaleVec(1f, 0.85f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(9.6f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))).build(); + public static final AnimationDefinition FLIGHT = AnimationDefinition.Builder.withLength(10f).looping() + .addAnimation("bone19", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0f, KeyframeAnimations.posVec(0f, -1.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(0.84f, KeyframeAnimations.posVec(0.2f, 0.83f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3f, KeyframeAnimations.posVec(-0.2f, 7.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4f, KeyframeAnimations.posVec(2f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5f, KeyframeAnimations.posVec(2f, -1.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.28f, KeyframeAnimations.posVec(1.6f, 2.07f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8f, KeyframeAnimations.posVec(2.6f, 7.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone19", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0f, KeyframeAnimations.scaleVec(2f, 2f, 2f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3f, KeyframeAnimations.scaleVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.96f, KeyframeAnimations.scaleVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5f, KeyframeAnimations.scaleVec(2f, 2f, 2f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8f, KeyframeAnimations.scaleVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone34", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0f, KeyframeAnimations.posVec(0f, -1.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.68f, KeyframeAnimations.posVec(-0.2f, 5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.32f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.8f, KeyframeAnimations.posVec(-3f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7.44f, KeyframeAnimations.posVec(-3f, 8f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone34", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0f, KeyframeAnimations.scaleVec(2f, 2f, 2f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.16f, KeyframeAnimations.scaleVec(1.65f, 1.65f, 1.65f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.24f, KeyframeAnimations.scaleVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.84f, KeyframeAnimations.scaleVec(1.5f, 1.5f, 1.5f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(7.92f, KeyframeAnimations.scaleVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone118", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0f, KeyframeAnimations.posVec(0f, -1.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(0.84f, KeyframeAnimations.posVec(0.2f, 0.83f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3f, KeyframeAnimations.posVec(-0.2f, 8.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.64f, KeyframeAnimations.posVec(-1f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.44f, KeyframeAnimations.posVec(-1f, -1.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.4f, KeyframeAnimations.posVec(0.6f, 2.07f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8f, KeyframeAnimations.posVec(-1.5f, 7.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone118", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0f, KeyframeAnimations.scaleVec(2.5f, 2.5f, 2.5f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3f, KeyframeAnimations.scaleVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.4f, KeyframeAnimations.scaleVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.44f, KeyframeAnimations.scaleVec(2f, 2f, 2f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8f, KeyframeAnimations.scaleVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone119", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0.6f, KeyframeAnimations.posVec(0f, -1.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.04f, KeyframeAnimations.posVec(-1.35f, 4.39f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.6f, KeyframeAnimations.posVec(0.81f, 6.62f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.68f, KeyframeAnimations.posVec(-0.2f, 5f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone119", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0.84f, KeyframeAnimations.scaleVec(1.5f, 1.5f, 1.5f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.64f, KeyframeAnimations.scaleVec(1.65f, 1.65f, 1.65f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.68f, KeyframeAnimations.scaleVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone127", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0.84f, KeyframeAnimations.posVec(0f, -1.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.6f, KeyframeAnimations.posVec(0.2f, 0.83f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.28f, KeyframeAnimations.posVec(0.8f, 7.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.64f, KeyframeAnimations.posVec(-2f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.68f, KeyframeAnimations.posVec(-2f, -1.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.4f, KeyframeAnimations.posVec(0.6f, 2.07f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8f, KeyframeAnimations.posVec(-1.5f, 7.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone127", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(1.08f, KeyframeAnimations.scaleVec(2.5f, 2.5f, 2.5f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.28f, KeyframeAnimations.scaleVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.64f, KeyframeAnimations.scaleVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.68f, KeyframeAnimations.scaleVec(2f, 2f, 2f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8f, KeyframeAnimations.scaleVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone128", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0.32f, KeyframeAnimations.posVec(0f, -1.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.32f, KeyframeAnimations.posVec(-1.35f, 4.39f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.24f, KeyframeAnimations.posVec(0.81f, 9.62f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.84f, KeyframeAnimations.posVec(-0.2f, 5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.2f, KeyframeAnimations.posVec(2.86f, 2.2f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.72f, KeyframeAnimations.posVec(4f, -1.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7.2f, KeyframeAnimations.posVec(3.81f, 6.62f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7.72f, KeyframeAnimations.posVec(2.8f, -1f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone128", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0.44f, KeyframeAnimations.scaleVec(1.5f, 1.5f, 1.5f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.52f, KeyframeAnimations.scaleVec(1.65f, 1.65f, 1.65f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.84f, KeyframeAnimations.scaleVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.84f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7.72f, KeyframeAnimations.scaleVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone130", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0f, KeyframeAnimations.posVec(0f, -1.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(0.84f, KeyframeAnimations.posVec(0.2f, 0.83f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3f, KeyframeAnimations.posVec(-0.2f, 7.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4f, KeyframeAnimations.posVec(2f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5f, KeyframeAnimations.posVec(2f, -1.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.28f, KeyframeAnimations.posVec(1.6f, 2.07f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8f, KeyframeAnimations.posVec(2.6f, 7.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone130", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0f, KeyframeAnimations.scaleVec(2f, 2f, 2f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3f, KeyframeAnimations.scaleVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.96f, KeyframeAnimations.scaleVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5f, KeyframeAnimations.scaleVec(2f, 2f, 2f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8f, KeyframeAnimations.scaleVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone131", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0f, KeyframeAnimations.posVec(0f, -1.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.68f, KeyframeAnimations.posVec(-0.2f, 5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.32f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.8f, KeyframeAnimations.posVec(-3f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7.44f, KeyframeAnimations.posVec(-3f, 8f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone131", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0f, KeyframeAnimations.scaleVec(2f, 2f, 2f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.16f, KeyframeAnimations.scaleVec(1.65f, 1.65f, 1.65f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.24f, KeyframeAnimations.scaleVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.84f, KeyframeAnimations.scaleVec(1.5f, 1.5f, 1.5f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(7.92f, KeyframeAnimations.scaleVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone133", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0f, KeyframeAnimations.posVec(0f, -1.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(0.84f, KeyframeAnimations.posVec(0.2f, 0.83f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3f, KeyframeAnimations.posVec(-0.2f, 8.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.64f, KeyframeAnimations.posVec(-1f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.44f, KeyframeAnimations.posVec(-1f, -1.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.4f, KeyframeAnimations.posVec(0.6f, 2.07f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8f, KeyframeAnimations.posVec(-1.5f, 7.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone133", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0f, KeyframeAnimations.scaleVec(2.5f, 2.5f, 2.5f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3f, KeyframeAnimations.scaleVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.4f, KeyframeAnimations.scaleVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.44f, KeyframeAnimations.scaleVec(2f, 2f, 2f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8f, KeyframeAnimations.scaleVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone134", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0.6f, KeyframeAnimations.posVec(0f, -1.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.04f, KeyframeAnimations.posVec(-1.35f, 4.39f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.6f, KeyframeAnimations.posVec(0.81f, 6.62f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.68f, KeyframeAnimations.posVec(-0.2f, 5f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone134", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0.84f, KeyframeAnimations.scaleVec(1.5f, 1.5f, 1.5f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.64f, KeyframeAnimations.scaleVec(1.65f, 1.65f, 1.65f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.68f, KeyframeAnimations.scaleVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone136", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0.84f, KeyframeAnimations.posVec(0f, -1.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.6f, KeyframeAnimations.posVec(0.2f, 0.83f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.28f, KeyframeAnimations.posVec(0.8f, 7.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.64f, KeyframeAnimations.posVec(-2f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.68f, KeyframeAnimations.posVec(-2f, -1.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.4f, KeyframeAnimations.posVec(0.6f, 2.07f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8f, KeyframeAnimations.posVec(-1.5f, 7.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone136", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(1.08f, KeyframeAnimations.scaleVec(2.5f, 2.5f, 2.5f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.28f, KeyframeAnimations.scaleVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.64f, KeyframeAnimations.scaleVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.68f, KeyframeAnimations.scaleVec(2f, 2f, 2f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8f, KeyframeAnimations.scaleVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone137", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0.32f, KeyframeAnimations.posVec(0f, -1.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.32f, KeyframeAnimations.posVec(-1.35f, 4.39f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.24f, KeyframeAnimations.posVec(0.81f, 9.62f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.84f, KeyframeAnimations.posVec(-0.2f, 5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.2f, KeyframeAnimations.posVec(2.86f, 2.2f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.72f, KeyframeAnimations.posVec(4f, -1.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7.2f, KeyframeAnimations.posVec(3.81f, 6.62f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7.72f, KeyframeAnimations.posVec(2.8f, -1f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone137", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0.44f, KeyframeAnimations.scaleVec(1.5f, 1.5f, 1.5f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.52f, KeyframeAnimations.scaleVec(1.65f, 1.65f, 1.65f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.84f, KeyframeAnimations.scaleVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.84f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7.72f, KeyframeAnimations.scaleVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone233", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2f, KeyframeAnimations.degreeVec(5.99989f, 0.02617f, -2.49931f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4f, KeyframeAnimations.degreeVec(-6.5f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.92f, KeyframeAnimations.degreeVec(6.69497f, -0.00606f, 2.49996f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8.52f, KeyframeAnimations.degreeVec(-5.95f, 0f, -1.5f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(9.4f, KeyframeAnimations.degreeVec(-0.32f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.92f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone233", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.64f, KeyframeAnimations.scaleVec(1f, 1.1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.12f, KeyframeAnimations.scaleVec(1f, 0.95f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.6f, KeyframeAnimations.scaleVec(1f, 1.07f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8.44f, KeyframeAnimations.scaleVec(1f, 0.97f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone234", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(-0.91f, -0.01f, 0.5f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.28f, KeyframeAnimations.degreeVec(-2f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.84f, KeyframeAnimations.degreeVec(3.84997f, 0.01308f, 1.52534f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.24f, KeyframeAnimations.degreeVec(-7.5f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8.48f, KeyframeAnimations.degreeVec(4.69497f, -0.00606f, 0.99996f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.degreeVec(-0.91f, -0.01f, 0.5f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone234", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.32f, KeyframeAnimations.scaleVec(1f, 1.1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.8f, KeyframeAnimations.scaleVec(1f, 0.9f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone236", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2f, KeyframeAnimations.degreeVec(5.99989f, 0.02617f, -2.49931f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4f, KeyframeAnimations.degreeVec(-6.5f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.92f, KeyframeAnimations.degreeVec(6.69497f, -0.00606f, 2.49996f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8.52f, KeyframeAnimations.degreeVec(-5.95f, 0f, -1.5f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(9.4f, KeyframeAnimations.degreeVec(-0.32f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.92f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone236", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.64f, KeyframeAnimations.scaleVec(1f, 1.1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.12f, KeyframeAnimations.scaleVec(1f, 0.95f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.6f, KeyframeAnimations.scaleVec(1f, 1.07f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8.44f, KeyframeAnimations.scaleVec(1f, 0.97f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone237", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(-0.91f, -0.01f, 0.5f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.28f, KeyframeAnimations.degreeVec(-2f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.84f, KeyframeAnimations.degreeVec(3.84997f, 0.01308f, 1.52534f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.24f, KeyframeAnimations.degreeVec(-7.5f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8.48f, KeyframeAnimations.degreeVec(4.69497f, -0.00606f, 0.99996f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.degreeVec(-0.91f, -0.01f, 0.5f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone237", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.32f, KeyframeAnimations.scaleVec(1f, 1.1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.8f, KeyframeAnimations.scaleVec(1f, 0.9f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone238", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2f, KeyframeAnimations.degreeVec(5.99989f, 0.02617f, -2.49931f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4f, KeyframeAnimations.degreeVec(-6.5f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.92f, KeyframeAnimations.degreeVec(6.69497f, -0.00606f, 2.49996f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8.52f, KeyframeAnimations.degreeVec(-5.95f, 0f, -1.5f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(9.4f, KeyframeAnimations.degreeVec(-0.32f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.92f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone238", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.64f, KeyframeAnimations.scaleVec(1f, 1.1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.12f, KeyframeAnimations.scaleVec(1f, 0.95f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.6f, KeyframeAnimations.scaleVec(1f, 1.07f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8.44f, KeyframeAnimations.scaleVec(1f, 0.97f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone239", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(-0.91f, -0.01f, 0.5f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.28f, KeyframeAnimations.degreeVec(-2f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.84f, KeyframeAnimations.degreeVec(3.84997f, 0.01308f, 1.52534f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.24f, KeyframeAnimations.degreeVec(-7.5f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8.48f, KeyframeAnimations.degreeVec(4.69497f, -0.00606f, 0.99996f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.degreeVec(-0.91f, -0.01f, 0.5f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone239", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.32f, KeyframeAnimations.scaleVec(1f, 1.1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.8f, KeyframeAnimations.scaleVec(1f, 0.9f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone284", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.04f, KeyframeAnimations.scaleVec(1.03f, 1.03f, 1.03f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4f, KeyframeAnimations.scaleVec(0.98f, 0.98f, 0.98f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.2f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone285", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.04f, KeyframeAnimations.scaleVec(1.03f, 1.03f, 1.03f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4f, KeyframeAnimations.scaleVec(0.99f, 0.99f, 0.99f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone288", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.04f, KeyframeAnimations.scaleVec(1.03f, 1.03f, 1.03f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4f, KeyframeAnimations.scaleVec(0.98f, 0.98f, 0.98f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.2f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone290", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.04f, KeyframeAnimations.scaleVec(1.03f, 1.03f, 1.03f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4f, KeyframeAnimations.scaleVec(0.99f, 0.99f, 0.99f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone293", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.04f, KeyframeAnimations.scaleVec(1.03f, 1.03f, 1.03f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4f, KeyframeAnimations.scaleVec(0.98f, 0.98f, 0.98f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.2f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone295", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.04f, KeyframeAnimations.scaleVec(1.03f, 1.03f, 1.03f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4f, KeyframeAnimations.scaleVec(0.99f, 0.99f, 0.99f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone298", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.04f, KeyframeAnimations.scaleVec(1.03f, 1.03f, 1.03f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4f, KeyframeAnimations.scaleVec(0.98f, 0.98f, 0.98f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.2f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone300", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.04f, KeyframeAnimations.scaleVec(1.03f, 1.03f, 1.03f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4f, KeyframeAnimations.scaleVec(0.99f, 0.99f, 0.99f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone303", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.04f, KeyframeAnimations.scaleVec(1.03f, 1.03f, 1.03f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4f, KeyframeAnimations.scaleVec(0.98f, 0.98f, 0.98f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.2f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone305", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.04f, KeyframeAnimations.scaleVec(1.03f, 1.03f, 1.03f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4f, KeyframeAnimations.scaleVec(0.99f, 0.99f, 0.99f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone308", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.04f, KeyframeAnimations.scaleVec(1.03f, 1.03f, 1.03f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4f, KeyframeAnimations.scaleVec(0.98f, 0.98f, 0.98f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.2f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone310", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.04f, KeyframeAnimations.scaleVec(1.03f, 1.03f, 1.03f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4f, KeyframeAnimations.scaleVec(0.99f, 0.99f, 0.99f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6f, KeyframeAnimations.scaleVec(1.08f, 1.08f, 1.08f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone59", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.44f, KeyframeAnimations.degreeVec(0f, 281.535f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.degreeVec(0f, 1440f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone62", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.8f, KeyframeAnimations.degreeVec(0f, 211.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.52f, KeyframeAnimations.degreeVec(0f, 66.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.44f, KeyframeAnimations.degreeVec(0f, 158f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.88f, KeyframeAnimations.degreeVec(0f, 72.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8.04f, KeyframeAnimations.degreeVec(0f, -10.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8.64f, KeyframeAnimations.degreeVec(0f, 10.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("increment", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.56f, KeyframeAnimations.degreeVec(0f, 294.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.48f, KeyframeAnimations.degreeVec(0f, 174f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.8f, KeyframeAnimations.degreeVec(0f, 219f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8.88f, KeyframeAnimations.degreeVec(0f, -85f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(9.96f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone68", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1f, KeyframeAnimations.degreeVec(0f, 2f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3f, KeyframeAnimations.degreeVec(0f, -1f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5f, KeyframeAnimations.degreeVec(0f, 2f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7f, KeyframeAnimations.degreeVec(0f, -1f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(9f, KeyframeAnimations.degreeVec(0f, 2f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone83", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.28f, KeyframeAnimations.degreeVec(-4.534f, -1.04656f, -2.46736f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2f, KeyframeAnimations.degreeVec(-1.94f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.96f, KeyframeAnimations.degreeVec(-2.34f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.96f, KeyframeAnimations.degreeVec(1.53083f, 0.76068f, 2.57111f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5f, KeyframeAnimations.degreeVec(1f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6f, KeyframeAnimations.degreeVec(1f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7.12f, KeyframeAnimations.degreeVec(-2.01784f, -0.94619f, -2.51383f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8.8f, KeyframeAnimations.degreeVec(1.25f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(9.72f, KeyframeAnimations.degreeVec(0.2f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(9.96f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone311", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0f, KeyframeAnimations.posVec(4.875f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.28f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.52f, KeyframeAnimations.posVec(4.875f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.76f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5f, KeyframeAnimations.posVec(4.875f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.28f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7.52f, KeyframeAnimations.posVec(4.875f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8.76f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.posVec(4.875f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone311", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0f, KeyframeAnimations.scaleVec(1.15f, 1.15f, 1.15f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone312", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.04f, KeyframeAnimations.scaleVec(1.04f, 1.04f, 1.04f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.48f, KeyframeAnimations.scaleVec(1.04f, 1.04f, 1.04f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.52f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.12f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.16f, KeyframeAnimations.scaleVec(1.04f, 1.04f, 1.04f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.6f, KeyframeAnimations.scaleVec(1.04f, 1.04f, 1.04f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.64f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.56f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.6f, KeyframeAnimations.scaleVec(1.04f, 1.04f, 1.04f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.04f, KeyframeAnimations.scaleVec(1.04f, 1.04f, 1.04f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.08f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.16f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.2f, KeyframeAnimations.scaleVec(1.04f, 1.04f, 1.04f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.64f, KeyframeAnimations.scaleVec(1.04f, 1.04f, 1.04f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.68f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.04f, KeyframeAnimations.scaleVec(1.04f, 1.04f, 1.04f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.96f, KeyframeAnimations.scaleVec(1.04f, 1.04f, 1.04f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(10f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone313", + 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.48f, KeyframeAnimations.posVec(0f, -0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.52f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + 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.48f, KeyframeAnimations.posVec(0f, -0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.52f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + 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.48f, KeyframeAnimations.posVec(0f, -0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.52f, 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.48f, KeyframeAnimations.posVec(0f, -0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.52f, 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(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.48f, KeyframeAnimations.posVec(0f, -0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.52f, 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.48f, KeyframeAnimations.posVec(0f, -0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(6.52f, 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.48f, KeyframeAnimations.posVec(0f, -0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(7.52f, 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.48f, KeyframeAnimations.posVec(0f, -0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.52f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.04f, KeyframeAnimations.posVec(0f, -0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.48f, KeyframeAnimations.posVec(0f, -0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.52f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone314", + 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(0.8f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.84f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.76f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.8f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + 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(3.76f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.8f, 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(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.8f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.84f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.24f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.28f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.2f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.24f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone315", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, -40f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(0.96f, KeyframeAnimations.degreeVec(0f, -112.57f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.68f, KeyframeAnimations.degreeVec(0f, -65.07f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.56f, KeyframeAnimations.degreeVec(0f, -99.57f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.76f, KeyframeAnimations.degreeVec(0f, -2.57f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.16f, KeyframeAnimations.degreeVec(0f, -86.42f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.68f, KeyframeAnimations.degreeVec(0f, -72.67f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.12f, KeyframeAnimations.degreeVec(0f, -114.07f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.92f, KeyframeAnimations.degreeVec(0f, -79.07f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.32f, KeyframeAnimations.degreeVec(0f, -106.57f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7.08f, KeyframeAnimations.degreeVec(0f, -59.07f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7.92f, KeyframeAnimations.degreeVec(0f, -86.57f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8.48f, KeyframeAnimations.degreeVec(0f, -31.57f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(9.12f, KeyframeAnimations.degreeVec(0f, -59.07f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.degreeVec(0f, -40f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone45", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.04f, KeyframeAnimations.posVec(0f, 0f, -0.075f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.28f, KeyframeAnimations.posVec(0f, 0f, -0.075f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.32f, 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, 0f, -0.075f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5f, KeyframeAnimations.posVec(0f, 0f, -0.075f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.04f, 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, 0f, -0.075f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(7f, KeyframeAnimations.posVec(0f, 0f, -0.075f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(7.04f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone316", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(0.8f, KeyframeAnimations.degreeVec(0f, -410.34f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.44f, KeyframeAnimations.degreeVec(0f, -119.29f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.08f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.84f, KeyframeAnimations.degreeVec(0f, 51.375f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.64f, KeyframeAnimations.degreeVec(0f, 232f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.08f, KeyframeAnimations.degreeVec(0f, 180f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7.08f, KeyframeAnimations.degreeVec(0f, 1440f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7.8f, KeyframeAnimations.degreeVec(0f, 1557f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8.6f, KeyframeAnimations.degreeVec(0f, 1293f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.degreeVec(0f, 1440f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone317", + 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.03f, -0.03f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.64f, KeyframeAnimations.posVec(0f, 0.03f, -0.03f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.68f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.32f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.36f, KeyframeAnimations.posVec(0f, 0.03f, -0.03f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.6f, KeyframeAnimations.posVec(0f, 0.03f, -0.03f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.64f, 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.03f, -0.03f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.4f, KeyframeAnimations.posVec(0f, 0.03f, -0.03f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.44f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.96f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4f, KeyframeAnimations.posVec(0f, 0.03f, -0.03f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.36f, KeyframeAnimations.posVec(0f, 0.03f, -0.03f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.4f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.88f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.92f, KeyframeAnimations.posVec(0f, 0.03f, -0.03f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.28f, KeyframeAnimations.posVec(0f, 0.03f, -0.03f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.32f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.88f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.92f, KeyframeAnimations.posVec(0f, 0.03f, -0.03f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(6.28f, KeyframeAnimations.posVec(0f, 0.03f, -0.03f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(6.32f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(6.68f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(6.72f, KeyframeAnimations.posVec(0f, 0.03f, -0.03f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(7.08f, KeyframeAnimations.posVec(0f, 0.03f, -0.03f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(7.12f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.24f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.28f, KeyframeAnimations.posVec(0f, 0.03f, -0.03f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.64f, KeyframeAnimations.posVec(0f, 0.03f, -0.03f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.68f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.44f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.48f, KeyframeAnimations.posVec(0f, 0.03f, -0.03f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.84f, KeyframeAnimations.posVec(0f, 0.03f, -0.03f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.88f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone318", + 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.48f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.52f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + 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.48f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.52f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.56f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.6f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.04f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.08f, 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(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.48f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.52f, 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.48f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(6.52f, 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.48f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.52f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.04f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.48f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.52f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone319", + 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.6f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.64f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + 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.6f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.64f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + 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.6f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.64f, 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.6f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.64f, 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.6f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.64f, 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.6f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.64f, 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.6f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(6.64f, 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.6f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(7.64f, 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.6f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.64f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.04f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.6f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.64f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone320", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5f, KeyframeAnimations.degreeVec(0f, 180f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone321", + 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.6f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.64f, 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(5.96f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(6f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(6.92f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(6.96f, 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(9.12f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.16f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("rotor_bottom_T_add20", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0f, KeyframeAnimations.posVec(0f, -0.57f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.44f, KeyframeAnimations.posVec(0f, -5.4f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.44f, KeyframeAnimations.posVec(0f, -10f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.84f, KeyframeAnimations.posVec(0f, 1.755f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.12f, KeyframeAnimations.posVec(0f, 3.325f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.2f, KeyframeAnimations.posVec(0f, 3.015f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.6f, KeyframeAnimations.posVec(0f, 1.76f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.84f, KeyframeAnimations.posVec(0f, 0.24f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.6f, KeyframeAnimations.posVec(0f, -2.07f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.44f, KeyframeAnimations.posVec(0f, -6.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7.44f, KeyframeAnimations.posVec(0f, -10f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8.84f, KeyframeAnimations.posVec(0f, 1.755f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.12f, KeyframeAnimations.posVec(0f, 3.325f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.2f, KeyframeAnimations.posVec(0f, 3.015f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.6f, KeyframeAnimations.posVec(0f, 1.76f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(9.84f, KeyframeAnimations.posVec(0f, 0.24f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.posVec(0f, -0.57f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("rotor_bottom_T_add20", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.44f, KeyframeAnimations.scaleVec(1.07f, 1.07f, 1.07f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.84f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7.44f, KeyframeAnimations.scaleVec(1.07f, 1.07f, 1.07f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8.84f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("rotor_top_t_minus20", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0f, KeyframeAnimations.posVec(0f, 0.57f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.4f, KeyframeAnimations.posVec(0f, 4.4f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.44f, KeyframeAnimations.posVec(0f, 9f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.84f, KeyframeAnimations.posVec(0f, -1.755f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.12f, KeyframeAnimations.posVec(0f, -3.325f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.2f, KeyframeAnimations.posVec(0f, -3.015f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.56f, KeyframeAnimations.posVec(0f, -2.16f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5f, KeyframeAnimations.posVec(0f, 0.57f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.48f, KeyframeAnimations.posVec(0f, 4.4f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7.52f, KeyframeAnimations.posVec(0f, 8f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8.84f, KeyframeAnimations.posVec(0f, -1.755f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.12f, KeyframeAnimations.posVec(0f, -3.325f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.2f, KeyframeAnimations.posVec(0f, -3.015f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.56f, KeyframeAnimations.posVec(0f, -2.16f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.posVec(0f, 0.57f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("rotor_top_t_minus20", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.44f, KeyframeAnimations.scaleVec(1.07f, 1.07f, 1.07f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.84f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7.44f, KeyframeAnimations.scaleVec(1.07f, 1.07f, 1.07f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8.84f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone323", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2f, KeyframeAnimations.scaleVec(1f, 1.05f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.88f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4f, KeyframeAnimations.scaleVec(1f, 0.95f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.52f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.2f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.68f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8f, KeyframeAnimations.scaleVec(1f, 0.93f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone324", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0.48f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.6f, KeyframeAnimations.scaleVec(1f, 1.2f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.48f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.52f, KeyframeAnimations.scaleVec(1f, 0.85f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.92f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.92f, KeyframeAnimations.scaleVec(1f, 1.08f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.68f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7.6f, KeyframeAnimations.scaleVec(1f, 0.85f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(9.6f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone326", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0.52f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.64f, KeyframeAnimations.scaleVec(1f, 1.05f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.52f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.64f, KeyframeAnimations.scaleVec(1f, 0.95f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.28f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.96f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.68f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8f, KeyframeAnimations.scaleVec(1f, 0.93f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone327", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0.16f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.28f, KeyframeAnimations.scaleVec(1f, 1.2f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.16f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.44f, KeyframeAnimations.scaleVec(1f, 0.85f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.16f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.16f, KeyframeAnimations.scaleVec(1f, 1.08f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.92f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7.84f, KeyframeAnimations.scaleVec(1f, 0.85f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(9.6f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone329", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0.2f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.2f, KeyframeAnimations.scaleVec(1f, 1.05f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.08f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.2f, KeyframeAnimations.scaleVec(1f, 0.95f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.72f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.4f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.88f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8.2f, KeyframeAnimations.scaleVec(1f, 0.93f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone330", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0.48f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.6f, KeyframeAnimations.scaleVec(1f, 1.2f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.48f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.52f, KeyframeAnimations.scaleVec(1f, 0.85f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.92f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.92f, KeyframeAnimations.scaleVec(1f, 1.08f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.68f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7.6f, KeyframeAnimations.scaleVec(1f, 0.85f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(9.6f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone332", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0.52f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.64f, KeyframeAnimations.scaleVec(1f, 1.05f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.52f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.64f, KeyframeAnimations.scaleVec(1f, 0.95f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.28f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.96f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.68f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8f, KeyframeAnimations.scaleVec(1f, 0.93f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone333", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0.16f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.28f, KeyframeAnimations.scaleVec(1f, 1.2f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.16f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.44f, KeyframeAnimations.scaleVec(1f, 0.85f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.16f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.16f, KeyframeAnimations.scaleVec(1f, 1.08f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.92f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7.84f, KeyframeAnimations.scaleVec(1f, 0.85f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(9.6f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone335", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0.2f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.2f, KeyframeAnimations.scaleVec(1f, 1.05f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.08f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.2f, KeyframeAnimations.scaleVec(1f, 0.95f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.72f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.4f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.88f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8.2f, KeyframeAnimations.scaleVec(1f, 0.93f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone336", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0.48f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.6f, KeyframeAnimations.scaleVec(1f, 1.2f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.48f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.52f, KeyframeAnimations.scaleVec(1f, 0.85f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.92f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.92f, KeyframeAnimations.scaleVec(1f, 1.08f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.68f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7.6f, KeyframeAnimations.scaleVec(1f, 0.85f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(9.6f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone338", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0.52f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.64f, KeyframeAnimations.scaleVec(1f, 1.05f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.52f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.64f, KeyframeAnimations.scaleVec(1f, 0.95f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.28f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.96f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.68f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8f, KeyframeAnimations.scaleVec(1f, 0.93f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone339", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0.16f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.28f, KeyframeAnimations.scaleVec(1f, 1.2f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.16f, KeyframeAnimations.scaleVec(1f, 1.03f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.44f, KeyframeAnimations.scaleVec(1f, 0.85f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.16f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.16f, KeyframeAnimations.scaleVec(1f, 1.08f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.92f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7.84f, KeyframeAnimations.scaleVec(1f, 0.85f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(9.6f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("monitor_pitch", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.76f, KeyframeAnimations.degreeVec(1.2f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.04f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.28f, KeyframeAnimations.degreeVec(1f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.6f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.76f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.52f, KeyframeAnimations.degreeVec(1.2f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.8f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.04f, KeyframeAnimations.degreeVec(1f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.36f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.56f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.28f, KeyframeAnimations.degreeVec(1.2f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.56f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.8f, KeyframeAnimations.degreeVec(1f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.16f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.52f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(6.24f, KeyframeAnimations.degreeVec(1.2f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(6.52f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(6.76f, KeyframeAnimations.degreeVec(1f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(7.12f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.28f, KeyframeAnimations.degreeVec(1.2f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.56f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.8f, KeyframeAnimations.degreeVec(1f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.16f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.44f, KeyframeAnimations.degreeVec(1.2f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.72f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone112", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.68f, KeyframeAnimations.degreeVec(-1.8f, 0f, 1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.04f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.24f, KeyframeAnimations.degreeVec(-2f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.6f, KeyframeAnimations.degreeVec(0f, 0f, 0.6f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.76f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.8f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3f, KeyframeAnimations.degreeVec(-2f, 0f, 0.4f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.36f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.64f, KeyframeAnimations.degreeVec(0f, 0f, -0.3f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.24f, KeyframeAnimations.degreeVec(-1.8f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.56f, KeyframeAnimations.degreeVec(0f, 0f, 0.4f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.16f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.52f, KeyframeAnimations.degreeVec(0f, 0f, -0.2f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(6.2f, KeyframeAnimations.degreeVec(-1.8f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(6.56f, KeyframeAnimations.degreeVec(0f, 0f, 0.3f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(7.32f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.44f, KeyframeAnimations.degreeVec(-2f, 0f, 0.2f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.84f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.36f, KeyframeAnimations.degreeVec(-1.8f, 0f, -0.2f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.72f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone340", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0.75f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4f, KeyframeAnimations.posVec(0f, 0f, 0.75f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6f, KeyframeAnimations.posVec(0f, 0f, -0.75f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8f, KeyframeAnimations.posVec(0f, 0f, 0.75f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.posVec(0f, 0f, -0.75f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone342", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(10f, KeyframeAnimations.degreeVec(1080f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR))).build(); + private static final ResourceLocation CORAL_TEXTURE = new ResourceLocation(TardisRefined.MODID, "textures/blockentity/console/coral/coral_console.png"); + private final ModelPart throttle; + private final ModelPart handbrake; + private final ModelPart base_console; + private final ModelPart anim_parts; + private final ModelPart root; + + public CoralConsoleModel(ModelPart root) { + this.root = 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 = findPart(this, "handbrake"); + } + + 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 rotor_bottom_T_add20 = base_console.addOrReplaceChild("rotor_bottom_T_add20", CubeListBuilder.create().texOffs(77, 80).addBox(-4.0F, -2.5F, -3.5F, 8.0F, 5.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -44.975F, -3.4437F)); + + PartDefinition bone97 = rotor_bottom_T_add20.addOrReplaceChild("bone97", CubeListBuilder.create().texOffs(77, 80).addBox(-4.0F, -13.5F, -6.9437F, 8.0F, 5.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 10.975F, 3.4437F, 0.0F, -1.0472F, 0.0F)); + + PartDefinition bone98 = bone97.addOrReplaceChild("bone98", CubeListBuilder.create().texOffs(77, 80).addBox(-4.0F, -13.475F, -6.9437F, 8.0F, 5.0F, 7.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(77, 80).addBox(-4.0F, -13.5F, -6.9437F, 8.0F, 5.0F, 7.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(77, 80).addBox(-4.0F, -13.475F, -6.9437F, 8.0F, 5.0F, 7.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(77, 80).addBox(-4.0F, -13.5F, -6.9437F, 8.0F, 5.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + + PartDefinition rotor_top_t_minus20 = base_console.addOrReplaceChild("rotor_top_t_minus20", CubeListBuilder.create().texOffs(0, 72).addBox(-4.0F, -2.5F, -3.5F, 8.0F, 5.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -56.025F, -3.4187F)); + + PartDefinition bone37 = rotor_top_t_minus20.addOrReplaceChild("bone37", CubeListBuilder.create().texOffs(0, 72).addBox(-4.0F, 8.5F, -6.9187F, 8.0F, 5.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -10.975F, 3.4187F, 0.0F, -1.0472F, 0.0F)); + + PartDefinition bone38 = bone37.addOrReplaceChild("bone38", CubeListBuilder.create().texOffs(0, 72).addBox(-4.0F, 8.475F, -6.9187F, 8.0F, 5.0F, 7.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(0, 72).addBox(-4.0F, 8.5F, -6.9187F, 8.0F, 5.0F, 7.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(0, 72).addBox(-4.0F, 8.475F, -6.9187F, 8.0F, 5.0F, 7.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(0, 72).addBox(-4.0F, 8.5F, -6.9187F, 8.0F, 5.0F, 7.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(0, 72).addBox(-4.0F, 8.5F, -6.9187F, 8.0F, 5.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition controls = base_console.addOrReplaceChild("controls", CubeListBuilder.create(), PartPose.offset(0.0F, -13.0F, 1.5F)); + PartDefinition controls = base_console.addOrReplaceChild("controls", CubeListBuilder.create(), PartPose.offset(0.0F, -13.0F, 1.5F)); - PartDefinition north = controls.addOrReplaceChild("north", CubeListBuilder.create(), PartPose.offset(0.0F, 0.0F, -1.5F)); + PartDefinition north = controls.addOrReplaceChild("north", CubeListBuilder.create(), PartPose.offset(0.0F, 0.0F, -1.5F)); - PartDefinition bone35 = north.addOrReplaceChild("bone35", CubeListBuilder.create().texOffs(115, 9).addBox(-2.5F, -1.175F, 4.75F, 5.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)) - .texOffs(114, 98).addBox(2.25F, -0.275F, 3.0F, 4.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)) - .texOffs(9, 2).addBox(-2.0F, -0.525F, 5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(9, 2).addBox(-0.5F, -0.525F, 5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(9, 2).addBox(1.0F, -0.525F, 5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.0F, -21.4258F, 0.5672F, 0.0F, 0.0F)); + PartDefinition bone35 = north.addOrReplaceChild("bone35", CubeListBuilder.create().texOffs(115, 9).addBox(-2.5F, -1.175F, 4.75F, 5.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)) + .texOffs(114, 98).addBox(2.25F, -0.275F, 3.0F, 4.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)) + .texOffs(9, 2).addBox(-2.0F, -0.525F, 5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(9, 2).addBox(-0.5F, -0.525F, 5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(9, 2).addBox(1.0F, -0.525F, 5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.0F, -21.4258F, 0.5672F, 0.0F, 0.0F)); - PartDefinition bone11 = bone35.addOrReplaceChild("bone11", CubeListBuilder.create().texOffs(100, 77).addBox(-4.5F, -0.5F, -2.0F, 9.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)) - .texOffs(111, 29).addBox(-2.5F, 0.1F, 1.75F, 7.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)) - .texOffs(50, 16).addBox(-2.5F, -0.5F, 3.25F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(84, 77).addBox(-4.0F, -1.0F, 0.0F, 8.0F, 1.0F, 1.0F, new CubeDeformation(-0.25F)), PartPose.offsetAndRotation(-3.0F, -0.25F, 2.25F, 0.0F, 0.1745F, 0.0F)); + PartDefinition bone11 = bone35.addOrReplaceChild("bone11", CubeListBuilder.create().texOffs(100, 77).addBox(-4.5F, -0.5F, -2.0F, 9.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)) + .texOffs(111, 29).addBox(-2.5F, 0.1F, 1.75F, 7.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)) + .texOffs(50, 16).addBox(-2.5F, -0.5F, 3.25F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(84, 77).addBox(-4.0F, -1.0F, 0.0F, 8.0F, 1.0F, 1.0F, new CubeDeformation(-0.25F)), PartPose.offsetAndRotation(-3.0F, -0.25F, 2.25F, 0.0F, 0.1745F, 0.0F)); - PartDefinition bone313 = bone11.addOrReplaceChild("bone313", CubeListBuilder.create().texOffs(50, 18).addBox(-0.5F, -0.525F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(-2.0F, 0.0F, 3.75F)); + PartDefinition bone313 = bone11.addOrReplaceChild("bone313", CubeListBuilder.create().texOffs(50, 18).addBox(-0.5F, -0.525F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(-2.0F, 0.0F, 3.75F)); - PartDefinition bone340 = bone11.addOrReplaceChild("bone340", CubeListBuilder.create().texOffs(124, 112).addBox(-0.5F, -0.5F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(3.0F, -0.75F, -0.25F)); + PartDefinition bone340 = bone11.addOrReplaceChild("bone340", CubeListBuilder.create().texOffs(124, 112).addBox(-0.5F, -0.5F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(3.0F, -0.75F, -0.25F)); - PartDefinition bone341 = bone11.addOrReplaceChild("bone341", CubeListBuilder.create().texOffs(124, 112).addBox(-2.0322F, -2.0F, -27.75F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(3.0322F, 0.75F, 27.5F)); + PartDefinition bone341 = bone11.addOrReplaceChild("bone341", CubeListBuilder.create().texOffs(124, 112).addBox(-2.0322F, -2.0F, -27.75F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(3.0322F, 0.75F, 27.5F)); - PartDefinition bone311 = bone11.addOrReplaceChild("bone311", CubeListBuilder.create().texOffs(84, 74).addBox(-1.0F, -0.5F, -0.5F, 2.0F, 1.0F, 1.0F, new CubeDeformation(-0.275F)), PartPose.offset(-2.075F, -0.5F, 0.5F)); + PartDefinition bone311 = bone11.addOrReplaceChild("bone311", CubeListBuilder.create().texOffs(84, 74).addBox(-1.0F, -0.5F, -0.5F, 2.0F, 1.0F, 1.0F, new CubeDeformation(-0.275F)), PartPose.offset(-2.075F, -0.5F, 0.5F)); - PartDefinition bone12 = bone11.addOrReplaceChild("bone12", CubeListBuilder.create().texOffs(74, 30).addBox(-4.0F, -1.0F, 0.0F, 8.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -0.5F, 1.0F, -0.7418F, 0.0F, 0.0F)); + PartDefinition bone12 = bone11.addOrReplaceChild("bone12", CubeListBuilder.create().texOffs(74, 30).addBox(-4.0F, -1.0F, 0.0F, 8.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -0.5F, 1.0F, -0.7418F, 0.0F, 0.0F)); - PartDefinition bone = bone35.addOrReplaceChild("bone", CubeListBuilder.create().texOffs(117, 33).addBox(-1.5F, -0.5F, -1.5F, 3.0F, 2.0F, 3.0F, new CubeDeformation(0.25F)) - .texOffs(61, 116).addBox(-1.5F, -1.25F, -1.5F, 3.0F, 3.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(5.75F, -1.0F, 2.5F, -0.4363F, 0.0F, 0.0F)); + PartDefinition bone = bone35.addOrReplaceChild("bone", CubeListBuilder.create().texOffs(117, 33).addBox(-1.5F, -0.5F, -1.5F, 3.0F, 2.0F, 3.0F, new CubeDeformation(0.25F)) + .texOffs(61, 116).addBox(-1.5F, -1.25F, -1.5F, 3.0F, 3.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(5.75F, -1.0F, 2.5F, -0.4363F, 0.0F, 0.0F)); - PartDefinition facing = bone.addOrReplaceChild("facing", CubeListBuilder.create().texOffs(14, 84).addBox(-0.5F, -0.7F, -0.5F, 2.0F, 1.0F, 1.0F, new CubeDeformation(-0.25F)), PartPose.offsetAndRotation(0.0F, -0.85F, 0.0F, 0.0F, -0.6981F, 0.0F)); + PartDefinition facing = bone.addOrReplaceChild("facing", CubeListBuilder.create().texOffs(14, 84).addBox(-0.5F, -0.7F, -0.5F, 2.0F, 1.0F, 1.0F, new CubeDeformation(-0.25F)), PartPose.offsetAndRotation(0.0F, -0.85F, 0.0F, 0.0F, -0.6981F, 0.0F)); - PartDefinition bone15 = bone35.addOrReplaceChild("bone15", CubeListBuilder.create().texOffs(72, 107).addBox(-1.5F, -1.0F, 0.0F, 3.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.75F, -0.525F, 6.0F, -0.3054F, 0.0F, 0.0F)); + PartDefinition bone15 = bone35.addOrReplaceChild("bone15", CubeListBuilder.create().texOffs(72, 107).addBox(-1.5F, -1.0F, 0.0F, 3.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.75F, -0.525F, 6.0F, -0.3054F, 0.0F, 0.0F)); - PartDefinition bone14 = bone35.addOrReplaceChild("bone14", CubeListBuilder.create().texOffs(56, 104).addBox(-2.0F, -1.0F, 0.0F, 4.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -0.525F, 6.5F, -0.8727F, 0.0F, 0.0F)); + PartDefinition bone14 = bone35.addOrReplaceChild("bone14", CubeListBuilder.create().texOffs(56, 104).addBox(-2.0F, -1.0F, 0.0F, 4.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -0.525F, 6.5F, -0.8727F, 0.0F, 0.0F)); - PartDefinition bone10 = bone35.addOrReplaceChild("bone10", CubeListBuilder.create().texOffs(45, 119).addBox(-1.5F, -0.775F, 2.0F, 3.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)) - .texOffs(0, 40).addBox(-2.0F, -2.375F, 6.0F, 4.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(18, 94).addBox(-3.75F, -0.2623F, -0.0827F, 9.0F, 1.0F, 5.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 7.0F, -0.3054F, 0.0F, 0.0F)); + PartDefinition bone10 = bone35.addOrReplaceChild("bone10", CubeListBuilder.create().texOffs(45, 119).addBox(-1.5F, -0.775F, 2.0F, 3.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)) + .texOffs(0, 40).addBox(-2.0F, -2.375F, 6.0F, 4.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(18, 94).addBox(-3.75F, -0.2623F, -0.0827F, 9.0F, 1.0F, 5.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 7.0F, -0.3054F, 0.0F, 0.0F)); - PartDefinition bone320 = bone10.addOrReplaceChild("bone320", CubeListBuilder.create().texOffs(23, 124).addBox(-1.0F, -0.5F, -1.0F, 2.0F, 1.0F, 2.0F, new CubeDeformation(-0.25F)), PartPose.offset(0.0F, -1.025F, 3.5F)); + PartDefinition bone320 = bone10.addOrReplaceChild("bone320", CubeListBuilder.create().texOffs(23, 124).addBox(-1.0F, -0.5F, -1.0F, 2.0F, 1.0F, 2.0F, new CubeDeformation(-0.25F)), PartPose.offset(0.0F, -1.025F, 3.5F)); - PartDefinition bone318 = bone10.addOrReplaceChild("bone318", CubeListBuilder.create().texOffs(18, 94).addBox(-0.5F, -0.45F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(-0.75F, 0.2127F, 1.9173F)); + PartDefinition bone318 = bone10.addOrReplaceChild("bone318", CubeListBuilder.create().texOffs(18, 94).addBox(-0.5F, -0.45F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(-0.75F, 0.2127F, 1.9173F)); - PartDefinition north_left = controls.addOrReplaceChild("north_left", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, -1.5F, 0.0F, -1.0472F, 0.0F)); + PartDefinition north_left = controls.addOrReplaceChild("north_left", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, -1.5F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone53 = north_left.addOrReplaceChild("bone53", CubeListBuilder.create().texOffs(74, 16).addBox(-6.5F, -0.775F, 1.5F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(74, 16).addBox(-5.0F, -0.775F, 1.25F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(0, 62).addBox(0.25F, -0.15F, 0.0F, 8.0F, 1.0F, 9.0F, new CubeDeformation(0.0F)) - .texOffs(78, 66).addBox(-3.0F, -1.275F, 3.0F, 2.0F, 2.0F, 4.0F, new CubeDeformation(-0.25F)), PartPose.offsetAndRotation(0.0F, -1.0F, -21.4258F, 0.5672F, 0.0F, 0.0F)); + PartDefinition bone53 = north_left.addOrReplaceChild("bone53", CubeListBuilder.create().texOffs(74, 16).addBox(-6.5F, -0.775F, 1.5F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(74, 16).addBox(-5.0F, -0.775F, 1.25F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(0, 62).addBox(0.25F, -0.15F, 0.0F, 8.0F, 1.0F, 9.0F, new CubeDeformation(0.0F)) + .texOffs(78, 66).addBox(-3.0F, -1.275F, 3.0F, 2.0F, 2.0F, 4.0F, new CubeDeformation(-0.25F)), PartPose.offsetAndRotation(0.0F, -1.0F, -21.4258F, 0.5672F, 0.0F, 0.0F)); - PartDefinition bone54 = bone53.addOrReplaceChild("bone54", CubeListBuilder.create().texOffs(116, 85).addBox(-1.0F, -0.65F, -2.0F, 2.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)) - .texOffs(124, 84).addBox(-1.0F, 0.35F, -2.0F, 2.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)) - .texOffs(36, 8).addBox(-0.5F, -0.525F, -2.75F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(40, 121).addBox(-0.5F, -0.275F, -1.5F, 1.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-4.0F, -0.525F, 6.75F, 0.0F, 0.3491F, 0.0F)); + PartDefinition bone54 = bone53.addOrReplaceChild("bone54", CubeListBuilder.create().texOffs(116, 85).addBox(-1.0F, -0.65F, -2.0F, 2.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)) + .texOffs(124, 84).addBox(-1.0F, 0.35F, -2.0F, 2.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)) + .texOffs(36, 8).addBox(-0.5F, -0.525F, -2.75F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(40, 121).addBox(-0.5F, -0.275F, -1.5F, 1.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-4.0F, -0.525F, 6.75F, 0.0F, 0.3491F, 0.0F)); - PartDefinition bone61 = bone53.addOrReplaceChild("bone61", CubeListBuilder.create().texOffs(118, 103).addBox(-1.5F, -0.5F, -1.5F, 3.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offset(2.5F, -0.025F, 3.75F)); + PartDefinition bone61 = bone53.addOrReplaceChild("bone61", CubeListBuilder.create().texOffs(118, 103).addBox(-1.5F, -0.5F, -1.5F, 3.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offset(2.5F, -0.025F, 3.75F)); - PartDefinition bone59 = bone61.addOrReplaceChild("bone59", CubeListBuilder.create(), PartPose.offset(0.0F, 0.0F, 0.0F)); + PartDefinition bone59 = bone61.addOrReplaceChild("bone59", CubeListBuilder.create(), PartPose.offset(0.0F, 0.0F, 0.0F)); - PartDefinition bone56 = bone59.addOrReplaceChild("bone56", CubeListBuilder.create().texOffs(0, 72).addBox(-1.0F, -1.0F, -0.5F, 2.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -0.75F, 0.5F, 0.0F, 0.0F, -0.7854F)); + PartDefinition bone56 = bone59.addOrReplaceChild("bone56", CubeListBuilder.create().texOffs(0, 72).addBox(-1.0F, -1.0F, -0.5F, 2.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -0.75F, 0.5F, 0.0F, 0.0F, -0.7854F)); - PartDefinition bone57 = bone59.addOrReplaceChild("bone57", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -0.75F, 0.0F, 0.0F, -1.5708F, 0.0F)); + PartDefinition bone57 = bone59.addOrReplaceChild("bone57", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -0.75F, 0.0F, 0.0F, -1.5708F, 0.0F)); - PartDefinition bone58 = bone57.addOrReplaceChild("bone58", CubeListBuilder.create().texOffs(0, 72).addBox(-1.0F, -1.0F, -0.5F, 2.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.5F, 0.0F, 0.0F, -0.7854F)); + PartDefinition bone58 = bone57.addOrReplaceChild("bone58", CubeListBuilder.create().texOffs(0, 72).addBox(-1.0F, -1.0F, -0.5F, 2.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.5F, 0.0F, 0.0F, -0.7854F)); - PartDefinition bone312 = bone53.addOrReplaceChild("bone312", CubeListBuilder.create().texOffs(91, 66).addBox(-1.0F, -1.0F, -2.0F, 2.0F, 2.0F, 4.0F, new CubeDeformation(-0.275F)), PartPose.offset(-2.0F, -0.275F, 5.0F)); + PartDefinition bone312 = bone53.addOrReplaceChild("bone312", CubeListBuilder.create().texOffs(91, 66).addBox(-1.0F, -1.0F, -2.0F, 2.0F, 2.0F, 4.0F, new CubeDeformation(-0.275F)), PartPose.offset(-2.0F, -0.275F, 5.0F)); - PartDefinition bone55 = bone53.addOrReplaceChild("bone55", CubeListBuilder.create().texOffs(74, 16).addBox(-0.5F, -0.5F, -1.0F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(56, 92).addBox(-5.25F, 0.125F, -2.0F, 8.0F, 1.0F, 6.0F, new CubeDeformation(0.0F)) - .texOffs(9, 2).addBox(1.75F, -0.5F, -1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-3.0F, -0.275F, 1.75F, 0.0F, 0.3491F, 0.0F)); + PartDefinition bone55 = bone53.addOrReplaceChild("bone55", CubeListBuilder.create().texOffs(74, 16).addBox(-0.5F, -0.5F, -1.0F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(56, 92).addBox(-5.25F, 0.125F, -2.0F, 8.0F, 1.0F, 6.0F, new CubeDeformation(0.0F)) + .texOffs(9, 2).addBox(1.75F, -0.5F, -1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-3.0F, -0.275F, 1.75F, 0.0F, 0.3491F, 0.0F)); - PartDefinition bone60 = bone53.addOrReplaceChild("bone60", CubeListBuilder.create().texOffs(78, 92).addBox(-4.5F, -0.175F, 1.75F, 9.0F, 1.0F, 5.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 7.0F, -0.3054F, 0.0F, 0.0F)); + PartDefinition bone60 = bone53.addOrReplaceChild("bone60", CubeListBuilder.create().texOffs(78, 92).addBox(-4.5F, -0.175F, 1.75F, 9.0F, 1.0F, 5.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 7.0F, -0.3054F, 0.0F, 0.0F)); - PartDefinition bone62 = bone60.addOrReplaceChild("bone62", CubeListBuilder.create().texOffs(100, 121).addBox(-1.0F, -1.0F, -1.0F, 2.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(3.5F, -0.775F, 0.75F, 0.0F, 0.3927F, 0.0F)); + PartDefinition bone62 = bone60.addOrReplaceChild("bone62", CubeListBuilder.create().texOffs(100, 121).addBox(-1.0F, -1.0F, -1.0F, 2.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(3.5F, -0.775F, 0.75F, 0.0F, 0.3927F, 0.0F)); - PartDefinition north_right = controls.addOrReplaceChild("north_right", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, -1.5F, 0.0F, 1.0472F, 0.0F)); + PartDefinition north_right = controls.addOrReplaceChild("north_right", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, -1.5F, 0.0F, 1.0472F, 0.0F)); - PartDefinition bone28 = north_right.addOrReplaceChild("bone28", CubeListBuilder.create().texOffs(15, 123).addBox(5.5F, -1.025F, 1.25F, 2.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(74, 19).addBox(2.5F, -0.525F, 2.25F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(74, 19).addBox(0.5F, -0.525F, 2.5F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(92, 63).addBox(-3.5F, -0.525F, 0.75F, 7.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(74, 19).addBox(-1.5F, -0.525F, 2.25F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(74, 19).addBox(-3.5F, -0.525F, 2.25F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(81, 0).addBox(-4.75F, -0.15F, 2.25F, 10.0F, 1.0F, 5.0F, new CubeDeformation(0.0F)) - .texOffs(14, 120).addBox(-2.75F, -0.375F, 6.75F, 4.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(108, 122).addBox(5.5F, -0.8F, 1.25F, 2.0F, 2.0F, 2.0F, new CubeDeformation(0.2F)) - .texOffs(36, 10).addBox(6.0F, -1.55F, 1.75F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.0F, -21.4258F, 0.5672F, 0.0F, 0.0F)); + PartDefinition bone28 = north_right.addOrReplaceChild("bone28", CubeListBuilder.create().texOffs(15, 123).addBox(5.5F, -1.025F, 1.25F, 2.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(74, 19).addBox(2.5F, -0.525F, 2.25F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(74, 19).addBox(0.5F, -0.525F, 2.5F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(92, 63).addBox(-3.5F, -0.525F, 0.75F, 7.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(74, 19).addBox(-1.5F, -0.525F, 2.25F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(74, 19).addBox(-3.5F, -0.525F, 2.25F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(81, 0).addBox(-4.75F, -0.15F, 2.25F, 10.0F, 1.0F, 5.0F, new CubeDeformation(0.0F)) + .texOffs(14, 120).addBox(-2.75F, -0.375F, 6.75F, 4.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(108, 122).addBox(5.5F, -0.8F, 1.25F, 2.0F, 2.0F, 2.0F, new CubeDeformation(0.2F)) + .texOffs(36, 10).addBox(6.0F, -1.55F, 1.75F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.0F, -21.4258F, 0.5672F, 0.0F, 0.0F)); - PartDefinition bone30 = bone28.addOrReplaceChild("bone30", CubeListBuilder.create().texOffs(102, 116).addBox(-1.5F, -1.0F, -1.5F, 3.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)) - .texOffs(100, 85).addBox(-1.5F, -0.5F, -2.25F, 3.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(106, 0).addBox(-0.5F, 0.75F, -4.75F, 7.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-5.25F, -1.025F, 4.25F, 0.0F, 0.3054F, 0.0F)); + PartDefinition bone30 = bone28.addOrReplaceChild("bone30", CubeListBuilder.create().texOffs(102, 116).addBox(-1.5F, -1.0F, -1.5F, 3.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)) + .texOffs(100, 85).addBox(-1.5F, -0.5F, -2.25F, 3.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(106, 0).addBox(-0.5F, 0.75F, -4.75F, 7.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-5.25F, -1.025F, 4.25F, 0.0F, 0.3054F, 0.0F)); - PartDefinition bone316 = bone30.addOrReplaceChild("bone316", CubeListBuilder.create().texOffs(91, 112).addBox(-1.25F, 0.0F, -0.75F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(-0.25F, -1.1F, 0.25F)); + PartDefinition bone316 = bone30.addOrReplaceChild("bone316", CubeListBuilder.create().texOffs(91, 112).addBox(-1.25F, 0.0F, -0.75F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(-0.25F, -1.1F, 0.25F)); - PartDefinition bone31 = bone30.addOrReplaceChild("bone31", CubeListBuilder.create().texOffs(61, 122).addBox(0.0F, 0.0F, -1.5F, 1.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(1.5F, -1.0F, 0.0F, 0.0F, 0.0F, -0.6545F)); + PartDefinition bone31 = bone30.addOrReplaceChild("bone31", CubeListBuilder.create().texOffs(61, 122).addBox(0.0F, 0.0F, -1.5F, 1.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(1.5F, -1.0F, 0.0F, 0.0F, 0.0F, -0.6545F)); - PartDefinition bone32 = bone30.addOrReplaceChild("bone32", CubeListBuilder.create().texOffs(7, 122).addBox(-1.0F, 0.0F, -1.5F, 1.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-1.5F, -1.0F, 0.0F, 0.0F, 0.0F, 0.6545F)); + PartDefinition bone32 = bone30.addOrReplaceChild("bone32", CubeListBuilder.create().texOffs(7, 122).addBox(-1.0F, 0.0F, -1.5F, 1.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-1.5F, -1.0F, 0.0F, 0.0F, 0.0F, 0.6545F)); - PartDefinition bone29 = bone28.addOrReplaceChild("bone29", CubeListBuilder.create().texOffs(124, 0).addBox(-1.5F, 0.0F, -1.0F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(124, 0).addBox(-5.5F, 0.0F, -1.0F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(2.5F, -0.525F, 1.5F, 0.7854F, 0.0F, 0.0F)); + PartDefinition bone29 = bone28.addOrReplaceChild("bone29", CubeListBuilder.create().texOffs(124, 0).addBox(-1.5F, 0.0F, -1.0F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(124, 0).addBox(-5.5F, 0.0F, -1.0F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(2.5F, -0.525F, 1.5F, 0.7854F, 0.0F, 0.0F)); - PartDefinition bone317 = bone28.addOrReplaceChild("bone317", CubeListBuilder.create().texOffs(100, 66).addBox(-3.0F, -0.5F, -0.5F, 6.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.0F, 1.275F)); + PartDefinition bone317 = bone28.addOrReplaceChild("bone317", CubeListBuilder.create().texOffs(100, 66).addBox(-3.0F, -0.5F, -0.5F, 6.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.0F, 1.275F)); - PartDefinition bone33 = bone28.addOrReplaceChild("bone33", CubeListBuilder.create().texOffs(0, 40).addBox(-2.0F, -2.375F, 6.0F, 4.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 7.0F, -0.3054F, 0.0F, 0.0F)); + PartDefinition bone33 = bone28.addOrReplaceChild("bone33", CubeListBuilder.create().texOffs(0, 40).addBox(-2.0F, -2.375F, 6.0F, 4.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 7.0F, -0.3054F, 0.0F, 0.0F)); - PartDefinition south = controls.addOrReplaceChild("south", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, -1.5F, 0.0F, 3.1416F, 0.0F)); + PartDefinition south = controls.addOrReplaceChild("south", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, -1.5F, 0.0F, 3.1416F, 0.0F)); - PartDefinition bone49 = south.addOrReplaceChild("bone49", CubeListBuilder.create().texOffs(30, 100).addBox(-1.5F, -0.525F, 4.0F, 3.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)) - .texOffs(30, 100).addBox(2.5F, -0.525F, 3.0F, 3.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)) - .texOffs(30, 100).addBox(-5.5F, -0.525F, 3.0F, 3.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)) - .texOffs(119, 107).addBox(-7.5F, -0.275F, 0.5F, 4.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(50, 8).addBox(-7.75F, -0.15F, -0.25F, 15.0F, 1.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.0F, -21.4258F, 0.5672F, 0.0F, 0.0F)); + PartDefinition bone49 = south.addOrReplaceChild("bone49", CubeListBuilder.create().texOffs(30, 100).addBox(-1.5F, -0.525F, 4.0F, 3.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)) + .texOffs(30, 100).addBox(2.5F, -0.525F, 3.0F, 3.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)) + .texOffs(30, 100).addBox(-5.5F, -0.525F, 3.0F, 3.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)) + .texOffs(119, 107).addBox(-7.5F, -0.275F, 0.5F, 4.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(50, 8).addBox(-7.75F, -0.15F, -0.25F, 15.0F, 1.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.0F, -21.4258F, 0.5672F, 0.0F, 0.0F)); - PartDefinition bone319 = bone49.addOrReplaceChild("bone319", CubeListBuilder.create().texOffs(79, 19).addBox(-2.5F, -0.5F, -2.5F, 5.0F, 1.0F, 5.0F, new CubeDeformation(0.0F)), PartPose.offset(-1.25F, 0.375F, 4.25F)); + PartDefinition bone319 = bone49.addOrReplaceChild("bone319", CubeListBuilder.create().texOffs(79, 19).addBox(-2.5F, -0.5F, -2.5F, 5.0F, 1.0F, 5.0F, new CubeDeformation(0.0F)), PartPose.offset(-1.25F, 0.375F, 4.25F)); - PartDefinition bone69 = bone49.addOrReplaceChild("bone69", CubeListBuilder.create().texOffs(74, 43).addBox(-5.25F, -0.15F, 0.5F, 11.0F, 1.0F, 5.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 7.0F, -0.3054F, 0.0F, 0.0F)); + PartDefinition bone69 = bone49.addOrReplaceChild("bone69", CubeListBuilder.create().texOffs(74, 43).addBox(-5.25F, -0.15F, 0.5F, 11.0F, 1.0F, 5.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 7.0F, -0.3054F, 0.0F, 0.0F)); - PartDefinition bone70 = bone69.addOrReplaceChild("bone70", CubeListBuilder.create().texOffs(117, 38).addBox(-1.5F, -0.85F, -1.5F, 3.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)) - .texOffs(122, 42).addBox(-1.0F, -0.95F, -1.0F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.25F)) - .texOffs(95, 21).addBox(-2.0F, -0.85F, -0.5F, 4.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-1.25F, 0.325F, 3.5F, 0.0F, 0.3927F, 0.0F)); + PartDefinition bone70 = bone69.addOrReplaceChild("bone70", CubeListBuilder.create().texOffs(117, 38).addBox(-1.5F, -0.85F, -1.5F, 3.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)) + .texOffs(122, 42).addBox(-1.0F, -0.95F, -1.0F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.25F)) + .texOffs(95, 21).addBox(-2.0F, -0.85F, -0.5F, 4.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-1.25F, 0.325F, 3.5F, 0.0F, 0.3927F, 0.0F)); - PartDefinition increment = bone70.addOrReplaceChild("increment", CubeListBuilder.create().texOffs(62, 69).addBox(-0.5F, -0.5F, -0.5F, 1.0F, 1.0F, 2.0F, new CubeDeformation(-0.25F)), PartPose.offsetAndRotation(0.0F, -1.05F, 0.0F, 0.0F, 0.48F, 0.0F)); + PartDefinition increment = bone70.addOrReplaceChild("increment", CubeListBuilder.create().texOffs(62, 69).addBox(-0.5F, -0.5F, -0.5F, 1.0F, 1.0F, 2.0F, new CubeDeformation(-0.25F)), PartPose.offsetAndRotation(0.0F, -1.05F, 0.0F, 0.0F, 0.48F, 0.0F)); - PartDefinition bone71 = bone70.addOrReplaceChild("bone71", CubeListBuilder.create().texOffs(95, 21).addBox(-2.0F, -0.35F, -0.5F, 4.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -0.5F, 0.0F, 0.0F, -1.5708F, 0.0F)); + PartDefinition bone71 = bone70.addOrReplaceChild("bone71", CubeListBuilder.create().texOffs(95, 21).addBox(-2.0F, -0.35F, -0.5F, 4.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -0.5F, 0.0F, 0.0F, -1.5708F, 0.0F)); - PartDefinition south_left = controls.addOrReplaceChild("south_left", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, -1.5F, 0.0F, -2.0944F, 0.0F)); + PartDefinition south_left = controls.addOrReplaceChild("south_left", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, -1.5F, 0.0F, -2.0944F, 0.0F)); - PartDefinition bone65 = south_left.addOrReplaceChild("bone65", CubeListBuilder.create().texOffs(117, 25).addBox(-4.75F, -0.275F, 1.75F, 4.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(12, 100).addBox(-8.0F, -0.15F, 2.0F, 6.0F, 1.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.0F, -21.4258F, 0.5672F, 0.0F, 0.0F)); + PartDefinition bone65 = south_left.addOrReplaceChild("bone65", CubeListBuilder.create().texOffs(117, 25).addBox(-4.75F, -0.275F, 1.75F, 4.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(12, 100).addBox(-8.0F, -0.15F, 2.0F, 6.0F, 1.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.0F, -21.4258F, 0.5672F, 0.0F, 0.0F)); - PartDefinition bone321 = bone65.addOrReplaceChild("bone321", CubeListBuilder.create().texOffs(125, 22).addBox(-1.5F, -0.5F, -0.5F, 3.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(-2.75F, 0.25F, 2.75F)); + PartDefinition bone321 = bone65.addOrReplaceChild("bone321", CubeListBuilder.create().texOffs(125, 22).addBox(-1.5F, -0.5F, -0.5F, 3.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(-2.75F, 0.25F, 2.75F)); - PartDefinition bone72 = bone65.addOrReplaceChild("bone72", CubeListBuilder.create().texOffs(111, 5).addBox(-3.5F, -1.25F, -1.5F, 7.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)) - .texOffs(113, 53).addBox(-3.75F, -0.625F, 0.25F, 6.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(3.75F, 0.475F, 3.25F, 0.0F, -0.1745F, 0.0F)); + PartDefinition bone72 = bone65.addOrReplaceChild("bone72", CubeListBuilder.create().texOffs(111, 5).addBox(-3.5F, -1.25F, -1.5F, 7.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)) + .texOffs(113, 53).addBox(-3.75F, -0.625F, 0.25F, 6.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(3.75F, 0.475F, 3.25F, 0.0F, -0.1745F, 0.0F)); - PartDefinition bone66 = bone65.addOrReplaceChild("bone66", CubeListBuilder.create().texOffs(36, 8).addBox(0.75F, -0.15F, 0.25F, 5.0F, 1.0F, 5.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 7.0F, -0.3054F, 0.0F, 0.0F)); + PartDefinition bone66 = bone65.addOrReplaceChild("bone66", CubeListBuilder.create().texOffs(36, 8).addBox(0.75F, -0.15F, 0.25F, 5.0F, 1.0F, 5.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 7.0F, -0.3054F, 0.0F, 0.0F)); - PartDefinition bone67 = bone66.addOrReplaceChild("bone67", CubeListBuilder.create().texOffs(112, 111).addBox(-1.5F, -1.85F, -2.5F, 3.0F, 2.0F, 5.0F, new CubeDeformation(0.0F)) - .texOffs(0, 0).addBox(-1.0F, -2.6F, -2.0F, 2.0F, 2.0F, 5.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-1.75F, 0.4F, 2.0F, 0.0F, 0.3054F, 0.0F)); + PartDefinition bone67 = bone66.addOrReplaceChild("bone67", CubeListBuilder.create().texOffs(112, 111).addBox(-1.5F, -1.85F, -2.5F, 3.0F, 2.0F, 5.0F, new CubeDeformation(0.0F)) + .texOffs(0, 0).addBox(-1.0F, -2.6F, -2.0F, 2.0F, 2.0F, 5.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-1.75F, 0.4F, 2.0F, 0.0F, 0.3054F, 0.0F)); - PartDefinition bone68 = bone67.addOrReplaceChild("bone68", CubeListBuilder.create().texOffs(32, 44).addBox(-1.0F, -0.8572F, -2.266F, 1.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.6F, -2.3F, -0.6981F, 0.7418F, -0.829F)); + PartDefinition bone68 = bone67.addOrReplaceChild("bone68", CubeListBuilder.create().texOffs(32, 44).addBox(-1.0F, -0.8572F, -2.266F, 1.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.6F, -2.3F, -0.6981F, 0.7418F, -0.829F)); - PartDefinition bone74 = bone66.addOrReplaceChild("bone74", CubeListBuilder.create().texOffs(33, 120).addBox(0.0F, 0.0F, -1.0F, 3.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(1.75F, -0.1F, 2.5F, 0.0F, 0.0F, -0.48F)); + PartDefinition bone74 = bone66.addOrReplaceChild("bone74", CubeListBuilder.create().texOffs(33, 120).addBox(0.0F, 0.0F, -1.0F, 3.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(1.75F, -0.1F, 2.5F, 0.0F, 0.0F, -0.48F)); - PartDefinition south_right = controls.addOrReplaceChild("south_right", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, -1.5F, 0.0F, 2.0944F, 0.0F)); + PartDefinition south_right = controls.addOrReplaceChild("south_right", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, -1.5F, 0.0F, 2.0944F, 0.0F)); - PartDefinition bone75 = south_right.addOrReplaceChild("bone75", CubeListBuilder.create().texOffs(42, 99).addBox(-4.75F, -0.775F, 2.75F, 9.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)) - .texOffs(74, 49).addBox(-3.75F, -0.275F, 0.25F, 4.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.0F, -21.4258F, 0.5672F, 0.0F, 0.0F)); + PartDefinition bone75 = south_right.addOrReplaceChild("bone75", CubeListBuilder.create().texOffs(42, 99).addBox(-4.75F, -0.775F, 2.75F, 9.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)) + .texOffs(74, 49).addBox(-3.75F, -0.275F, 0.25F, 4.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.0F, -21.4258F, 0.5672F, 0.0F, 0.0F)); - PartDefinition bone314 = bone75.addOrReplaceChild("bone314", CubeListBuilder.create().texOffs(36, 114).addBox(-2.5F, -0.5F, -1.5F, 5.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)) - .texOffs(75, 27).addBox(-3.5F, 0.0F, -4.0F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(1.25F, -0.25F, 4.75F)); + PartDefinition bone314 = bone75.addOrReplaceChild("bone314", CubeListBuilder.create().texOffs(36, 114).addBox(-2.5F, -0.5F, -1.5F, 5.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)) + .texOffs(75, 27).addBox(-3.5F, 0.0F, -4.0F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(1.25F, -0.25F, 4.75F)); - PartDefinition bone80 = bone75.addOrReplaceChild("bone80", CubeListBuilder.create().texOffs(62, 56).addBox(-1.0F, -0.5F, -0.5F, 2.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-2.1F, -0.675F, 6.0F, 0.0F, 0.0F, -0.7854F)); + PartDefinition bone80 = bone75.addOrReplaceChild("bone80", CubeListBuilder.create().texOffs(62, 56).addBox(-1.0F, -0.5F, -0.5F, 2.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-2.1F, -0.675F, 6.0F, 0.0F, 0.0F, -0.7854F)); - PartDefinition bone81 = bone75.addOrReplaceChild("bone81", CubeListBuilder.create().texOffs(62, 53).addBox(-1.0F, -0.5F, -0.5F, 2.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-3.35F, -0.675F, 4.25F, 0.0F, 0.0F, -0.7854F)); + PartDefinition bone81 = bone75.addOrReplaceChild("bone81", CubeListBuilder.create().texOffs(62, 53).addBox(-1.0F, -0.5F, -0.5F, 2.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-3.35F, -0.675F, 4.25F, 0.0F, 0.0F, -0.7854F)); - PartDefinition bone79 = bone75.addOrReplaceChild("bone79", CubeListBuilder.create().texOffs(78, 98).addBox(-7.0F, -0.575F, -3.0F, 7.0F, 1.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-1.75F, 0.425F, 2.25F, 0.0F, 0.5236F, 0.0F)); + PartDefinition bone79 = bone75.addOrReplaceChild("bone79", CubeListBuilder.create().texOffs(78, 98).addBox(-7.0F, -0.575F, -3.0F, 7.0F, 1.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-1.75F, 0.425F, 2.25F, 0.0F, 0.5236F, 0.0F)); - PartDefinition bone76 = bone75.addOrReplaceChild("bone76", CubeListBuilder.create().texOffs(50, 28).addBox(-1.5F, -0.775F, 2.0F, 3.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)) - .texOffs(0, 11).addBox(-1.0F, -1.275F, 3.75F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(0, 11).addBox(-1.0F, -1.275F, 2.25F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 7.0F, -0.3054F, 0.0F, 0.0F)); + PartDefinition bone76 = bone75.addOrReplaceChild("bone76", CubeListBuilder.create().texOffs(50, 28).addBox(-1.5F, -0.775F, 2.0F, 3.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)) + .texOffs(0, 11).addBox(-1.0F, -1.275F, 3.75F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(0, 11).addBox(-1.0F, -1.275F, 2.25F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 7.0F, -0.3054F, 0.0F, 0.0F)); - PartDefinition bone77 = bone76.addOrReplaceChild("bone77", CubeListBuilder.create().texOffs(71, 121).addBox(-1.0F, -1.0F, -1.0F, 2.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-3.25F, -0.525F, 1.5F, 0.0F, -0.3927F, 0.0F)); + PartDefinition bone77 = bone76.addOrReplaceChild("bone77", CubeListBuilder.create().texOffs(71, 121).addBox(-1.0F, -1.0F, -1.0F, 2.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-3.25F, -0.525F, 1.5F, 0.0F, -0.3927F, 0.0F)); - PartDefinition bone315 = bone77.addOrReplaceChild("bone315", CubeListBuilder.create().texOffs(62, 69).addBox(-0.5F, -0.25F, -0.5F, 1.0F, 1.0F, 2.0F, new CubeDeformation(-0.25F)), PartPose.offset(0.0F, -1.1F, 0.0F)); + PartDefinition bone315 = bone77.addOrReplaceChild("bone315", CubeListBuilder.create().texOffs(62, 69).addBox(-0.5F, -0.25F, -0.5F, 1.0F, 1.0F, 2.0F, new CubeDeformation(-0.25F)), PartPose.offset(0.0F, -1.1F, 0.0F)); - PartDefinition bone78 = bone76.addOrReplaceChild("bone78", CubeListBuilder.create().texOffs(95, 14).addBox(-5.0F, -0.5F, -2.0F, 7.0F, 1.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(1.25F, -0.525F, 0.5F, 0.0F, -0.2182F, 0.0F)); + PartDefinition bone78 = bone76.addOrReplaceChild("bone78", CubeListBuilder.create().texOffs(95, 14).addBox(-5.0F, -0.5F, -2.0F, 7.0F, 1.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(1.25F, -0.525F, 0.5F, 0.0F, -0.2182F, 0.0F)); - PartDefinition monitor_rotate = controls.addOrReplaceChild("monitor_rotate", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, -1.5F, 0.0F, 1.0472F, 0.0F)); + PartDefinition monitor_rotate = controls.addOrReplaceChild("monitor_rotate", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, -1.5F, 0.0F, 1.0472F, 0.0F)); - PartDefinition monitor_pitch = monitor_rotate.addOrReplaceChild("monitor_pitch", CubeListBuilder.create().texOffs(18, 84).addBox(-5.0F, -7.7452F, -5.4376F, 10.0F, 8.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(109, 47).addBox(-3.5F, -6.7452F, -3.4376F, 7.0F, 4.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(18, 107).addBox(-4.0F, -6.9952F, -5.5126F, 8.0F, 6.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(100, 82).addBox(-5.0F, -0.7452F, -6.9376F, 10.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -8.75F, -9.6758F, 0.1309F, 0.0F, 0.0F)); + PartDefinition monitor_pitch = monitor_rotate.addOrReplaceChild("monitor_pitch", CubeListBuilder.create().texOffs(18, 84).addBox(-5.0F, -7.7452F, -5.4376F, 10.0F, 8.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(109, 47).addBox(-3.5F, -6.7452F, -3.4376F, 7.0F, 4.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(18, 107).addBox(-4.0F, -6.9952F, -5.5126F, 8.0F, 6.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(100, 82).addBox(-5.0F, -0.7452F, -6.9376F, 10.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -8.75F, -9.6758F, 0.1309F, 0.0F, 0.0F)); - PartDefinition bone109 = monitor_pitch.addOrReplaceChild("bone109", CubeListBuilder.create().texOffs(0, 32).addBox(-1.5F, -2.0F, -1.0F, 3.0F, 6.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -2.7452F, -1.4376F, 0.48F, 0.0F, 0.0F)); + PartDefinition bone109 = monitor_pitch.addOrReplaceChild("bone109", CubeListBuilder.create().texOffs(0, 32).addBox(-1.5F, -2.0F, -1.0F, 3.0F, 6.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -2.7452F, -1.4376F, 0.48F, 0.0F, 0.0F)); - PartDefinition bone110 = monitor_pitch.addOrReplaceChild("bone110", CubeListBuilder.create().texOffs(62, 87).addBox(-1.0F, 0.0F, 0.0F, 2.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -0.7452F, -3.4376F, -0.3054F, 0.0F, 0.0F)); + PartDefinition bone110 = monitor_pitch.addOrReplaceChild("bone110", CubeListBuilder.create().texOffs(62, 87).addBox(-1.0F, 0.0F, 0.0F, 2.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -0.7452F, -3.4376F, -0.3054F, 0.0F, 0.0F)); - PartDefinition bone111 = monitor_pitch.addOrReplaceChild("bone111", CubeListBuilder.create().texOffs(0, 7).addBox(1.5F, -1.5F, -0.25F, 1.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(0, 7).addBox(-3.5F, -0.5F, -1.25F, 1.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -6.7452F, -2.4376F, -0.7854F, 0.0F, 0.0F)); + PartDefinition bone111 = monitor_pitch.addOrReplaceChild("bone111", CubeListBuilder.create().texOffs(0, 7).addBox(1.5F, -1.5F, -0.25F, 1.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(0, 7).addBox(-3.5F, -0.5F, -1.25F, 1.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -6.7452F, -2.4376F, -0.7854F, 0.0F, 0.0F)); - PartDefinition bone112 = monitor_pitch.addOrReplaceChild("bone112", CubeListBuilder.create().texOffs(9, 0).addBox(-0.5F, 0.25F, 0.25F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(3.0F, -7.2452F, -5.4376F, -0.5672F, 0.0F, -0.2182F)); + PartDefinition bone112 = monitor_pitch.addOrReplaceChild("bone112", CubeListBuilder.create().texOffs(9, 0).addBox(-0.5F, 0.25F, 0.25F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(3.0F, -7.2452F, -5.4376F, -0.5672F, 0.0F, -0.2182F)); - PartDefinition bone113 = monitor_pitch.addOrReplaceChild("bone113", CubeListBuilder.create().texOffs(9, 0).addBox(-0.5F, 0.25F, 0.25F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(3.0F, -1.4952F, -5.4376F, -0.9163F, 0.0F, 0.0F)); + PartDefinition bone113 = monitor_pitch.addOrReplaceChild("bone113", CubeListBuilder.create().texOffs(9, 0).addBox(-0.5F, 0.25F, 0.25F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(3.0F, -1.4952F, -5.4376F, -0.9163F, 0.0F, 0.0F)); - PartDefinition bone114 = monitor_pitch.addOrReplaceChild("bone114", CubeListBuilder.create().texOffs(9, 0).addBox(-0.5F, 0.25F, 0.25F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(-3.0F, -0.4952F, -6.9376F, -0.4363F, 0.0F, 0.0F)); + PartDefinition bone114 = monitor_pitch.addOrReplaceChild("bone114", CubeListBuilder.create().texOffs(9, 0).addBox(-0.5F, 0.25F, 0.25F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(-3.0F, -0.4952F, -6.9376F, -0.4363F, 0.0F, 0.0F)); - PartDefinition bone115 = monitor_pitch.addOrReplaceChild("bone115", CubeListBuilder.create().texOffs(9, 0).addBox(-0.5F, 0.25F, 0.25F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(-0.75F, -0.5952F, -6.9376F, -0.4363F, 0.0F, -0.2618F)); + PartDefinition bone115 = monitor_pitch.addOrReplaceChild("bone115", CubeListBuilder.create().texOffs(9, 0).addBox(-0.5F, 0.25F, 0.25F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(-0.75F, -0.5952F, -6.9376F, -0.4363F, 0.0F, -0.2618F)); - PartDefinition borders = controls.addOrReplaceChild("borders", CubeListBuilder.create(), PartPose.offset(0.0F, 0.0F, 0.0F)); + PartDefinition borders = controls.addOrReplaceChild("borders", CubeListBuilder.create(), PartPose.offset(0.0F, 0.0F, 0.0F)); - PartDefinition bone9 = borders.addOrReplaceChild("bone9", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, -1.5F, 0.0F, -0.5236F, 0.0F)); + PartDefinition bone9 = borders.addOrReplaceChild("bone9", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, -1.5F, 0.0F, -0.5236F, 0.0F)); - PartDefinition bone21 = bone9.addOrReplaceChild("bone21", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 22.0F, 0.0F, -0.3491F, 0.0F, 0.0F)); + PartDefinition bone21 = bone9.addOrReplaceChild("bone21", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 22.0F, 0.0F, -0.3491F, 0.0F, 0.0F)); - PartDefinition bone22 = bone21.addOrReplaceChild("bone22", CubeListBuilder.create().texOffs(120, 65).addBox(-2.0F, -0.5F, 0.0F, 4.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -13.3801F, -30.3858F, -0.5672F, 0.0F, 0.0F)); + PartDefinition bone22 = bone21.addOrReplaceChild("bone22", CubeListBuilder.create().texOffs(120, 65).addBox(-2.0F, -0.5F, 0.0F, 4.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -13.3801F, -30.3858F, -0.5672F, 0.0F, 0.0F)); - PartDefinition bone24 = bone9.addOrReplaceChild("bone24", CubeListBuilder.create().texOffs(46, 123).addBox(-1.0F, -32.5F, -12.5F, 2.0F, 2.0F, 2.0F, new CubeDeformation(0.25F)) - .texOffs(48, 114).addBox(-2.0F, -32.25F, -5.0F, 4.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)) - .texOffs(62, 107).addBox(-2.0F, -31.95F, -0.25F, 4.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(62, 66).addBox(1.5F, -32.95F, 1.0F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(124, 13).addBox(-2.25F, -32.25F, -8.0F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(54, 120).addBox(0.25F, -32.0F, -8.75F, 2.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)) - .texOffs(8, 11).addBox(0.0F, -32.1F, -7.5F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 22.0F, 0.0F, 0.3927F, 0.0F, 0.0F)); + PartDefinition bone24 = bone9.addOrReplaceChild("bone24", CubeListBuilder.create().texOffs(46, 123).addBox(-1.0F, -32.5F, -12.5F, 2.0F, 2.0F, 2.0F, new CubeDeformation(0.25F)) + .texOffs(48, 114).addBox(-2.0F, -32.25F, -5.0F, 4.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)) + .texOffs(62, 107).addBox(-2.0F, -31.95F, -0.25F, 4.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(62, 66).addBox(1.5F, -32.95F, 1.0F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(124, 13).addBox(-2.25F, -32.25F, -8.0F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(54, 120).addBox(0.25F, -32.0F, -8.75F, 2.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)) + .texOffs(8, 11).addBox(0.0F, -32.1F, -7.5F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 22.0F, 0.0F, 0.3927F, 0.0F, 0.0F)); - PartDefinition bone27 = bone24.addOrReplaceChild("bone27", CubeListBuilder.create().texOffs(76, 99).addBox(-1.0F, -1.0F, -1.0F, 2.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -32.25F, -11.5F, 0.0F, -0.7854F, 0.0F)); + PartDefinition bone27 = bone24.addOrReplaceChild("bone27", CubeListBuilder.create().texOffs(76, 99).addBox(-1.0F, -1.0F, -1.0F, 2.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -32.25F, -11.5F, 0.0F, -0.7854F, 0.0F)); - PartDefinition bone26 = bone24.addOrReplaceChild("bone26", CubeListBuilder.create().texOffs(34, 70).addBox(-1.5F, -1.0F, 0.0F, 3.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-1.0F, -31.95F, 1.25F, -0.7854F, 0.0F, 0.0F)); + PartDefinition bone26 = bone24.addOrReplaceChild("bone26", CubeListBuilder.create().texOffs(34, 70).addBox(-1.5F, -1.0F, 0.0F, 3.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-1.0F, -31.95F, 1.25F, -0.7854F, 0.0F, 0.0F)); - PartDefinition bone25 = bone24.addOrReplaceChild("bone25", CubeListBuilder.create().texOffs(111, 118).addBox(-3.25F, -0.5F, -3.25F, 3.0F, 1.0F, 3.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(2.0F, -31.75F, -3.0F, 0.0F, 0.7854F, 0.0F)); + PartDefinition bone25 = bone24.addOrReplaceChild("bone25", CubeListBuilder.create().texOffs(111, 118).addBox(-3.25F, -0.5F, -3.25F, 3.0F, 1.0F, 3.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(2.0F, -31.75F, -3.0F, 0.0F, 0.7854F, 0.0F)); - PartDefinition bone48 = borders.addOrReplaceChild("bone48", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, -1.5F, 0.0F, -1.5708F, 0.0F)); + PartDefinition bone48 = borders.addOrReplaceChild("bone48", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, -1.5F, 0.0F, -1.5708F, 0.0F)); - PartDefinition bone51 = bone48.addOrReplaceChild("bone51", CubeListBuilder.create().texOffs(0, 114).addBox(-2.0F, -33.75F, -6.0F, 3.0F, 2.0F, 5.0F, new CubeDeformation(0.0F)) - .texOffs(121, 121).addBox(-1.5F, -34.25F, -3.5F, 2.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(16, 114).addBox(-2.0F, -32.75F, -6.275F, 3.0F, 1.0F, 5.0F, new CubeDeformation(0.0F)) - .texOffs(102, 21).addBox(-2.0F, -31.9F, -11.275F, 4.0F, 1.0F, 7.0F, new CubeDeformation(0.0F)) - .texOffs(123, 90).addBox(-1.0F, -32.65F, -11.275F, 2.0F, 1.0F, 2.0F, new CubeDeformation(-0.25F)), PartPose.offsetAndRotation(0.0F, 22.0F, 0.0F, 0.3927F, 0.0F, 0.0F)); + PartDefinition bone51 = bone48.addOrReplaceChild("bone51", CubeListBuilder.create().texOffs(0, 114).addBox(-2.0F, -33.75F, -6.0F, 3.0F, 2.0F, 5.0F, new CubeDeformation(0.0F)) + .texOffs(121, 121).addBox(-1.5F, -34.25F, -3.5F, 2.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(16, 114).addBox(-2.0F, -32.75F, -6.275F, 3.0F, 1.0F, 5.0F, new CubeDeformation(0.0F)) + .texOffs(102, 21).addBox(-2.0F, -31.9F, -11.275F, 4.0F, 1.0F, 7.0F, new CubeDeformation(0.0F)) + .texOffs(123, 90).addBox(-1.0F, -32.65F, -11.275F, 2.0F, 1.0F, 2.0F, new CubeDeformation(-0.25F)), PartPose.offsetAndRotation(0.0F, 22.0F, 0.0F, 0.3927F, 0.0F, 0.0F)); - PartDefinition handbrake = bone51.addOrReplaceChild("handbrake", CubeListBuilder.create().texOffs(36, 0).addBox(-0.5F, -5.0F, -0.5F, 1.0F, 5.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(1.0F, -31.75F, -3.5F, -0.8727F, 0.0F, 0.0F)); + PartDefinition handbrake = bone51.addOrReplaceChild("handbrake", CubeListBuilder.create().texOffs(36, 0).addBox(-0.5F, -5.0F, -0.5F, 1.0F, 5.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(1.0F, -31.75F, -3.5F, -0.8727F, 0.0F, 0.0F)); - PartDefinition bone50 = borders.addOrReplaceChild("bone50", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, -1.5F, 0.0F, -2.618F, 0.0F)); + PartDefinition bone50 = borders.addOrReplaceChild("bone50", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, -1.5F, 0.0F, -2.618F, 0.0F)); - PartDefinition bone52 = bone50.addOrReplaceChild("bone52", CubeListBuilder.create().texOffs(120, 57).addBox(-2.0F, -33.25F, -2.275F, 3.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(62, 66).addBox(1.5F, -32.95F, 1.0F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(62, 107).addBox(-2.0F, -31.95F, -0.25F, 4.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(61, 99).addBox(-2.0F, -31.95F, -10.25F, 4.0F, 1.0F, 7.0F, new CubeDeformation(0.0F)) - .texOffs(32, 49).addBox(0.0F, -32.7F, -5.25F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 22.0F, 0.0F, 0.3927F, 0.0F, 0.0F)); + PartDefinition bone52 = bone50.addOrReplaceChild("bone52", CubeListBuilder.create().texOffs(120, 57).addBox(-2.0F, -33.25F, -2.275F, 3.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(62, 66).addBox(1.5F, -32.95F, 1.0F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(62, 107).addBox(-2.0F, -31.95F, -0.25F, 4.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(61, 99).addBox(-2.0F, -31.95F, -10.25F, 4.0F, 1.0F, 7.0F, new CubeDeformation(0.0F)) + .texOffs(32, 49).addBox(0.0F, -32.7F, -5.25F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 22.0F, 0.0F, 0.3927F, 0.0F, 0.0F)); - PartDefinition bone342 = bone52.addOrReplaceChild("bone342", CubeListBuilder.create().texOffs(97, 116).addBox(-1.0F, 0.0F, -1.0F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(-3.0F, -32.75F, -1.275F)); + PartDefinition bone342 = bone52.addOrReplaceChild("bone342", CubeListBuilder.create().texOffs(97, 116).addBox(-1.0F, 0.0F, -1.0F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(-3.0F, -32.75F, -1.275F)); - PartDefinition bone73 = bone52.addOrReplaceChild("bone73", CubeListBuilder.create().texOffs(34, 70).addBox(-1.5F, -1.0F, 0.0F, 3.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-1.0F, -31.95F, 1.25F, -0.7854F, 0.0F, 0.0F)); + PartDefinition bone73 = bone52.addOrReplaceChild("bone73", CubeListBuilder.create().texOffs(34, 70).addBox(-1.5F, -1.0F, 0.0F, 3.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-1.0F, -31.95F, 1.25F, -0.7854F, 0.0F, 0.0F)); - PartDefinition bone63 = borders.addOrReplaceChild("bone63", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, -1.5F, 0.0F, 2.618F, 0.0F)); + PartDefinition bone63 = borders.addOrReplaceChild("bone63", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, -1.5F, 0.0F, 2.618F, 0.0F)); - PartDefinition bone64 = bone63.addOrReplaceChild("bone64", CubeListBuilder.create().texOffs(101, 85).addBox(-2.0F, -31.9F, -7.775F, 4.0F, 1.0F, 7.0F, new CubeDeformation(0.0F)) - .texOffs(78, 66).addBox(0.25F, -32.8F, -8.775F, 2.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)) - .texOffs(111, 33).addBox(-1.0F, -32.15F, -11.525F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.25F)) - .texOffs(8, 7).addBox(2.25F, -29.9F, -14.775F, 2.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(101, 93).addBox(-1.0F, -32.65F, -11.525F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(27, 114).addBox(-0.5F, -32.8F, -0.275F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 22.0F, 0.0F, 0.3927F, 0.0F, 0.0F)); + PartDefinition bone64 = bone63.addOrReplaceChild("bone64", CubeListBuilder.create().texOffs(101, 85).addBox(-2.0F, -31.9F, -7.775F, 4.0F, 1.0F, 7.0F, new CubeDeformation(0.0F)) + .texOffs(78, 66).addBox(0.25F, -32.8F, -8.775F, 2.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)) + .texOffs(111, 33).addBox(-1.0F, -32.15F, -11.525F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.25F)) + .texOffs(8, 7).addBox(2.25F, -29.9F, -14.775F, 2.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(101, 93).addBox(-1.0F, -32.65F, -11.525F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(27, 114).addBox(-0.5F, -32.8F, -0.275F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 22.0F, 0.0F, 0.3927F, 0.0F, 0.0F)); - PartDefinition bone83 = bone64.addOrReplaceChild("bone83", CubeListBuilder.create().texOffs(0, 62).addBox(-0.5F, -1.0F, -0.5F, 1.0F, 8.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(23, 120).addBox(-1.0F, 7.0F, -1.25F, 2.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(3.0F, -28.15F, -14.775F, -0.3443F, -0.3931F, 0.1946F)); + PartDefinition bone83 = bone64.addOrReplaceChild("bone83", CubeListBuilder.create().texOffs(0, 62).addBox(-0.5F, -1.0F, -0.5F, 1.0F, 8.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(23, 120).addBox(-1.0F, 7.0F, -1.25F, 2.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(3.0F, -28.15F, -14.775F, -0.3443F, -0.3931F, 0.1946F)); - PartDefinition bone23 = borders.addOrReplaceChild("bone23", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, -1.5F, 0.0F, 0.5236F, 0.0F)); + PartDefinition bone23 = borders.addOrReplaceChild("bone23", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, -1.5F, 0.0F, 0.5236F, 0.0F)); - PartDefinition bone13 = bone23.addOrReplaceChild("bone13", CubeListBuilder.create().texOffs(0, 75).addBox(-1.0F, -13.25F, -30.5F, 2.0F, 2.0F, 1.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(0.0F, 22.0F, 0.0F, -0.3491F, 0.0F, 0.0F)); + PartDefinition bone13 = bone23.addOrReplaceChild("bone13", CubeListBuilder.create().texOffs(0, 75).addBox(-1.0F, -13.25F, -30.5F, 2.0F, 2.0F, 1.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(0.0F, 22.0F, 0.0F, -0.3491F, 0.0F, 0.0F)); - PartDefinition bone16 = bone13.addOrReplaceChild("bone16", CubeListBuilder.create().texOffs(120, 118).addBox(-1.0F, -0.5F, -1.0F, 3.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.025F, -12.25F, -30.9F, 0.0F, 0.0F, -0.9599F)); + PartDefinition bone16 = bone13.addOrReplaceChild("bone16", CubeListBuilder.create().texOffs(120, 118).addBox(-1.0F, -0.5F, -1.0F, 3.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.025F, -12.25F, -30.9F, 0.0F, 0.0F, -0.9599F)); - PartDefinition bone17 = bone23.addOrReplaceChild("bone17", CubeListBuilder.create().texOffs(50, 107).addBox(-1.5F, -32.5F, -10.5F, 3.0F, 1.0F, 6.0F, new CubeDeformation(0.0F)) - .texOffs(117, 20).addBox(-1.75F, -32.75F, -3.0F, 2.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)) - .texOffs(39, 5).addBox(1.25F, -32.75F, -2.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(120, 61).addBox(0.0F, -32.0F, -2.75F, 2.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 22.0F, 0.0F, 0.3927F, 0.0F, 0.0F)); + PartDefinition bone17 = bone23.addOrReplaceChild("bone17", CubeListBuilder.create().texOffs(50, 107).addBox(-1.5F, -32.5F, -10.5F, 3.0F, 1.0F, 6.0F, new CubeDeformation(0.0F)) + .texOffs(117, 20).addBox(-1.75F, -32.75F, -3.0F, 2.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)) + .texOffs(39, 5).addBox(1.25F, -32.75F, -2.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(120, 61).addBox(0.0F, -32.0F, -2.75F, 2.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 22.0F, 0.0F, 0.3927F, 0.0F, 0.0F)); - PartDefinition throttle = bone17.addOrReplaceChild("throttle", CubeListBuilder.create().texOffs(11, 114).addBox(-0.25F, -1.0F, -0.5F, 1.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)) - .texOffs(51, 8).addBox(-0.75F, -1.0F, -1.0F, 1.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(73, 116).addBox(-0.25F, -0.5F, -0.5F, 1.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -33.25F, -7.5F)); + PartDefinition throttle = bone17.addOrReplaceChild("throttle", CubeListBuilder.create().texOffs(11, 114).addBox(-0.25F, -1.0F, -0.5F, 1.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)) + .texOffs(51, 8).addBox(-0.75F, -1.0F, -1.0F, 1.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(73, 116).addBox(-0.25F, -0.5F, -0.5F, 1.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -33.25F, -7.5F)); - PartDefinition bone18 = bone17.addOrReplaceChild("bone18", CubeListBuilder.create().texOffs(0, 121).addBox(-1.5F, -1.0F, -1.0F, 3.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(81, 120).addBox(-1.5F, -0.5F, -1.5F, 3.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.25F, -32.75F, -7.5F, 0.7854F, 0.0F, 0.0F)); + PartDefinition bone18 = bone17.addOrReplaceChild("bone18", CubeListBuilder.create().texOffs(0, 121).addBox(-1.5F, -1.0F, -1.0F, 3.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(81, 120).addBox(-1.5F, -0.5F, -1.5F, 3.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.25F, -32.75F, -7.5F, 0.7854F, 0.0F, 0.0F)); - PartDefinition bone43 = borders.addOrReplaceChild("bone43", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, -1.5F, 0.0F, 1.5708F, 0.0F)); + PartDefinition bone43 = borders.addOrReplaceChild("bone43", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, -1.5F, 0.0F, 1.5708F, 0.0F)); - PartDefinition bone44 = bone43.addOrReplaceChild("bone44", CubeListBuilder.create().texOffs(91, 122).addBox(-1.5F, -13.75F, -31.25F, 3.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(122, 76).addBox(-1.5F, -13.75F, -32.0F, 3.0F, 3.0F, 1.0F, new CubeDeformation(-0.25F)), PartPose.offsetAndRotation(0.0F, 22.0F, 0.0F, -0.3491F, 0.0F, 0.0F)); + PartDefinition bone44 = bone43.addOrReplaceChild("bone44", CubeListBuilder.create().texOffs(91, 122).addBox(-1.5F, -13.75F, -31.25F, 3.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(122, 76).addBox(-1.5F, -13.75F, -32.0F, 3.0F, 3.0F, 1.0F, new CubeDeformation(-0.25F)), PartPose.offsetAndRotation(0.0F, 22.0F, 0.0F, -0.3491F, 0.0F, 0.0F)); - PartDefinition bone45 = bone44.addOrReplaceChild("bone45", CubeListBuilder.create().texOffs(85, 124).addBox(-1.0F, -1.0F, -0.5F, 2.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -12.25F, -30.725F)); + PartDefinition bone45 = bone44.addOrReplaceChild("bone45", CubeListBuilder.create().texOffs(85, 124).addBox(-1.0F, -1.0F, -0.5F, 2.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -12.25F, -30.725F)); - PartDefinition bone46 = bone43.addOrReplaceChild("bone46", CubeListBuilder.create().texOffs(0, 106).addBox(-1.5F, -33.0F, -9.5F, 3.0F, 2.0F, 6.0F, new CubeDeformation(0.0F)) - .texOffs(97, 98).addBox(-2.75F, -32.0F, -6.5F, 5.0F, 1.0F, 7.0F, new CubeDeformation(0.0F)) - .texOffs(90, 115).addBox(-1.25F, -34.0F, -9.0F, 1.0F, 2.0F, 5.0F, new CubeDeformation(0.0F)) - .texOffs(90, 115).addBox(0.25F, -34.0F, -9.0F, 1.0F, 2.0F, 5.0F, new CubeDeformation(0.0F)) - .texOffs(0, 7).addBox(-0.5F, -33.25F, -9.5F, 1.0F, 1.0F, 6.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(0.0F, 22.0F, 0.0F, 0.3927F, 0.0F, 0.0F)); + PartDefinition bone46 = bone43.addOrReplaceChild("bone46", CubeListBuilder.create().texOffs(0, 106).addBox(-1.5F, -33.0F, -9.5F, 3.0F, 2.0F, 6.0F, new CubeDeformation(0.0F)) + .texOffs(97, 98).addBox(-2.75F, -32.0F, -6.5F, 5.0F, 1.0F, 7.0F, new CubeDeformation(0.0F)) + .texOffs(90, 115).addBox(-1.25F, -34.0F, -9.0F, 1.0F, 2.0F, 5.0F, new CubeDeformation(0.0F)) + .texOffs(90, 115).addBox(0.25F, -34.0F, -9.0F, 1.0F, 2.0F, 5.0F, new CubeDeformation(0.0F)) + .texOffs(0, 7).addBox(-0.5F, -33.25F, -9.5F, 1.0F, 1.0F, 6.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(0.0F, 22.0F, 0.0F, 0.3927F, 0.0F, 0.0F)); - PartDefinition bone82 = bone46.addOrReplaceChild("bone82", CubeListBuilder.create().texOffs(0, 0).addBox(-0.5F, 0.0F, 0.0F, 1.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-0.5F, -32.0F, 0.0F, 1.1781F, 0.0F, 0.0F)); + PartDefinition bone82 = bone46.addOrReplaceChild("bone82", CubeListBuilder.create().texOffs(0, 0).addBox(-0.5F, 0.0F, 0.0F, 1.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-0.5F, -32.0F, 0.0F, 1.1781F, 0.0F, 0.0F)); - PartDefinition landtype = bone46.addOrReplaceChild("landtype", CubeListBuilder.create().texOffs(50, 16).addBox(-1.0F, -0.25F, -3.5F, 2.0F, 1.0F, 5.0F, new CubeDeformation(0.0F)) - .texOffs(50, 22).addBox(-0.5F, -0.25F, -3.5F, 2.0F, 1.0F, 5.0F, new CubeDeformation(0.0F)), PartPose.offset(-0.25F, -32.5F, -10.0F)); + PartDefinition landtype = bone46.addOrReplaceChild("landtype", CubeListBuilder.create().texOffs(50, 16).addBox(-1.0F, -0.25F, -3.5F, 2.0F, 1.0F, 5.0F, new CubeDeformation(0.0F)) + .texOffs(50, 22).addBox(-0.5F, -0.25F, -3.5F, 2.0F, 1.0F, 5.0F, new CubeDeformation(0.0F)), PartPose.offset(-0.25F, -32.5F, -10.0F)); - PartDefinition rotor = base_console.addOrReplaceChild("rotor", CubeListBuilder.create().texOffs(42, 53).addBox(-1.0F, -72.5F, -1.0F, 2.0F, 44.0F, 2.0F, new CubeDeformation(0.5F)), PartPose.offset(0.0F, 0.0F, 0.0F)); + PartDefinition rotor = base_console.addOrReplaceChild("rotor", CubeListBuilder.create().texOffs(42, 53).addBox(-1.0F, -72.5F, -1.0F, 2.0F, 44.0F, 2.0F, new CubeDeformation(0.5F)), PartPose.offset(0.0F, 0.0F, 0.0F)); - PartDefinition bone120 = rotor.addOrReplaceChild("bone120", CubeListBuilder.create().texOffs(99, 111).addBox(-4.0F, -13.5F, -6.9437F, 8.0F, 4.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -81.5F, 0.0F, 0.0F, 0.0F, -3.1416F)); + PartDefinition bone120 = rotor.addOrReplaceChild("bone120", CubeListBuilder.create().texOffs(99, 111).addBox(-4.0F, -13.5F, -6.9437F, 8.0F, 4.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -81.5F, 0.0F, 0.0F, 0.0F, -3.1416F)); - PartDefinition bone121 = bone120.addOrReplaceChild("bone121", CubeListBuilder.create().texOffs(99, 111).addBox(-4.0F, -13.5F, -6.9437F, 8.0F, 4.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(99, 111).addBox(-4.0F, -13.5F, -6.9437F, 8.0F, 4.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(99, 111).addBox(-4.0F, -13.5F, -6.9437F, 8.0F, 4.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(99, 111).addBox(-4.0F, -13.5F, -6.9437F, 8.0F, 4.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(99, 111).addBox(-4.0F, -13.5F, -6.9437F, 8.0F, 4.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(99, 111).addBox(-4.0F, -13.5F, -6.9437F, 8.0F, 4.0F, 1.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(99, 111).addBox(-4.0F, -13.5F, -6.9437F, 8.0F, 4.0F, 1.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(99, 111).addBox(-4.0F, -13.5F, -6.9437F, 8.0F, 4.0F, 1.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(99, 111).addBox(-4.0F, -13.5F, -6.9437F, 8.0F, 4.0F, 1.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(99, 111).addBox(-4.0F, -13.5F, -6.9437F, 8.0F, 4.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone36 = rotor.addOrReplaceChild("bone36", CubeListBuilder.create().texOffs(99, 111).addBox(-4.0F, -13.5F, -6.9437F, 8.0F, 4.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -18.5F, 0.0F)); + PartDefinition bone36 = rotor.addOrReplaceChild("bone36", CubeListBuilder.create().texOffs(99, 111).addBox(-4.0F, -13.5F, -6.9437F, 8.0F, 4.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -18.5F, 0.0F)); - PartDefinition bone42 = bone36.addOrReplaceChild("bone42", CubeListBuilder.create().texOffs(99, 111).addBox(-4.0F, -13.5F, -6.9437F, 8.0F, 4.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone42 = bone36.addOrReplaceChild("bone42", CubeListBuilder.create().texOffs(99, 111).addBox(-4.0F, -13.5F, -6.9437F, 8.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 = bone42.addOrReplaceChild("bone47", CubeListBuilder.create().texOffs(99, 111).addBox(-4.0F, -13.5F, -6.9437F, 8.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 = bone42.addOrReplaceChild("bone47", CubeListBuilder.create().texOffs(99, 111).addBox(-4.0F, -13.5F, -6.9437F, 8.0F, 4.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone96 = bone47.addOrReplaceChild("bone96", CubeListBuilder.create().texOffs(99, 111).addBox(-4.0F, -13.5F, -6.9437F, 8.0F, 4.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone96 = bone47.addOrReplaceChild("bone96", CubeListBuilder.create().texOffs(99, 111).addBox(-4.0F, -13.5F, -6.9437F, 8.0F, 4.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone108 = bone96.addOrReplaceChild("bone108", CubeListBuilder.create().texOffs(99, 111).addBox(-4.0F, -13.5F, -6.9437F, 8.0F, 4.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone108 = bone96.addOrReplaceChild("bone108", CubeListBuilder.create().texOffs(99, 111).addBox(-4.0F, -13.5F, -6.9437F, 8.0F, 4.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone116 = bone108.addOrReplaceChild("bone116", CubeListBuilder.create().texOffs(99, 111).addBox(-4.0F, -13.5F, -6.9437F, 8.0F, 4.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone116 = bone108.addOrReplaceChild("bone116", CubeListBuilder.create().texOffs(99, 111).addBox(-4.0F, -13.5F, -6.9437F, 8.0F, 4.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone102 = rotor.addOrReplaceChild("bone102", CubeListBuilder.create().texOffs(50, 53).addBox(-1.0F, -53.5F, -6.0937F, 2.0F, 44.0F, 1.0F, new CubeDeformation(0.5F)), PartPose.offsetAndRotation(0.0F, -19.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); + PartDefinition bone102 = rotor.addOrReplaceChild("bone102", CubeListBuilder.create().texOffs(50, 53).addBox(-1.0F, -53.5F, -6.0937F, 2.0F, 44.0F, 1.0F, new CubeDeformation(0.5F)), PartPose.offsetAndRotation(0.0F, -19.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); - PartDefinition bone103 = bone102.addOrReplaceChild("bone103", CubeListBuilder.create().texOffs(50, 53).addBox(-1.0F, -53.5F, -6.0937F, 2.0F, 44.0F, 1.0F, new CubeDeformation(0.5F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone103 = bone102.addOrReplaceChild("bone103", CubeListBuilder.create().texOffs(50, 53).addBox(-1.0F, -53.5F, -6.0937F, 2.0F, 44.0F, 1.0F, new CubeDeformation(0.5F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone104 = bone103.addOrReplaceChild("bone104", CubeListBuilder.create().texOffs(50, 53).addBox(-1.0F, -53.5F, -6.0937F, 2.0F, 44.0F, 1.0F, new CubeDeformation(0.5F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone104 = bone103.addOrReplaceChild("bone104", CubeListBuilder.create().texOffs(50, 53).addBox(-1.0F, -53.5F, -6.0937F, 2.0F, 44.0F, 1.0F, new CubeDeformation(0.5F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone105 = bone104.addOrReplaceChild("bone105", CubeListBuilder.create().texOffs(50, 53).addBox(-1.0F, -53.5F, -6.0937F, 2.0F, 44.0F, 1.0F, new CubeDeformation(0.5F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone105 = bone104.addOrReplaceChild("bone105", CubeListBuilder.create().texOffs(50, 53).addBox(-1.0F, -53.5F, -6.0937F, 2.0F, 44.0F, 1.0F, new CubeDeformation(0.5F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone106 = bone105.addOrReplaceChild("bone106", CubeListBuilder.create().texOffs(50, 53).addBox(-1.0F, -53.5F, -6.0937F, 2.0F, 44.0F, 1.0F, new CubeDeformation(0.5F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone106 = bone105.addOrReplaceChild("bone106", CubeListBuilder.create().texOffs(50, 53).addBox(-1.0F, -53.5F, -6.0937F, 2.0F, 44.0F, 1.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(50, 53).addBox(-1.0F, -53.5F, -6.0937F, 2.0F, 44.0F, 1.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(50, 53).addBox(-1.0F, -53.5F, -6.0937F, 2.0F, 44.0F, 1.0F, new CubeDeformation(0.5F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition baseconsole = base_console.addOrReplaceChild("baseconsole", CubeListBuilder.create(), PartPose.offset(0.0F, 0.0F, 0.0F)); + PartDefinition baseconsole = base_console.addOrReplaceChild("baseconsole", CubeListBuilder.create(), PartPose.offset(0.0F, 0.0F, 0.0F)); - PartDefinition bone143 = baseconsole.addOrReplaceChild("bone143", CubeListBuilder.create().texOffs(87, 6).addBox(-6.25F, 1.0F, -23.25F, 10.0F, 4.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -15.0F, 0.0F, 0.0F, -0.2618F, 0.0F)); + PartDefinition bone143 = baseconsole.addOrReplaceChild("bone143", CubeListBuilder.create().texOffs(87, 6).addBox(-6.25F, 1.0F, -23.25F, 10.0F, 4.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -15.0F, 0.0F, 0.0F, -0.2618F, 0.0F)); - PartDefinition bone144 = bone143.addOrReplaceChild("bone144", CubeListBuilder.create().texOffs(85, 49).addBox(-3.75F, 1.0F, -23.25F, 10.0F, 4.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); + PartDefinition bone144 = bone143.addOrReplaceChild("bone144", CubeListBuilder.create().texOffs(85, 49).addBox(-3.75F, 1.0F, -23.25F, 10.0F, 4.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); - PartDefinition bone145 = bone144.addOrReplaceChild("bone145", CubeListBuilder.create().texOffs(87, 6).addBox(-6.25F, 1.0F, -23.25F, 10.0F, 4.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); + PartDefinition bone145 = bone144.addOrReplaceChild("bone145", CubeListBuilder.create().texOffs(87, 6).addBox(-6.25F, 1.0F, -23.25F, 10.0F, 4.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); - PartDefinition bone146 = bone145.addOrReplaceChild("bone146", CubeListBuilder.create().texOffs(85, 49).addBox(-3.75F, 1.0F, -23.25F, 10.0F, 4.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); + PartDefinition bone146 = bone145.addOrReplaceChild("bone146", CubeListBuilder.create().texOffs(85, 49).addBox(-3.75F, 1.0F, -23.25F, 10.0F, 4.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); - PartDefinition bone147 = bone146.addOrReplaceChild("bone147", CubeListBuilder.create().texOffs(87, 6).addBox(-6.25F, 1.0F, -23.25F, 10.0F, 4.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); + PartDefinition bone147 = bone146.addOrReplaceChild("bone147", CubeListBuilder.create().texOffs(87, 6).addBox(-6.25F, 1.0F, -23.25F, 10.0F, 4.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); - PartDefinition bone148 = bone147.addOrReplaceChild("bone148", CubeListBuilder.create().texOffs(85, 49).addBox(-3.75F, 1.0F, -23.25F, 10.0F, 4.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); + PartDefinition bone148 = bone147.addOrReplaceChild("bone148", CubeListBuilder.create().texOffs(85, 49).addBox(-3.75F, 1.0F, -23.25F, 10.0F, 4.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); - PartDefinition bone149 = bone148.addOrReplaceChild("bone149", CubeListBuilder.create().texOffs(87, 6).addBox(-6.25F, 1.0F, -23.25F, 10.0F, 4.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); + PartDefinition bone149 = bone148.addOrReplaceChild("bone149", CubeListBuilder.create().texOffs(87, 6).addBox(-6.25F, 1.0F, -23.25F, 10.0F, 4.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); - PartDefinition bone150 = bone149.addOrReplaceChild("bone150", CubeListBuilder.create().texOffs(85, 49).addBox(-3.75F, 1.0F, -23.25F, 10.0F, 4.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); + PartDefinition bone150 = bone149.addOrReplaceChild("bone150", CubeListBuilder.create().texOffs(85, 49).addBox(-3.75F, 1.0F, -23.25F, 10.0F, 4.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); - PartDefinition bone151 = bone150.addOrReplaceChild("bone151", CubeListBuilder.create().texOffs(87, 6).addBox(-6.25F, 1.0F, -23.25F, 10.0F, 4.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); + PartDefinition bone151 = bone150.addOrReplaceChild("bone151", CubeListBuilder.create().texOffs(87, 6).addBox(-6.25F, 1.0F, -23.25F, 10.0F, 4.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); - PartDefinition bone152 = bone151.addOrReplaceChild("bone152", CubeListBuilder.create().texOffs(85, 49).addBox(-3.75F, 1.0F, -23.25F, 10.0F, 4.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); + PartDefinition bone152 = bone151.addOrReplaceChild("bone152", CubeListBuilder.create().texOffs(85, 49).addBox(-3.75F, 1.0F, -23.25F, 10.0F, 4.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); - PartDefinition bone153 = bone152.addOrReplaceChild("bone153", CubeListBuilder.create().texOffs(87, 6).addBox(-6.25F, 1.0F, -23.25F, 10.0F, 4.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); + PartDefinition bone153 = bone152.addOrReplaceChild("bone153", CubeListBuilder.create().texOffs(87, 6).addBox(-6.25F, 1.0F, -23.25F, 10.0F, 4.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); - PartDefinition bone154 = bone153.addOrReplaceChild("bone154", CubeListBuilder.create().texOffs(85, 49).addBox(-3.75F, 1.0F, -23.25F, 10.0F, 4.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); + PartDefinition bone154 = bone153.addOrReplaceChild("bone154", CubeListBuilder.create().texOffs(85, 49).addBox(-3.75F, 1.0F, -23.25F, 10.0F, 4.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); - PartDefinition bone155 = baseconsole.addOrReplaceChild("bone155", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -15.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); + PartDefinition bone155 = baseconsole.addOrReplaceChild("bone155", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -15.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); - PartDefinition bone156 = bone155.addOrReplaceChild("bone156", CubeListBuilder.create().texOffs(95, 30).addBox(-2.5F, -1.1206F, -2.316F, 5.0F, 6.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 1.0F, -21.5F, -0.3491F, 0.0F, 0.0F)); + PartDefinition bone156 = bone155.addOrReplaceChild("bone156", CubeListBuilder.create().texOffs(95, 30).addBox(-2.5F, -1.1206F, -2.316F, 5.0F, 6.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 1.0F, -21.5F, -0.3491F, 0.0F, 0.0F)); - PartDefinition bone157 = bone155.addOrReplaceChild("bone157", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone157 = bone155.addOrReplaceChild("bone157", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone158 = bone157.addOrReplaceChild("bone158", CubeListBuilder.create().texOffs(95, 30).addBox(-2.5F, -1.1206F, -2.316F, 5.0F, 6.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 1.0F, -21.5F, -0.3491F, 0.0F, 0.0F)); + PartDefinition bone158 = bone157.addOrReplaceChild("bone158", CubeListBuilder.create().texOffs(95, 30).addBox(-2.5F, -1.1206F, -2.316F, 5.0F, 6.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 1.0F, -21.5F, -0.3491F, 0.0F, 0.0F)); - PartDefinition bone159 = bone157.addOrReplaceChild("bone159", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone159 = bone157.addOrReplaceChild("bone159", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone160 = bone159.addOrReplaceChild("bone160", CubeListBuilder.create().texOffs(95, 30).addBox(-2.5F, -1.1206F, -2.316F, 5.0F, 6.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 1.0F, -21.5F, -0.3491F, 0.0F, 0.0F)); + PartDefinition bone160 = bone159.addOrReplaceChild("bone160", CubeListBuilder.create().texOffs(95, 30).addBox(-2.5F, -1.1206F, -2.316F, 5.0F, 6.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 1.0F, -21.5F, -0.3491F, 0.0F, 0.0F)); - PartDefinition bone161 = bone159.addOrReplaceChild("bone161", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone161 = bone159.addOrReplaceChild("bone161", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone162 = bone161.addOrReplaceChild("bone162", CubeListBuilder.create().texOffs(95, 30).addBox(-2.5F, -1.1206F, -2.316F, 5.0F, 6.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 1.0F, -21.5F, -0.3491F, 0.0F, 0.0F)); + PartDefinition bone162 = bone161.addOrReplaceChild("bone162", CubeListBuilder.create().texOffs(95, 30).addBox(-2.5F, -1.1206F, -2.316F, 5.0F, 6.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 1.0F, -21.5F, -0.3491F, 0.0F, 0.0F)); - PartDefinition bone163 = bone161.addOrReplaceChild("bone163", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone163 = bone161.addOrReplaceChild("bone163", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone164 = bone163.addOrReplaceChild("bone164", CubeListBuilder.create().texOffs(95, 30).addBox(-2.5F, -1.1206F, -2.316F, 5.0F, 6.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 1.0F, -21.5F, -0.3491F, 0.0F, 0.0F)); + PartDefinition bone164 = bone163.addOrReplaceChild("bone164", CubeListBuilder.create().texOffs(95, 30).addBox(-2.5F, -1.1206F, -2.316F, 5.0F, 6.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 1.0F, -21.5F, -0.3491F, 0.0F, 0.0F)); - PartDefinition bone165 = bone163.addOrReplaceChild("bone165", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone165 = bone163.addOrReplaceChild("bone165", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone166 = bone165.addOrReplaceChild("bone166", CubeListBuilder.create().texOffs(95, 30).addBox(-2.5F, -1.1206F, -2.316F, 5.0F, 6.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 1.0F, -21.5F, -0.3491F, 0.0F, 0.0F)); + PartDefinition bone166 = bone165.addOrReplaceChild("bone166", CubeListBuilder.create().texOffs(95, 30).addBox(-2.5F, -1.1206F, -2.316F, 5.0F, 6.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 1.0F, -21.5F, -0.3491F, 0.0F, 0.0F)); - PartDefinition bone167 = baseconsole.addOrReplaceChild("bone167", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -15.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); + PartDefinition bone167 = baseconsole.addOrReplaceChild("bone167", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -15.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); - PartDefinition bone168 = bone167.addOrReplaceChild("bone168", CubeListBuilder.create().texOffs(62, 66).addBox(-2.5F, 1.3512F, -1.4746F, 5.0F, 15.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 2.793F, -25.3451F, 0.829F, 0.0F, 0.0F)); + PartDefinition bone168 = bone167.addOrReplaceChild("bone168", CubeListBuilder.create().texOffs(62, 66).addBox(-2.5F, 1.3512F, -1.4746F, 5.0F, 15.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 2.793F, -25.3451F, 0.829F, 0.0F, 0.0F)); - PartDefinition bone169 = bone167.addOrReplaceChild("bone169", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone169 = bone167.addOrReplaceChild("bone169", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone170 = bone169.addOrReplaceChild("bone170", CubeListBuilder.create().texOffs(62, 66).addBox(-2.5F, 1.3512F, -1.4746F, 5.0F, 15.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 2.793F, -25.3451F, 0.829F, 0.0F, 0.0F)); + PartDefinition bone170 = bone169.addOrReplaceChild("bone170", CubeListBuilder.create().texOffs(62, 66).addBox(-2.5F, 1.3512F, -1.4746F, 5.0F, 15.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 2.793F, -25.3451F, 0.829F, 0.0F, 0.0F)); - PartDefinition bone171 = bone169.addOrReplaceChild("bone171", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone171 = bone169.addOrReplaceChild("bone171", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone172 = bone171.addOrReplaceChild("bone172", CubeListBuilder.create().texOffs(62, 66).addBox(-2.5F, 1.3512F, -1.4746F, 5.0F, 15.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 2.793F, -25.3451F, 0.829F, 0.0F, 0.0F)); + PartDefinition bone172 = bone171.addOrReplaceChild("bone172", CubeListBuilder.create().texOffs(62, 66).addBox(-2.5F, 1.3512F, -1.4746F, 5.0F, 15.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 2.793F, -25.3451F, 0.829F, 0.0F, 0.0F)); - PartDefinition bone173 = bone171.addOrReplaceChild("bone173", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone173 = bone171.addOrReplaceChild("bone173", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone174 = bone173.addOrReplaceChild("bone174", CubeListBuilder.create().texOffs(62, 66).addBox(-2.5F, 1.3512F, -1.4746F, 5.0F, 15.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 2.793F, -25.3451F, 0.829F, 0.0F, 0.0F)); + PartDefinition bone174 = bone173.addOrReplaceChild("bone174", CubeListBuilder.create().texOffs(62, 66).addBox(-2.5F, 1.3512F, -1.4746F, 5.0F, 15.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 2.793F, -25.3451F, 0.829F, 0.0F, 0.0F)); - PartDefinition bone175 = bone173.addOrReplaceChild("bone175", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone175 = bone173.addOrReplaceChild("bone175", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone176 = bone175.addOrReplaceChild("bone176", CubeListBuilder.create().texOffs(62, 66).addBox(-2.5F, 1.3512F, -1.4746F, 5.0F, 15.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 2.793F, -25.3451F, 0.829F, 0.0F, 0.0F)); + PartDefinition bone176 = bone175.addOrReplaceChild("bone176", CubeListBuilder.create().texOffs(62, 66).addBox(-2.5F, 1.3512F, -1.4746F, 5.0F, 15.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 2.793F, -25.3451F, 0.829F, 0.0F, 0.0F)); - PartDefinition bone177 = bone175.addOrReplaceChild("bone177", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone177 = bone175.addOrReplaceChild("bone177", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone178 = bone177.addOrReplaceChild("bone178", CubeListBuilder.create().texOffs(62, 66).addBox(-2.5F, 1.3512F, -1.4746F, 5.0F, 15.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 2.793F, -25.3451F, 0.829F, 0.0F, 0.0F)); + PartDefinition bone178 = bone177.addOrReplaceChild("bone178", CubeListBuilder.create().texOffs(62, 66).addBox(-2.5F, 1.3512F, -1.4746F, 5.0F, 15.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 2.793F, -25.3451F, 0.829F, 0.0F, 0.0F)); - PartDefinition bone179 = baseconsole.addOrReplaceChild("bone179", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -15.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); + PartDefinition bone179 = baseconsole.addOrReplaceChild("bone179", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -15.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); - PartDefinition bone180 = bone179.addOrReplaceChild("bone180", CubeListBuilder.create().texOffs(49, 17).addBox(-2.5F, 0.0F, 0.0F, 5.0F, 3.0F, 15.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -0.8451F, -23.293F, 0.3927F, 0.0F, 0.0F)); + PartDefinition bone180 = bone179.addOrReplaceChild("bone180", CubeListBuilder.create().texOffs(49, 17).addBox(-2.5F, 0.0F, 0.0F, 5.0F, 3.0F, 15.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -0.8451F, -23.293F, 0.3927F, 0.0F, 0.0F)); - PartDefinition bone181 = bone179.addOrReplaceChild("bone181", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone181 = bone179.addOrReplaceChild("bone181", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone182 = bone181.addOrReplaceChild("bone182", CubeListBuilder.create().texOffs(49, 17).addBox(-2.5F, 1.8478F, -0.7654F, 5.0F, 3.0F, 15.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -2.8451F, -23.293F, 0.3927F, 0.0F, 0.0F)); + PartDefinition bone182 = bone181.addOrReplaceChild("bone182", CubeListBuilder.create().texOffs(49, 17).addBox(-2.5F, 1.8478F, -0.7654F, 5.0F, 3.0F, 15.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -2.8451F, -23.293F, 0.3927F, 0.0F, 0.0F)); - PartDefinition bone183 = bone181.addOrReplaceChild("bone183", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone183 = bone181.addOrReplaceChild("bone183", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone184 = bone183.addOrReplaceChild("bone184", CubeListBuilder.create().texOffs(49, 17).addBox(-2.5F, 1.8478F, -0.7654F, 5.0F, 3.0F, 15.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -2.8451F, -23.293F, 0.3927F, 0.0F, 0.0F)); + PartDefinition bone184 = bone183.addOrReplaceChild("bone184", CubeListBuilder.create().texOffs(49, 17).addBox(-2.5F, 1.8478F, -0.7654F, 5.0F, 3.0F, 15.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -2.8451F, -23.293F, 0.3927F, 0.0F, 0.0F)); - PartDefinition bone185 = bone183.addOrReplaceChild("bone185", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone185 = bone183.addOrReplaceChild("bone185", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone186 = bone185.addOrReplaceChild("bone186", CubeListBuilder.create().texOffs(49, 17).addBox(-2.5F, 1.8478F, -0.7654F, 5.0F, 3.0F, 15.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -2.8451F, -23.293F, 0.3927F, 0.0F, 0.0F)); + PartDefinition bone186 = bone185.addOrReplaceChild("bone186", CubeListBuilder.create().texOffs(49, 17).addBox(-2.5F, 1.8478F, -0.7654F, 5.0F, 3.0F, 15.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -2.8451F, -23.293F, 0.3927F, 0.0F, 0.0F)); - PartDefinition bone187 = bone185.addOrReplaceChild("bone187", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone187 = bone185.addOrReplaceChild("bone187", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone188 = bone187.addOrReplaceChild("bone188", CubeListBuilder.create().texOffs(49, 17).addBox(-2.5F, 1.8478F, -0.7654F, 5.0F, 3.0F, 15.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -2.8451F, -23.293F, 0.3927F, 0.0F, 0.0F)); + PartDefinition bone188 = bone187.addOrReplaceChild("bone188", CubeListBuilder.create().texOffs(49, 17).addBox(-2.5F, 1.8478F, -0.7654F, 5.0F, 3.0F, 15.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -2.8451F, -23.293F, 0.3927F, 0.0F, 0.0F)); - PartDefinition bone189 = bone187.addOrReplaceChild("bone189", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone189 = bone187.addOrReplaceChild("bone189", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone190 = bone189.addOrReplaceChild("bone190", CubeListBuilder.create().texOffs(49, 17).addBox(-2.5F, 0.0F, 0.0F, 5.0F, 3.0F, 15.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -0.8451F, -23.293F, 0.3927F, 0.0F, 0.0F)); + PartDefinition bone190 = bone189.addOrReplaceChild("bone190", CubeListBuilder.create().texOffs(49, 17).addBox(-2.5F, 0.0F, 0.0F, 5.0F, 3.0F, 15.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -0.8451F, -23.293F, 0.3927F, 0.0F, 0.0F)); - PartDefinition bone191 = baseconsole.addOrReplaceChild("bone191", CubeListBuilder.create(), PartPose.offset(0.0F, -13.0F, 1.5F)); + PartDefinition bone191 = baseconsole.addOrReplaceChild("bone191", CubeListBuilder.create(), PartPose.offset(0.0F, -13.0F, 1.5F)); - PartDefinition bone192 = bone191.addOrReplaceChild("bone192", CubeListBuilder.create().texOffs(36, 0).addBox(-9.5F, 0.0F, 0.0F, 19.0F, 1.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.0F, -22.9258F, 0.5672F, 0.0F, 0.0F)); + PartDefinition bone192 = bone191.addOrReplaceChild("bone192", CubeListBuilder.create().texOffs(36, 0).addBox(-9.5F, 0.0F, 0.0F, 19.0F, 1.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.0F, -22.9258F, 0.5672F, 0.0F, 0.0F)); - PartDefinition bone193 = bone192.addOrReplaceChild("bone193", CubeListBuilder.create().texOffs(32, 44).addBox(-8.5F, 0.0F, 0.0F, 17.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 7.0F, -0.3054F, 0.0F, 0.0F)); + PartDefinition bone193 = bone192.addOrReplaceChild("bone193", CubeListBuilder.create().texOffs(32, 44).addBox(-8.5F, 0.0F, 0.0F, 17.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 7.0F, -0.3054F, 0.0F, 0.0F)); - PartDefinition bone194 = bone191.addOrReplaceChild("bone194", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, -1.5F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone194 = bone191.addOrReplaceChild("bone194", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, -1.5F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone195 = bone194.addOrReplaceChild("bone195", CubeListBuilder.create().texOffs(36, 0).addBox(-9.5F, 0.0F, 0.0F, 19.0F, 1.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.0F, -21.4258F, 0.5672F, 0.0F, 0.0F)); + PartDefinition bone195 = bone194.addOrReplaceChild("bone195", CubeListBuilder.create().texOffs(36, 0).addBox(-9.5F, 0.0F, 0.0F, 19.0F, 1.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.0F, -21.4258F, 0.5672F, 0.0F, 0.0F)); - PartDefinition bone196 = bone195.addOrReplaceChild("bone196", CubeListBuilder.create().texOffs(32, 44).addBox(-8.5F, 0.0F, 0.0F, 17.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 7.0F, -0.3054F, 0.0F, 0.0F)); + PartDefinition bone196 = bone195.addOrReplaceChild("bone196", CubeListBuilder.create().texOffs(32, 44).addBox(-8.5F, 0.0F, 0.0F, 17.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 7.0F, -0.3054F, 0.0F, 0.0F)); - PartDefinition bone197 = bone194.addOrReplaceChild("bone197", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone197 = bone194.addOrReplaceChild("bone197", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone198 = bone197.addOrReplaceChild("bone198", CubeListBuilder.create().texOffs(36, 0).addBox(-9.5F, 0.0F, 0.0F, 19.0F, 1.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.0F, -21.4258F, 0.5672F, 0.0F, 0.0F)); + PartDefinition bone198 = bone197.addOrReplaceChild("bone198", CubeListBuilder.create().texOffs(36, 0).addBox(-9.5F, 0.0F, 0.0F, 19.0F, 1.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.0F, -21.4258F, 0.5672F, 0.0F, 0.0F)); - PartDefinition bone199 = bone198.addOrReplaceChild("bone199", CubeListBuilder.create().texOffs(32, 44).addBox(-8.5F, 0.0F, 0.0F, 17.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 7.0F, -0.3054F, 0.0F, 0.0F)); + PartDefinition bone199 = bone198.addOrReplaceChild("bone199", CubeListBuilder.create().texOffs(32, 44).addBox(-8.5F, 0.0F, 0.0F, 17.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 7.0F, -0.3054F, 0.0F, 0.0F)); - PartDefinition bone200 = bone197.addOrReplaceChild("bone200", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone200 = bone197.addOrReplaceChild("bone200", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone201 = bone200.addOrReplaceChild("bone201", CubeListBuilder.create().texOffs(36, 0).addBox(-9.5F, 0.0F, 0.0F, 19.0F, 1.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.0F, -21.4258F, 0.5672F, 0.0F, 0.0F)); + PartDefinition bone201 = bone200.addOrReplaceChild("bone201", CubeListBuilder.create().texOffs(36, 0).addBox(-9.5F, 0.0F, 0.0F, 19.0F, 1.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.0F, -21.4258F, 0.5672F, 0.0F, 0.0F)); - PartDefinition bone202 = bone201.addOrReplaceChild("bone202", CubeListBuilder.create().texOffs(32, 44).addBox(-8.5F, 0.0F, 0.0F, 17.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 7.0F, -0.3054F, 0.0F, 0.0F)); + PartDefinition bone202 = bone201.addOrReplaceChild("bone202", CubeListBuilder.create().texOffs(32, 44).addBox(-8.5F, 0.0F, 0.0F, 17.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 7.0F, -0.3054F, 0.0F, 0.0F)); - PartDefinition bone203 = bone200.addOrReplaceChild("bone203", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone203 = bone200.addOrReplaceChild("bone203", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone204 = bone203.addOrReplaceChild("bone204", CubeListBuilder.create().texOffs(36, 0).addBox(-9.5F, 0.0F, 0.0F, 19.0F, 1.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.0F, -21.4258F, 0.5672F, 0.0F, 0.0F)); + PartDefinition bone204 = bone203.addOrReplaceChild("bone204", CubeListBuilder.create().texOffs(36, 0).addBox(-9.5F, 0.0F, 0.0F, 19.0F, 1.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.0F, -21.4258F, 0.5672F, 0.0F, 0.0F)); - PartDefinition bone205 = bone204.addOrReplaceChild("bone205", CubeListBuilder.create().texOffs(32, 44).addBox(-8.5F, 0.0F, 0.0F, 17.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 7.0F, -0.3054F, 0.0F, 0.0F)); + PartDefinition bone205 = bone204.addOrReplaceChild("bone205", CubeListBuilder.create().texOffs(32, 44).addBox(-8.5F, 0.0F, 0.0F, 17.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 7.0F, -0.3054F, 0.0F, 0.0F)); - PartDefinition bone206 = bone203.addOrReplaceChild("bone206", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone206 = bone203.addOrReplaceChild("bone206", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone207 = bone206.addOrReplaceChild("bone207", CubeListBuilder.create().texOffs(36, 0).addBox(-9.5F, 0.0F, 0.0F, 19.0F, 1.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.0F, -21.4258F, 0.5672F, 0.0F, 0.0F)); + PartDefinition bone207 = bone206.addOrReplaceChild("bone207", CubeListBuilder.create().texOffs(36, 0).addBox(-9.5F, 0.0F, 0.0F, 19.0F, 1.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.0F, -21.4258F, 0.5672F, 0.0F, 0.0F)); - PartDefinition bone208 = bone207.addOrReplaceChild("bone208", CubeListBuilder.create().texOffs(32, 44).addBox(-8.5F, 0.0F, 0.0F, 17.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 7.0F, -0.3054F, 0.0F, 0.0F)); + PartDefinition bone208 = bone207.addOrReplaceChild("bone208", CubeListBuilder.create().texOffs(32, 44).addBox(-8.5F, 0.0F, 0.0F, 17.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 7.0F, -0.3054F, 0.0F, 0.0F)); - PartDefinition bone209 = baseconsole.addOrReplaceChild("bone209", CubeListBuilder.create().texOffs(0, 84).addBox(-2.5F, 0.0F, -14.5F, 5.0F, 18.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -18.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); + PartDefinition bone209 = baseconsole.addOrReplaceChild("bone209", CubeListBuilder.create().texOffs(0, 84).addBox(-2.5F, 0.0F, -14.5F, 5.0F, 18.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -18.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); - PartDefinition bone210 = bone209.addOrReplaceChild("bone210", CubeListBuilder.create().texOffs(0, 84).addBox(-2.5F, 0.0F, -14.5F, 5.0F, 18.0F, 4.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(0, 84).addBox(-2.5F, 0.0F, -14.5F, 5.0F, 18.0F, 4.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(0, 84).addBox(-2.5F, 0.0F, -14.5F, 5.0F, 18.0F, 4.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(0, 84).addBox(-2.5F, 0.0F, -14.5F, 5.0F, 18.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone212 = bone211.addOrReplaceChild("bone212", CubeListBuilder.create().texOffs(0, 84).addBox(-2.5F, 0.0F, -14.5F, 5.0F, 18.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone212 = bone211.addOrReplaceChild("bone212", CubeListBuilder.create().texOffs(0, 84).addBox(-2.5F, 0.0F, -14.5F, 5.0F, 18.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone213 = bone212.addOrReplaceChild("bone213", CubeListBuilder.create().texOffs(0, 84).addBox(-2.5F, 0.0F, -14.5F, 5.0F, 18.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone213 = bone212.addOrReplaceChild("bone213", CubeListBuilder.create().texOffs(0, 84).addBox(-2.5F, 0.0F, -14.5F, 5.0F, 18.0F, 4.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(0, 84).addBox(-2.5F, 0.0F, -14.5F, 5.0F, 18.0F, 4.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(0, 84).addBox(-2.5F, 0.0F, -14.5F, 5.0F, 18.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone215 = baseconsole.addOrReplaceChild("bone215", CubeListBuilder.create().texOffs(0, 0).addBox(-5.5F, 0.0F, -13.5F, 11.0F, 18.0F, 14.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -18.0F, 0.0F)); + PartDefinition bone215 = baseconsole.addOrReplaceChild("bone215", CubeListBuilder.create().texOffs(0, 0).addBox(-5.5F, 0.0F, -13.5F, 11.0F, 18.0F, 14.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -18.0F, 0.0F)); - PartDefinition bone216 = bone215.addOrReplaceChild("bone216", CubeListBuilder.create().texOffs(0, 0).addBox(-5.5F, 0.0F, -13.5F, 11.0F, 18.0F, 14.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(0, 0).addBox(-5.5F, 0.0F, -13.5F, 11.0F, 18.0F, 14.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(0, 0).addBox(-5.5F, 0.0F, -13.5F, 11.0F, 18.0F, 14.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(0, 0).addBox(-5.5F, 0.0F, -13.5F, 11.0F, 18.0F, 14.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone218 = bone217.addOrReplaceChild("bone218", CubeListBuilder.create().texOffs(0, 0).addBox(-5.5F, 0.0F, -13.5F, 11.0F, 18.0F, 14.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone218 = bone217.addOrReplaceChild("bone218", CubeListBuilder.create().texOffs(0, 0).addBox(-5.5F, 0.0F, -13.5F, 11.0F, 18.0F, 14.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone219 = bone218.addOrReplaceChild("bone219", CubeListBuilder.create().texOffs(0, 0).addBox(-5.5F, 0.0F, -13.5F, 11.0F, 18.0F, 14.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone219 = bone218.addOrReplaceChild("bone219", CubeListBuilder.create().texOffs(0, 0).addBox(-5.5F, 0.0F, -13.5F, 11.0F, 18.0F, 14.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone220 = bone219.addOrReplaceChild("bone220", CubeListBuilder.create().texOffs(0, 0).addBox(-5.5F, 0.0F, -13.5F, 11.0F, 18.0F, 14.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone220 = bone219.addOrReplaceChild("bone220", CubeListBuilder.create().texOffs(0, 0).addBox(-5.5F, 0.0F, -13.5F, 11.0F, 18.0F, 14.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone221 = baseconsole.addOrReplaceChild("bone221", CubeListBuilder.create(), PartPose.offset(0.0F, -13.0F, 0.0F)); + PartDefinition bone221 = baseconsole.addOrReplaceChild("bone221", CubeListBuilder.create(), PartPose.offset(0.0F, -13.0F, 0.0F)); - PartDefinition bone222 = bone221.addOrReplaceChild("bone222", CubeListBuilder.create().texOffs(0, 32).addBox(-10.0F, -1.0F, 0.0F, 19.0F, 1.0F, 11.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.5F, 3.0F, -21.4258F, -0.6981F, 0.0F, 0.0F)); + PartDefinition bone222 = bone221.addOrReplaceChild("bone222", CubeListBuilder.create().texOffs(0, 32).addBox(-10.0F, -1.0F, 0.0F, 19.0F, 1.0F, 11.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.5F, 3.0F, -21.4258F, -0.6981F, 0.0F, 0.0F)); - PartDefinition bone223 = bone221.addOrReplaceChild("bone223", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone223 = bone221.addOrReplaceChild("bone223", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone224 = bone223.addOrReplaceChild("bone224", CubeListBuilder.create().texOffs(0, 32).addBox(-10.0F, -1.0F, 0.0F, 19.0F, 1.0F, 11.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.5F, 3.0F, -21.4258F, -0.6981F, 0.0F, 0.0F)); + PartDefinition bone224 = bone223.addOrReplaceChild("bone224", CubeListBuilder.create().texOffs(0, 32).addBox(-10.0F, -1.0F, 0.0F, 19.0F, 1.0F, 11.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.5F, 3.0F, -21.4258F, -0.6981F, 0.0F, 0.0F)); - PartDefinition bone225 = bone223.addOrReplaceChild("bone225", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone225 = bone223.addOrReplaceChild("bone225", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone226 = bone225.addOrReplaceChild("bone226", CubeListBuilder.create().texOffs(0, 32).addBox(-10.0F, -1.0F, 0.0F, 19.0F, 1.0F, 11.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.5F, 3.0F, -21.4258F, -0.6981F, 0.0F, 0.0F)); + PartDefinition bone226 = bone225.addOrReplaceChild("bone226", CubeListBuilder.create().texOffs(0, 32).addBox(-10.0F, -1.0F, 0.0F, 19.0F, 1.0F, 11.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.5F, 3.0F, -21.4258F, -0.6981F, 0.0F, 0.0F)); - PartDefinition bone227 = bone225.addOrReplaceChild("bone227", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone227 = bone225.addOrReplaceChild("bone227", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone228 = bone227.addOrReplaceChild("bone228", CubeListBuilder.create().texOffs(0, 32).addBox(-10.0F, -1.0F, 0.0F, 19.0F, 1.0F, 11.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.5F, 3.0F, -21.4258F, -0.6981F, 0.0F, 0.0F)); + PartDefinition bone228 = bone227.addOrReplaceChild("bone228", CubeListBuilder.create().texOffs(0, 32).addBox(-10.0F, -1.0F, 0.0F, 19.0F, 1.0F, 11.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.5F, 3.0F, -21.4258F, -0.6981F, 0.0F, 0.0F)); - PartDefinition bone229 = bone227.addOrReplaceChild("bone229", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone229 = bone227.addOrReplaceChild("bone229", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone230 = bone229.addOrReplaceChild("bone230", CubeListBuilder.create().texOffs(0, 32).addBox(-10.0F, -1.0F, 0.0F, 19.0F, 1.0F, 11.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.5F, 3.0F, -21.4258F, -0.6981F, 0.0F, 0.0F)); + PartDefinition bone230 = bone229.addOrReplaceChild("bone230", CubeListBuilder.create().texOffs(0, 32).addBox(-10.0F, -1.0F, 0.0F, 19.0F, 1.0F, 11.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.5F, 3.0F, -21.4258F, -0.6981F, 0.0F, 0.0F)); - PartDefinition bone231 = bone229.addOrReplaceChild("bone231", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone231 = bone229.addOrReplaceChild("bone231", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone232 = bone231.addOrReplaceChild("bone232", CubeListBuilder.create().texOffs(0, 32).addBox(-10.0F, -1.0F, 0.0F, 19.0F, 1.0F, 11.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.5F, 3.0F, -21.4258F, -0.6981F, 0.0F, 0.0F)); + PartDefinition bone232 = bone231.addOrReplaceChild("bone232", CubeListBuilder.create().texOffs(0, 32).addBox(-10.0F, -1.0F, 0.0F, 19.0F, 1.0F, 11.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.5F, 3.0F, -21.4258F, -0.6981F, 0.0F, 0.0F)); - PartDefinition bone241 = baseconsole.addOrReplaceChild("bone241", CubeListBuilder.create(), PartPose.offset(0.0F, -11.5F, 0.0F)); + PartDefinition bone241 = baseconsole.addOrReplaceChild("bone241", CubeListBuilder.create(), PartPose.offset(0.0F, -11.5F, 0.0F)); - PartDefinition bone242 = bone241.addOrReplaceChild("bone242", CubeListBuilder.create().texOffs(99, 106).addBox(-3.5F, 0.0F, 0.75F, 7.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -9.3508F, -10.4187F, 0.3927F, 0.0F, 0.0F)); + PartDefinition bone242 = bone241.addOrReplaceChild("bone242", CubeListBuilder.create().texOffs(99, 106).addBox(-3.5F, 0.0F, 0.75F, 7.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -9.3508F, -10.4187F, 0.3927F, 0.0F, 0.0F)); - PartDefinition bone243 = bone241.addOrReplaceChild("bone243", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone243 = bone241.addOrReplaceChild("bone243", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone244 = bone243.addOrReplaceChild("bone244", CubeListBuilder.create().texOffs(99, 106).addBox(-3.5F, 0.0F, 0.75F, 7.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -9.3508F, -10.4187F, 0.3927F, 0.0F, 0.0F)); + PartDefinition bone244 = bone243.addOrReplaceChild("bone244", CubeListBuilder.create().texOffs(99, 106).addBox(-3.5F, 0.0F, 0.75F, 7.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -9.3508F, -10.4187F, 0.3927F, 0.0F, 0.0F)); - PartDefinition bone245 = bone243.addOrReplaceChild("bone245", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone245 = bone243.addOrReplaceChild("bone245", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone246 = bone245.addOrReplaceChild("bone246", CubeListBuilder.create().texOffs(99, 106).addBox(-3.5F, 0.0F, 0.75F, 7.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -9.3508F, -10.4187F, 0.3927F, 0.0F, 0.0F)); + PartDefinition bone246 = bone245.addOrReplaceChild("bone246", CubeListBuilder.create().texOffs(99, 106).addBox(-3.5F, 0.0F, 0.75F, 7.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -9.3508F, -10.4187F, 0.3927F, 0.0F, 0.0F)); - PartDefinition bone247 = bone245.addOrReplaceChild("bone247", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone247 = bone245.addOrReplaceChild("bone247", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone248 = bone247.addOrReplaceChild("bone248", CubeListBuilder.create().texOffs(99, 106).addBox(-3.5F, 0.0F, 0.75F, 7.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -9.3508F, -10.4187F, 0.3927F, 0.0F, 0.0F)); + PartDefinition bone248 = bone247.addOrReplaceChild("bone248", CubeListBuilder.create().texOffs(99, 106).addBox(-3.5F, 0.0F, 0.75F, 7.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -9.3508F, -10.4187F, 0.3927F, 0.0F, 0.0F)); - PartDefinition bone249 = bone247.addOrReplaceChild("bone249", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone249 = bone247.addOrReplaceChild("bone249", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone250 = bone249.addOrReplaceChild("bone250", CubeListBuilder.create().texOffs(99, 106).addBox(-3.5F, 0.0F, 0.75F, 7.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -9.3508F, -10.4187F, 0.3927F, 0.0F, 0.0F)); + PartDefinition bone250 = bone249.addOrReplaceChild("bone250", CubeListBuilder.create().texOffs(99, 106).addBox(-3.5F, 0.0F, 0.75F, 7.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -9.3508F, -10.4187F, 0.3927F, 0.0F, 0.0F)); - PartDefinition bone251 = bone249.addOrReplaceChild("bone251", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone251 = bone249.addOrReplaceChild("bone251", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone252 = bone251.addOrReplaceChild("bone252", CubeListBuilder.create().texOffs(99, 106).addBox(-3.5F, 0.0F, 0.75F, 7.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -9.3508F, -10.4187F, 0.3927F, 0.0F, 0.0F)); + PartDefinition bone252 = bone251.addOrReplaceChild("bone252", CubeListBuilder.create().texOffs(99, 106).addBox(-3.5F, 0.0F, 0.75F, 7.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -9.3508F, -10.4187F, 0.3927F, 0.0F, 0.0F)); - PartDefinition bone253 = baseconsole.addOrReplaceChild("bone253", CubeListBuilder.create().texOffs(64, 110).addBox(-2.5F, -8.75F, -10.2437F, 5.0F, 2.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -14.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); + PartDefinition bone253 = baseconsole.addOrReplaceChild("bone253", CubeListBuilder.create().texOffs(64, 110).addBox(-2.5F, -8.75F, -10.2437F, 5.0F, 2.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -14.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); - PartDefinition bone254 = bone253.addOrReplaceChild("bone254", CubeListBuilder.create().texOffs(64, 110).addBox(-2.5F, -8.75F, -10.2437F, 5.0F, 2.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone254 = bone253.addOrReplaceChild("bone254", CubeListBuilder.create().texOffs(64, 110).addBox(-2.5F, -8.75F, -10.2437F, 5.0F, 2.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone255 = bone254.addOrReplaceChild("bone255", CubeListBuilder.create().texOffs(64, 110).addBox(-2.5F, -8.75F, -10.2437F, 5.0F, 2.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone255 = bone254.addOrReplaceChild("bone255", CubeListBuilder.create().texOffs(64, 110).addBox(-2.5F, -8.75F, -10.2437F, 5.0F, 2.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone256 = bone255.addOrReplaceChild("bone256", CubeListBuilder.create().texOffs(64, 110).addBox(-2.5F, -8.75F, -10.2437F, 5.0F, 2.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone256 = bone255.addOrReplaceChild("bone256", CubeListBuilder.create().texOffs(64, 110).addBox(-2.5F, -8.75F, -10.2437F, 5.0F, 2.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone257 = bone256.addOrReplaceChild("bone257", CubeListBuilder.create().texOffs(64, 110).addBox(-2.5F, -8.75F, -10.2437F, 5.0F, 2.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone257 = bone256.addOrReplaceChild("bone257", CubeListBuilder.create().texOffs(64, 110).addBox(-2.5F, -8.75F, -10.2437F, 5.0F, 2.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone258 = bone257.addOrReplaceChild("bone258", CubeListBuilder.create().texOffs(64, 110).addBox(-2.5F, -8.75F, -10.2437F, 5.0F, 2.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone258 = bone257.addOrReplaceChild("bone258", CubeListBuilder.create().texOffs(64, 110).addBox(-2.5F, -8.75F, -10.2437F, 5.0F, 2.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone259 = baseconsole.addOrReplaceChild("bone259", CubeListBuilder.create().texOffs(62, 53).addBox(-4.0F, -12.5008F, -6.7937F, 8.0F, 6.0F, 7.0F, new CubeDeformation(0.0F)) - .texOffs(112, 71).addBox(-4.0F, -10.5008F, -6.9687F, 8.0F, 4.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -15.5F, 0.0F)); + PartDefinition bone259 = baseconsole.addOrReplaceChild("bone259", CubeListBuilder.create().texOffs(62, 53).addBox(-4.0F, -12.5008F, -6.7937F, 8.0F, 6.0F, 7.0F, new CubeDeformation(0.0F)) + .texOffs(112, 71).addBox(-4.0F, -10.5008F, -6.9687F, 8.0F, 4.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -15.5F, 0.0F)); - PartDefinition bone260 = bone259.addOrReplaceChild("bone260", CubeListBuilder.create().texOffs(62, 53).addBox(-4.0F, -12.5008F, -6.7937F, 8.0F, 6.0F, 7.0F, new CubeDeformation(0.0F)) - .texOffs(112, 71).addBox(-4.0F, -10.5008F, -6.9687F, 8.0F, 4.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone260 = bone259.addOrReplaceChild("bone260", CubeListBuilder.create().texOffs(62, 53).addBox(-4.0F, -12.5008F, -6.7937F, 8.0F, 6.0F, 7.0F, new CubeDeformation(0.0F)) + .texOffs(112, 71).addBox(-4.0F, -10.5008F, -6.9687F, 8.0F, 4.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(62, 53).addBox(-4.0F, -12.5008F, -6.7937F, 8.0F, 6.0F, 7.0F, new CubeDeformation(0.0F)) - .texOffs(112, 71).addBox(-4.0F, -10.5008F, -6.9687F, 8.0F, 4.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(62, 53).addBox(-4.0F, -12.5008F, -6.7937F, 8.0F, 6.0F, 7.0F, new CubeDeformation(0.0F)) + .texOffs(112, 71).addBox(-4.0F, -10.5008F, -6.9687F, 8.0F, 4.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone262 = bone261.addOrReplaceChild("bone262", CubeListBuilder.create().texOffs(62, 53).addBox(-4.0F, -12.5008F, -6.7937F, 8.0F, 6.0F, 7.0F, new CubeDeformation(0.0F)) - .texOffs(112, 71).addBox(-4.0F, -10.5008F, -6.9687F, 8.0F, 4.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone262 = bone261.addOrReplaceChild("bone262", CubeListBuilder.create().texOffs(62, 53).addBox(-4.0F, -12.5008F, -6.7937F, 8.0F, 6.0F, 7.0F, new CubeDeformation(0.0F)) + .texOffs(112, 71).addBox(-4.0F, -10.5008F, -6.9687F, 8.0F, 4.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone263 = bone262.addOrReplaceChild("bone263", CubeListBuilder.create().texOffs(62, 53).addBox(-4.0F, -12.5008F, -6.7937F, 8.0F, 6.0F, 7.0F, new CubeDeformation(0.0F)) - .texOffs(112, 71).addBox(-4.0F, -10.5008F, -6.9687F, 8.0F, 4.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone263 = bone262.addOrReplaceChild("bone263", CubeListBuilder.create().texOffs(62, 53).addBox(-4.0F, -12.5008F, -6.7937F, 8.0F, 6.0F, 7.0F, new CubeDeformation(0.0F)) + .texOffs(112, 71).addBox(-4.0F, -10.5008F, -6.9687F, 8.0F, 4.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().texOffs(62, 53).addBox(-4.0F, -12.5008F, -6.7937F, 8.0F, 6.0F, 7.0F, new CubeDeformation(0.0F)) - .texOffs(112, 71).addBox(-4.0F, -10.5008F, -6.9687F, 8.0F, 4.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().texOffs(62, 53).addBox(-4.0F, -12.5008F, -6.7937F, 8.0F, 6.0F, 7.0F, new CubeDeformation(0.0F)) + .texOffs(112, 71).addBox(-4.0F, -10.5008F, -6.9687F, 8.0F, 4.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone265 = baseconsole.addOrReplaceChild("bone265", CubeListBuilder.create().texOffs(106, 93).addBox(-4.0F, -11.475F, -8.9437F, 8.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -17.5F, 0.0F)); + PartDefinition bone265 = baseconsole.addOrReplaceChild("bone265", CubeListBuilder.create().texOffs(106, 93).addBox(-4.0F, -11.475F, -8.9437F, 8.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -17.5F, 0.0F)); - PartDefinition bone266 = bone265.addOrReplaceChild("bone266", CubeListBuilder.create().texOffs(106, 93).addBox(-4.0F, -11.475F, -8.9437F, 8.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone266 = bone265.addOrReplaceChild("bone266", CubeListBuilder.create().texOffs(106, 93).addBox(-4.0F, -11.475F, -8.9437F, 8.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone267 = bone266.addOrReplaceChild("bone267", CubeListBuilder.create().texOffs(106, 93).addBox(-4.0F, -11.475F, -8.9437F, 8.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone267 = bone266.addOrReplaceChild("bone267", CubeListBuilder.create().texOffs(106, 93).addBox(-4.0F, -11.475F, -8.9437F, 8.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone268 = bone267.addOrReplaceChild("bone268", CubeListBuilder.create().texOffs(106, 93).addBox(-4.0F, -11.475F, -8.9437F, 8.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone268 = bone267.addOrReplaceChild("bone268", CubeListBuilder.create().texOffs(106, 93).addBox(-4.0F, -11.475F, -8.9437F, 8.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone269 = bone268.addOrReplaceChild("bone269", CubeListBuilder.create().texOffs(106, 93).addBox(-4.0F, -11.475F, -8.9437F, 8.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone269 = bone268.addOrReplaceChild("bone269", CubeListBuilder.create().texOffs(106, 93).addBox(-4.0F, -11.475F, -8.9437F, 8.0F, 2.0F, 3.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(106, 93).addBox(-4.0F, -11.475F, -8.9437F, 8.0F, 2.0F, 3.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(106, 93).addBox(-4.0F, -11.475F, -8.9437F, 8.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone90 = baseconsole.addOrReplaceChild("bone90", CubeListBuilder.create().texOffs(0, 44).addBox(-1.0F, -11.5F, -9.7437F, 2.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -17.5F, 0.0F, 0.0F, -0.5236F, 0.0F)); + PartDefinition bone90 = baseconsole.addOrReplaceChild("bone90", CubeListBuilder.create().texOffs(0, 44).addBox(-1.0F, -11.5F, -9.7437F, 2.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -17.5F, 0.0F, 0.0F, -0.5236F, 0.0F)); - PartDefinition bone91 = bone90.addOrReplaceChild("bone91", CubeListBuilder.create().texOffs(0, 44).addBox(-1.0F, -11.5F, -9.7437F, 2.0F, 2.0F, 3.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(0, 44).addBox(-1.0F, -11.5F, -9.7437F, 2.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone92 = bone91.addOrReplaceChild("bone92", CubeListBuilder.create().texOffs(0, 44).addBox(-1.0F, -11.5F, -9.7437F, 2.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone92 = bone91.addOrReplaceChild("bone92", CubeListBuilder.create().texOffs(0, 44).addBox(-1.0F, -11.5F, -9.7437F, 2.0F, 2.0F, 3.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, 44).addBox(-1.0F, -11.5F, -9.7437F, 2.0F, 2.0F, 3.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, 44).addBox(-1.0F, -11.5F, -9.7437F, 2.0F, 2.0F, 3.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, 44).addBox(-1.0F, -11.5F, -9.7437F, 2.0F, 2.0F, 3.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, 44).addBox(-1.0F, -11.5F, -9.7437F, 2.0F, 2.0F, 3.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, 44).addBox(-1.0F, -11.5F, -9.7437F, 2.0F, 2.0F, 3.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, 44).addBox(-1.0F, -11.5F, -9.7437F, 2.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone2 = baseconsole.addOrReplaceChild("bone2", CubeListBuilder.create().texOffs(101, 42).addBox(-4.5F, -11.475F, -9.7937F, 9.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -14.5F, 0.0F)); + PartDefinition bone2 = baseconsole.addOrReplaceChild("bone2", CubeListBuilder.create().texOffs(101, 42).addBox(-4.5F, -11.475F, -9.7937F, 9.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -14.5F, 0.0F)); - PartDefinition bone3 = bone2.addOrReplaceChild("bone3", CubeListBuilder.create().texOffs(101, 42).addBox(-4.5F, -11.475F, -9.7937F, 9.0F, 2.0F, 3.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(101, 42).addBox(-4.5F, -11.475F, -9.7937F, 9.0F, 2.0F, 3.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(101, 42).addBox(-4.5F, -11.475F, -9.7937F, 9.0F, 2.0F, 3.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(101, 42).addBox(-4.5F, -11.475F, -9.7937F, 9.0F, 2.0F, 3.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(101, 42).addBox(-4.5F, -11.475F, -9.7937F, 9.0F, 2.0F, 3.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(101, 42).addBox(-4.5F, -11.475F, -9.7937F, 9.0F, 2.0F, 3.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(101, 42).addBox(-4.5F, -11.475F, -9.7937F, 9.0F, 2.0F, 3.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(101, 42).addBox(-4.5F, -11.475F, -9.7937F, 9.0F, 2.0F, 3.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(101, 42).addBox(-4.5F, -11.475F, -9.7937F, 9.0F, 2.0F, 3.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(101, 42).addBox(-4.5F, -11.475F, -9.7937F, 9.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone84 = baseconsole.addOrReplaceChild("bone84", CubeListBuilder.create().texOffs(0, 49).addBox(-1.0F, -11.5F, -10.7437F, 2.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -14.5F, 0.0F, 0.0F, -0.5236F, 0.0F)); + PartDefinition bone84 = baseconsole.addOrReplaceChild("bone84", CubeListBuilder.create().texOffs(0, 49).addBox(-1.0F, -11.5F, -10.7437F, 2.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -14.5F, 0.0F, 0.0F, -0.5236F, 0.0F)); - PartDefinition bone85 = bone84.addOrReplaceChild("bone85", CubeListBuilder.create().texOffs(0, 49).addBox(-1.0F, -11.5F, -10.7437F, 2.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone85 = bone84.addOrReplaceChild("bone85", CubeListBuilder.create().texOffs(0, 49).addBox(-1.0F, -11.5F, -10.7437F, 2.0F, 2.0F, 3.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(0, 49).addBox(-1.0F, -11.5F, -10.7437F, 2.0F, 2.0F, 3.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(0, 49).addBox(-1.0F, -11.5F, -10.7437F, 2.0F, 2.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(0, 49).addBox(-1.0F, -11.5F, -10.7437F, 2.0F, 2.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(0, 49).addBox(-1.0F, -11.5F, -10.7437F, 2.0F, 2.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(0, 49).addBox(-1.0F, -11.5F, -10.7437F, 2.0F, 2.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(0, 49).addBox(-1.0F, -11.5F, -10.7437F, 2.0F, 2.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(0, 49).addBox(-1.0F, -11.5F, -10.7437F, 2.0F, 2.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(0, 49).addBox(-1.0F, -11.5F, -10.7437F, 2.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone271 = baseconsole.addOrReplaceChild("bone271", CubeListBuilder.create().texOffs(0, 44).addBox(-5.5F, -16.5F, -9.5437F, 11.0F, 8.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -63.5F, 0.0F)); + PartDefinition bone271 = baseconsole.addOrReplaceChild("bone271", CubeListBuilder.create().texOffs(0, 44).addBox(-5.5F, -16.5F, -9.5437F, 11.0F, 8.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -63.5F, 0.0F)); - PartDefinition bone272 = bone271.addOrReplaceChild("bone272", CubeListBuilder.create().texOffs(0, 44).addBox(-5.5F, -16.5F, -9.5437F, 11.0F, 8.0F, 10.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, 44).addBox(-5.5F, -16.5F, -9.5437F, 11.0F, 8.0F, 10.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, 44).addBox(-5.5F, -16.5F, -9.5437F, 11.0F, 8.0F, 10.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, 44).addBox(-5.5F, -16.5F, -9.5437F, 11.0F, 8.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone274 = bone273.addOrReplaceChild("bone274", CubeListBuilder.create().texOffs(0, 44).addBox(-5.5F, -16.5F, -9.5437F, 11.0F, 8.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone274 = bone273.addOrReplaceChild("bone274", CubeListBuilder.create().texOffs(0, 44).addBox(-5.5F, -16.5F, -9.5437F, 11.0F, 8.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone275 = bone274.addOrReplaceChild("bone275", CubeListBuilder.create().texOffs(0, 44).addBox(-5.5F, -16.5F, -9.5437F, 11.0F, 8.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone275 = bone274.addOrReplaceChild("bone275", CubeListBuilder.create().texOffs(0, 44).addBox(-5.5F, -16.5F, -9.5437F, 11.0F, 8.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone276 = bone275.addOrReplaceChild("bone276", CubeListBuilder.create().texOffs(0, 44).addBox(-5.5F, -16.5F, -9.5437F, 11.0F, 8.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone276 = bone275.addOrReplaceChild("bone276", CubeListBuilder.create().texOffs(0, 44).addBox(-5.5F, -16.5F, -9.5437F, 11.0F, 8.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone277 = baseconsole.addOrReplaceChild("bone277", CubeListBuilder.create().texOffs(36, 104).addBox(-4.5F, -16.5F, -8.0437F, 9.0F, 8.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -63.5F, 0.0F)); + PartDefinition bone277 = baseconsole.addOrReplaceChild("bone277", CubeListBuilder.create().texOffs(36, 104).addBox(-4.5F, -16.5F, -8.0437F, 9.0F, 8.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -63.5F, 0.0F)); - PartDefinition bone278 = bone277.addOrReplaceChild("bone278", CubeListBuilder.create().texOffs(36, 104).addBox(-4.5F, -16.5F, -8.0437F, 9.0F, 8.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone278 = bone277.addOrReplaceChild("bone278", CubeListBuilder.create().texOffs(36, 104).addBox(-4.5F, -16.5F, -8.0437F, 9.0F, 8.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone279 = bone278.addOrReplaceChild("bone279", CubeListBuilder.create().texOffs(36, 104).addBox(-4.5F, -16.5F, -8.0437F, 9.0F, 8.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone279 = bone278.addOrReplaceChild("bone279", CubeListBuilder.create().texOffs(36, 104).addBox(-4.5F, -16.5F, -8.0437F, 9.0F, 8.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone280 = bone279.addOrReplaceChild("bone280", CubeListBuilder.create().texOffs(36, 104).addBox(-4.5F, -16.5F, -8.0437F, 9.0F, 8.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone280 = bone279.addOrReplaceChild("bone280", CubeListBuilder.create().texOffs(36, 104).addBox(-4.5F, -16.5F, -8.0437F, 9.0F, 8.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone281 = bone280.addOrReplaceChild("bone281", CubeListBuilder.create().texOffs(36, 104).addBox(-4.5F, -16.5F, -8.0437F, 9.0F, 8.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone281 = bone280.addOrReplaceChild("bone281", CubeListBuilder.create().texOffs(36, 104).addBox(-4.5F, -16.5F, -8.0437F, 9.0F, 8.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone282 = bone281.addOrReplaceChild("bone282", CubeListBuilder.create().texOffs(36, 104).addBox(-4.5F, -16.5F, -8.0437F, 9.0F, 8.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone282 = bone281.addOrReplaceChild("bone282", CubeListBuilder.create().texOffs(36, 104).addBox(-4.5F, -16.5F, -8.0437F, 9.0F, 8.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition anim_parts = partdefinition.addOrReplaceChild("anim_parts", CubeListBuilder.create(), PartPose.offset(0.0F, 24.0F, 0.0F)); + PartDefinition anim_parts = partdefinition.addOrReplaceChild("anim_parts", CubeListBuilder.create(), PartPose.offset(0.0F, 24.0F, 0.0F)); - PartDefinition rotorparticles = anim_parts.addOrReplaceChild("rotorparticles", CubeListBuilder.create(), PartPose.offset(0.0F, 0.0F, 0.0F)); + PartDefinition rotorparticles = anim_parts.addOrReplaceChild("rotorparticles", CubeListBuilder.create(), PartPose.offset(0.0F, 0.0F, 0.0F)); - PartDefinition bone8 = rotorparticles.addOrReplaceChild("bone8", CubeListBuilder.create(), PartPose.offset(0.0F, -17.5F, 0.25F)); + PartDefinition bone8 = rotorparticles.addOrReplaceChild("bone8", CubeListBuilder.create(), PartPose.offset(0.0F, -17.5F, 0.25F)); - PartDefinition bone19 = bone8.addOrReplaceChild("bone19", CubeListBuilder.create().texOffs(83, 107).addBox(-1.5F, -0.5F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(83, 107).addBox(0.5F, 2.5F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(-0.5F, -11.975F, -6.9437F)); + PartDefinition bone19 = bone8.addOrReplaceChild("bone19", CubeListBuilder.create().texOffs(83, 107).addBox(-1.5F, -0.5F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(83, 107).addBox(0.5F, 2.5F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(-0.5F, -11.975F, -6.9437F)); - PartDefinition bone34 = bone8.addOrReplaceChild("bone34", CubeListBuilder.create().texOffs(83, 107).addBox(-0.5F, -0.5F, 0.25F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.25F)), PartPose.offset(1.5F, -10.975F, -6.6937F)); + PartDefinition bone34 = bone8.addOrReplaceChild("bone34", CubeListBuilder.create().texOffs(83, 107).addBox(-0.5F, -0.5F, 0.25F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.25F)), PartPose.offset(1.5F, -10.975F, -6.6937F)); - PartDefinition bone117 = rotorparticles.addOrReplaceChild("bone117", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -17.5F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone117 = rotorparticles.addOrReplaceChild("bone117", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -17.5F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone118 = bone117.addOrReplaceChild("bone118", CubeListBuilder.create().texOffs(83, 107).addBox(-1.5F, -0.5F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(83, 107).addBox(0.5F, 2.5F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(1.5F, -10.975F, -6.6937F)); + PartDefinition bone118 = bone117.addOrReplaceChild("bone118", CubeListBuilder.create().texOffs(83, 107).addBox(-1.5F, -0.5F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(83, 107).addBox(0.5F, 2.5F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(1.5F, -10.975F, -6.6937F)); - PartDefinition bone119 = bone117.addOrReplaceChild("bone119", CubeListBuilder.create().texOffs(83, 107).addBox(-0.5F, -0.5F, 0.25F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.25F)), PartPose.offset(-1.5F, -11.475F, -6.4437F)); + PartDefinition bone119 = bone117.addOrReplaceChild("bone119", CubeListBuilder.create().texOffs(83, 107).addBox(-0.5F, -0.5F, 0.25F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.25F)), PartPose.offset(-1.5F, -11.475F, -6.4437F)); - PartDefinition bone126 = rotorparticles.addOrReplaceChild("bone126", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -17.5F, 0.0F, 0.0F, -2.0944F, 0.0F)); + PartDefinition bone126 = rotorparticles.addOrReplaceChild("bone126", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -17.5F, 0.0F, 0.0F, -2.0944F, 0.0F)); - PartDefinition bone127 = bone126.addOrReplaceChild("bone127", CubeListBuilder.create().texOffs(83, 107).addBox(-1.5F, -0.5F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(83, 107).addBox(0.5F, 2.5F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(1.5F, -10.975F, -6.6937F)); + PartDefinition bone127 = bone126.addOrReplaceChild("bone127", CubeListBuilder.create().texOffs(83, 107).addBox(-1.5F, -0.5F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(83, 107).addBox(0.5F, 2.5F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(1.5F, -10.975F, -6.6937F)); - PartDefinition bone128 = bone126.addOrReplaceChild("bone128", CubeListBuilder.create().texOffs(83, 107).addBox(-0.5F, -0.5F, 0.25F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.25F)), PartPose.offset(-1.5F, -11.475F, -6.4437F)); + PartDefinition bone128 = bone126.addOrReplaceChild("bone128", CubeListBuilder.create().texOffs(83, 107).addBox(-0.5F, -0.5F, 0.25F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.25F)), PartPose.offset(-1.5F, -11.475F, -6.4437F)); - PartDefinition bone129 = rotorparticles.addOrReplaceChild("bone129", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -17.5F, 0.25F, 0.0F, 3.1416F, 0.0F)); + PartDefinition bone129 = rotorparticles.addOrReplaceChild("bone129", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -17.5F, 0.25F, 0.0F, 3.1416F, 0.0F)); - PartDefinition bone130 = bone129.addOrReplaceChild("bone130", CubeListBuilder.create().texOffs(83, 107).addBox(-1.5F, -0.5F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(83, 107).addBox(0.5F, 2.5F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(-0.5F, -11.975F, -6.4437F)); + PartDefinition bone130 = bone129.addOrReplaceChild("bone130", CubeListBuilder.create().texOffs(83, 107).addBox(-1.5F, -0.5F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(83, 107).addBox(0.5F, 2.5F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(-0.5F, -11.975F, -6.4437F)); - PartDefinition bone131 = bone129.addOrReplaceChild("bone131", CubeListBuilder.create().texOffs(83, 107).addBox(-0.5F, -0.5F, 0.25F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.25F)), PartPose.offset(1.5F, -10.975F, -6.6937F)); + PartDefinition bone131 = bone129.addOrReplaceChild("bone131", CubeListBuilder.create().texOffs(83, 107).addBox(-0.5F, -0.5F, 0.25F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.25F)), PartPose.offset(1.5F, -10.975F, -6.6937F)); - PartDefinition bone132 = rotorparticles.addOrReplaceChild("bone132", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -17.5F, 0.25F, 0.0F, 2.0944F, 0.0F)); + PartDefinition bone132 = rotorparticles.addOrReplaceChild("bone132", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -17.5F, 0.25F, 0.0F, 2.0944F, 0.0F)); - PartDefinition bone133 = bone132.addOrReplaceChild("bone133", CubeListBuilder.create().texOffs(83, 107).addBox(-1.5F, -0.5F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(83, 107).addBox(0.5F, 2.5F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(-0.5F, -11.975F, -6.4437F)); + PartDefinition bone133 = bone132.addOrReplaceChild("bone133", CubeListBuilder.create().texOffs(83, 107).addBox(-1.5F, -0.5F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(83, 107).addBox(0.5F, 2.5F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(-0.5F, -11.975F, -6.4437F)); - PartDefinition bone134 = bone132.addOrReplaceChild("bone134", CubeListBuilder.create().texOffs(83, 107).addBox(-0.5F, -0.5F, 0.25F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.25F)), PartPose.offset(1.5F, -10.975F, -6.6937F)); + PartDefinition bone134 = bone132.addOrReplaceChild("bone134", CubeListBuilder.create().texOffs(83, 107).addBox(-0.5F, -0.5F, 0.25F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.25F)), PartPose.offset(1.5F, -10.975F, -6.6937F)); - PartDefinition bone135 = rotorparticles.addOrReplaceChild("bone135", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -17.5F, 0.25F, 0.0F, 1.0472F, 0.0F)); + PartDefinition bone135 = rotorparticles.addOrReplaceChild("bone135", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -17.5F, 0.25F, 0.0F, 1.0472F, 0.0F)); - PartDefinition bone136 = bone135.addOrReplaceChild("bone136", CubeListBuilder.create().texOffs(83, 107).addBox(-1.5F, -0.5F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(83, 107).addBox(0.5F, 2.5F, 0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(-0.5F, -11.975F, -6.9437F)); + PartDefinition bone136 = bone135.addOrReplaceChild("bone136", CubeListBuilder.create().texOffs(83, 107).addBox(-1.5F, -0.5F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(83, 107).addBox(0.5F, 2.5F, 0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(-0.5F, -11.975F, -6.9437F)); - PartDefinition bone137 = bone135.addOrReplaceChild("bone137", CubeListBuilder.create().texOffs(83, 107).addBox(-0.5F, -0.5F, 0.25F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.25F)), PartPose.offset(1.5F, -10.975F, -6.6937F)); + PartDefinition bone137 = bone135.addOrReplaceChild("bone137", CubeListBuilder.create().texOffs(83, 107).addBox(-0.5F, -0.5F, 0.25F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.25F)), PartPose.offset(1.5F, -10.975F, -6.6937F)); - PartDefinition under_wires = anim_parts.addOrReplaceChild("under_wires", CubeListBuilder.create(), PartPose.offset(0.0F, 0.0F, 0.0F)); + PartDefinition under_wires = anim_parts.addOrReplaceChild("under_wires", CubeListBuilder.create(), PartPose.offset(0.0F, 0.0F, 0.0F)); - PartDefinition bone235 = under_wires.addOrReplaceChild("bone235", CubeListBuilder.create(), PartPose.offset(0.0F, -8.75F, -17.0508F)); + PartDefinition bone235 = under_wires.addOrReplaceChild("bone235", CubeListBuilder.create(), PartPose.offset(0.0F, -8.75F, -17.0508F)); - PartDefinition bone233 = bone235.addOrReplaceChild("bone233", CubeListBuilder.create().texOffs(49, 35).addBox(-11.0F, -2.75F, -2.125F, 22.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(92, 57).addBox(-6.5F, 2.75F, 1.125F, 13.0F, 5.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 1.0F, 0.0F)); + PartDefinition bone233 = bone235.addOrReplaceChild("bone233", CubeListBuilder.create().texOffs(49, 35).addBox(-11.0F, -2.75F, -2.125F, 22.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(92, 57).addBox(-6.5F, 2.75F, 1.125F, 13.0F, 5.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 1.0F, 0.0F)); - PartDefinition bone140 = under_wires.addOrReplaceChild("bone140", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -15.0F, 0.0F, 0.0F, 2.0944F, 0.0F)); + PartDefinition bone140 = under_wires.addOrReplaceChild("bone140", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -15.0F, 0.0F, 0.0F, 2.0944F, 0.0F)); - PartDefinition bone238 = bone140.addOrReplaceChild("bone238", CubeListBuilder.create().texOffs(49, 35).addBox(-11.0F, -2.75F, -2.125F, 22.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(92, 57).addBox(-6.5F, 2.75F, 1.125F, 13.0F, 5.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 7.25F, -17.0508F)); + PartDefinition bone238 = bone140.addOrReplaceChild("bone238", CubeListBuilder.create().texOffs(49, 35).addBox(-11.0F, -2.75F, -2.125F, 22.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(92, 57).addBox(-6.5F, 2.75F, 1.125F, 13.0F, 5.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 7.25F, -17.0508F)); - PartDefinition bone141 = under_wires.addOrReplaceChild("bone141", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -15.0F, 0.0F, 0.0F, 1.0472F, 0.0F)); + PartDefinition bone141 = under_wires.addOrReplaceChild("bone141", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -15.0F, 0.0F, 0.0F, 1.0472F, 0.0F)); - PartDefinition bone239 = bone141.addOrReplaceChild("bone239", CubeListBuilder.create().texOffs(49, 35).addBox(-11.0F, -2.75F, -2.125F, 22.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(92, 57).addBox(-6.5F, 2.75F, 1.125F, 13.0F, 5.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 7.25F, -17.0508F)); + PartDefinition bone239 = bone141.addOrReplaceChild("bone239", CubeListBuilder.create().texOffs(49, 35).addBox(-11.0F, -2.75F, -2.125F, 22.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(92, 57).addBox(-6.5F, 2.75F, 1.125F, 13.0F, 5.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 7.25F, -17.0508F)); - PartDefinition bone139 = under_wires.addOrReplaceChild("bone139", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -15.0F, 0.0F, 0.0F, 3.1416F, 0.0F)); + PartDefinition bone139 = under_wires.addOrReplaceChild("bone139", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -15.0F, 0.0F, 0.0F, 3.1416F, 0.0F)); - PartDefinition bone237 = bone139.addOrReplaceChild("bone237", CubeListBuilder.create().texOffs(49, 35).addBox(-11.0F, -2.75F, -2.125F, 22.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(92, 57).addBox(-6.5F, 2.75F, 1.125F, 13.0F, 5.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 7.25F, -17.0508F)); + PartDefinition bone237 = bone139.addOrReplaceChild("bone237", CubeListBuilder.create().texOffs(49, 35).addBox(-11.0F, -2.75F, -2.125F, 22.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(92, 57).addBox(-6.5F, 2.75F, 1.125F, 13.0F, 5.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 7.25F, -17.0508F)); - PartDefinition bone142 = under_wires.addOrReplaceChild("bone142", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -15.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone142 = under_wires.addOrReplaceChild("bone142", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -15.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone234 = bone142.addOrReplaceChild("bone234", CubeListBuilder.create().texOffs(49, 35).addBox(-11.0F, -2.75F, -2.125F, 22.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(92, 57).addBox(-6.5F, 2.75F, 1.125F, 13.0F, 5.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 7.25F, -17.0508F)); + PartDefinition bone234 = bone142.addOrReplaceChild("bone234", CubeListBuilder.create().texOffs(49, 35).addBox(-11.0F, -2.75F, -2.125F, 22.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(92, 57).addBox(-6.5F, 2.75F, 1.125F, 13.0F, 5.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 7.25F, -17.0508F)); - PartDefinition bone138 = under_wires.addOrReplaceChild("bone138", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -15.0F, 0.0F, 0.0F, -2.0944F, 0.0F)); + PartDefinition bone138 = under_wires.addOrReplaceChild("bone138", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -15.0F, 0.0F, 0.0F, -2.0944F, 0.0F)); - PartDefinition bone236 = bone138.addOrReplaceChild("bone236", CubeListBuilder.create().texOffs(49, 35).addBox(-11.0F, -2.75F, -2.125F, 22.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(92, 57).addBox(-6.5F, 2.75F, 1.125F, 13.0F, 5.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 7.25F, -17.0508F)); + PartDefinition bone236 = bone138.addOrReplaceChild("bone236", CubeListBuilder.create().texOffs(49, 35).addBox(-11.0F, -2.75F, -2.125F, 22.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(92, 57).addBox(-6.5F, 2.75F, 1.125F, 13.0F, 5.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 7.25F, -17.0508F)); - PartDefinition panels = anim_parts.addOrReplaceChild("panels", CubeListBuilder.create(), PartPose.offset(0.0F, -13.0F, 1.5F)); + PartDefinition panels = anim_parts.addOrReplaceChild("panels", CubeListBuilder.create(), PartPose.offset(0.0F, -13.0F, 1.5F)); - PartDefinition bone20 = panels.addOrReplaceChild("bone20", CubeListBuilder.create(), PartPose.offset(0.0F, 0.0F, -1.5F)); + PartDefinition bone20 = panels.addOrReplaceChild("bone20", CubeListBuilder.create(), PartPose.offset(0.0F, 0.0F, -1.5F)); - PartDefinition bone240 = bone20.addOrReplaceChild("bone240", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -1.0F, -21.4258F, 0.5672F, 0.0F, 0.0F)); + PartDefinition bone240 = bone20.addOrReplaceChild("bone240", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -1.0F, -21.4258F, 0.5672F, 0.0F, 0.0F)); - PartDefinition bone284 = bone240.addOrReplaceChild("bone284", CubeListBuilder.create().texOffs(133, 0).addBox(-9.5F, -0.25F, -3.5F, 19.0F, 1.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.2F, 3.5F)); + PartDefinition bone284 = bone240.addOrReplaceChild("bone284", CubeListBuilder.create().texOffs(133, 0).addBox(-9.5F, -0.25F, -3.5F, 19.0F, 1.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.2F, 3.5F)); - PartDefinition bone283 = bone240.addOrReplaceChild("bone283", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 7.0F, -0.3054F, 0.0F, 0.0F)); + PartDefinition bone283 = bone240.addOrReplaceChild("bone283", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 7.0F, -0.3054F, 0.0F, 0.0F)); - PartDefinition bone285 = bone283.addOrReplaceChild("bone285", CubeListBuilder.create().texOffs(134, 9).addBox(-8.5F, -0.25F, -4.25F, 17.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.2F, 4.25F)); + PartDefinition bone285 = bone283.addOrReplaceChild("bone285", CubeListBuilder.create().texOffs(134, 9).addBox(-8.5F, -0.25F, -4.25F, 17.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.2F, 4.25F)); - PartDefinition bone286 = panels.addOrReplaceChild("bone286", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, -1.5F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone286 = panels.addOrReplaceChild("bone286", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, -1.5F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone287 = bone286.addOrReplaceChild("bone287", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -1.0F, -21.4258F, 0.5672F, 0.0F, 0.0F)); + PartDefinition bone287 = bone286.addOrReplaceChild("bone287", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -1.0F, -21.4258F, 0.5672F, 0.0F, 0.0F)); - PartDefinition bone288 = bone287.addOrReplaceChild("bone288", CubeListBuilder.create().texOffs(133, 0).addBox(-9.5F, -0.25F, -3.5F, 19.0F, 1.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.2F, 3.5F)); + PartDefinition bone288 = bone287.addOrReplaceChild("bone288", CubeListBuilder.create().texOffs(133, 0).addBox(-9.5F, -0.25F, -3.5F, 19.0F, 1.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.2F, 3.5F)); - PartDefinition bone289 = bone287.addOrReplaceChild("bone289", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 7.0F, -0.3054F, 0.0F, 0.0F)); + PartDefinition bone289 = bone287.addOrReplaceChild("bone289", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 7.0F, -0.3054F, 0.0F, 0.0F)); - PartDefinition bone290 = bone289.addOrReplaceChild("bone290", CubeListBuilder.create().texOffs(134, 9).addBox(-8.5F, -0.25F, -4.25F, 17.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.2F, 4.25F)); + PartDefinition bone290 = bone289.addOrReplaceChild("bone290", CubeListBuilder.create().texOffs(134, 9).addBox(-8.5F, -0.25F, -4.25F, 17.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.2F, 4.25F)); - PartDefinition bone291 = panels.addOrReplaceChild("bone291", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, -1.5F, 0.0F, -2.0944F, 0.0F)); + PartDefinition bone291 = panels.addOrReplaceChild("bone291", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, -1.5F, 0.0F, -2.0944F, 0.0F)); - PartDefinition bone292 = bone291.addOrReplaceChild("bone292", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -1.0F, -21.4258F, 0.5672F, 0.0F, 0.0F)); + PartDefinition bone292 = bone291.addOrReplaceChild("bone292", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -1.0F, -21.4258F, 0.5672F, 0.0F, 0.0F)); - PartDefinition bone293 = bone292.addOrReplaceChild("bone293", CubeListBuilder.create().texOffs(133, 0).addBox(-9.5F, -0.25F, -3.5F, 19.0F, 1.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.2F, 3.5F)); + PartDefinition bone293 = bone292.addOrReplaceChild("bone293", CubeListBuilder.create().texOffs(133, 0).addBox(-9.5F, -0.25F, -3.5F, 19.0F, 1.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.2F, 3.5F)); - PartDefinition bone294 = bone292.addOrReplaceChild("bone294", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 7.0F, -0.3054F, 0.0F, 0.0F)); + PartDefinition bone294 = bone292.addOrReplaceChild("bone294", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 7.0F, -0.3054F, 0.0F, 0.0F)); - PartDefinition bone295 = bone294.addOrReplaceChild("bone295", CubeListBuilder.create().texOffs(134, 9).addBox(-8.5F, -0.25F, -4.25F, 17.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.2F, 4.25F)); + PartDefinition bone295 = bone294.addOrReplaceChild("bone295", CubeListBuilder.create().texOffs(134, 9).addBox(-8.5F, -0.25F, -4.25F, 17.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.2F, 4.25F)); - PartDefinition bone296 = panels.addOrReplaceChild("bone296", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, -1.5F, 0.0F, 3.1416F, 0.0F)); + PartDefinition bone296 = panels.addOrReplaceChild("bone296", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, -1.5F, 0.0F, 3.1416F, 0.0F)); - PartDefinition bone297 = bone296.addOrReplaceChild("bone297", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -1.0F, -21.4258F, 0.5672F, 0.0F, 0.0F)); + PartDefinition bone297 = bone296.addOrReplaceChild("bone297", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -1.0F, -21.4258F, 0.5672F, 0.0F, 0.0F)); - PartDefinition bone298 = bone297.addOrReplaceChild("bone298", CubeListBuilder.create().texOffs(133, 0).addBox(-9.5F, -0.25F, -3.5F, 19.0F, 1.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.2F, 3.5F)); + PartDefinition bone298 = bone297.addOrReplaceChild("bone298", CubeListBuilder.create().texOffs(133, 0).addBox(-9.5F, -0.25F, -3.5F, 19.0F, 1.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.2F, 3.5F)); - PartDefinition bone299 = bone297.addOrReplaceChild("bone299", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 7.0F, -0.3054F, 0.0F, 0.0F)); + PartDefinition bone299 = bone297.addOrReplaceChild("bone299", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 7.0F, -0.3054F, 0.0F, 0.0F)); - PartDefinition bone300 = bone299.addOrReplaceChild("bone300", CubeListBuilder.create().texOffs(134, 9).addBox(-8.5F, -0.25F, -4.25F, 17.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.2F, 4.25F)); + PartDefinition bone300 = bone299.addOrReplaceChild("bone300", CubeListBuilder.create().texOffs(134, 9).addBox(-8.5F, -0.25F, -4.25F, 17.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.2F, 4.25F)); - PartDefinition bone301 = panels.addOrReplaceChild("bone301", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, -1.5F, 0.0F, 2.0944F, 0.0F)); + PartDefinition bone301 = panels.addOrReplaceChild("bone301", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, -1.5F, 0.0F, 2.0944F, 0.0F)); - PartDefinition bone302 = bone301.addOrReplaceChild("bone302", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -1.0F, -21.4258F, 0.5672F, 0.0F, 0.0F)); + PartDefinition bone302 = bone301.addOrReplaceChild("bone302", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -1.0F, -21.4258F, 0.5672F, 0.0F, 0.0F)); - PartDefinition bone303 = bone302.addOrReplaceChild("bone303", CubeListBuilder.create().texOffs(133, 0).addBox(-9.5F, -0.25F, -3.5F, 19.0F, 1.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.2F, 3.5F)); + PartDefinition bone303 = bone302.addOrReplaceChild("bone303", CubeListBuilder.create().texOffs(133, 0).addBox(-9.5F, -0.25F, -3.5F, 19.0F, 1.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.2F, 3.5F)); - PartDefinition bone304 = bone302.addOrReplaceChild("bone304", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 7.0F, -0.3054F, 0.0F, 0.0F)); + PartDefinition bone304 = bone302.addOrReplaceChild("bone304", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 7.0F, -0.3054F, 0.0F, 0.0F)); - PartDefinition bone305 = bone304.addOrReplaceChild("bone305", CubeListBuilder.create().texOffs(134, 9).addBox(-8.5F, -0.25F, -4.25F, 17.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.2F, 4.25F)); + PartDefinition bone305 = bone304.addOrReplaceChild("bone305", CubeListBuilder.create().texOffs(134, 9).addBox(-8.5F, -0.25F, -4.25F, 17.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.2F, 4.25F)); - PartDefinition bone306 = panels.addOrReplaceChild("bone306", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, -1.5F, 0.0F, 1.0472F, 0.0F)); + PartDefinition bone306 = panels.addOrReplaceChild("bone306", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, -1.5F, 0.0F, 1.0472F, 0.0F)); - PartDefinition bone307 = bone306.addOrReplaceChild("bone307", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -1.0F, -21.4258F, 0.5672F, 0.0F, 0.0F)); + PartDefinition bone307 = bone306.addOrReplaceChild("bone307", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -1.0F, -21.4258F, 0.5672F, 0.0F, 0.0F)); - PartDefinition bone308 = bone307.addOrReplaceChild("bone308", CubeListBuilder.create().texOffs(133, 0).addBox(-9.5F, -0.25F, -3.5F, 19.0F, 1.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.2F, 3.5F)); + PartDefinition bone308 = bone307.addOrReplaceChild("bone308", CubeListBuilder.create().texOffs(133, 0).addBox(-9.5F, -0.25F, -3.5F, 19.0F, 1.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.2F, 3.5F)); - PartDefinition bone309 = bone307.addOrReplaceChild("bone309", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 7.0F, -0.3054F, 0.0F, 0.0F)); + PartDefinition bone309 = bone307.addOrReplaceChild("bone309", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 7.0F, -0.3054F, 0.0F, 0.0F)); - PartDefinition bone310 = bone309.addOrReplaceChild("bone310", CubeListBuilder.create().texOffs(134, 9).addBox(-8.5F, -0.25F, -4.25F, 17.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.2F, 4.25F)); + PartDefinition bone310 = bone309.addOrReplaceChild("bone310", CubeListBuilder.create().texOffs(134, 9).addBox(-8.5F, -0.25F, -4.25F, 17.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.2F, 4.25F)); - PartDefinition bone322 = anim_parts.addOrReplaceChild("bone322", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -26.3508F, 0.0F, 0.0F, -0.5236F, 0.0F)); + PartDefinition bone322 = anim_parts.addOrReplaceChild("bone322", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -26.3508F, 0.0F, 0.0F, -0.5236F, 0.0F)); - PartDefinition bone323 = bone322.addOrReplaceChild("bone323", CubeListBuilder.create().texOffs(134, 106).addBox(-1.0F, -20.5F, 0.475F, 2.0F, 20.0F, 1.0F, new CubeDeformation(0.5F)), PartPose.offset(0.0F, -1.6492F, -6.6937F)); + PartDefinition bone323 = bone322.addOrReplaceChild("bone323", CubeListBuilder.create().texOffs(134, 106).addBox(-1.0F, -20.5F, 0.475F, 2.0F, 20.0F, 1.0F, new CubeDeformation(0.5F)), PartPose.offset(0.0F, -1.6492F, -6.6937F)); - PartDefinition bone324 = bone322.addOrReplaceChild("bone324", CubeListBuilder.create().texOffs(142, 101).addBox(-1.0F, -21.0F, 0.5F, 2.0F, 19.0F, 1.0F, new CubeDeformation(0.5F)), PartPose.offset(0.0F, -6.1492F, -6.6937F)); + PartDefinition bone324 = bone322.addOrReplaceChild("bone324", CubeListBuilder.create().texOffs(142, 101).addBox(-1.0F, -21.0F, 0.5F, 2.0F, 19.0F, 1.0F, new CubeDeformation(0.5F)), PartPose.offset(0.0F, -6.1492F, -6.6937F)); - PartDefinition bone325 = anim_parts.addOrReplaceChild("bone325", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -26.3508F, 0.0F, 0.0F, -1.5708F, 0.0F)); + PartDefinition bone325 = anim_parts.addOrReplaceChild("bone325", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -26.3508F, 0.0F, 0.0F, -1.5708F, 0.0F)); - PartDefinition bone326 = bone325.addOrReplaceChild("bone326", CubeListBuilder.create().texOffs(134, 106).addBox(-1.0F, -20.5F, 0.475F, 2.0F, 20.0F, 1.0F, new CubeDeformation(0.5F)), PartPose.offset(0.0F, -1.6492F, -6.6937F)); + PartDefinition bone326 = bone325.addOrReplaceChild("bone326", CubeListBuilder.create().texOffs(134, 106).addBox(-1.0F, -20.5F, 0.475F, 2.0F, 20.0F, 1.0F, new CubeDeformation(0.5F)), PartPose.offset(0.0F, -1.6492F, -6.6937F)); - PartDefinition bone327 = bone325.addOrReplaceChild("bone327", CubeListBuilder.create().texOffs(142, 101).addBox(-1.0F, -21.0F, 0.5F, 2.0F, 19.0F, 1.0F, new CubeDeformation(0.5F)), PartPose.offset(0.0F, -6.1492F, -6.6937F)); + PartDefinition bone327 = bone325.addOrReplaceChild("bone327", CubeListBuilder.create().texOffs(142, 101).addBox(-1.0F, -21.0F, 0.5F, 2.0F, 19.0F, 1.0F, new CubeDeformation(0.5F)), PartPose.offset(0.0F, -6.1492F, -6.6937F)); - PartDefinition bone328 = anim_parts.addOrReplaceChild("bone328", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -26.3508F, 0.0F, 0.0F, -2.618F, 0.0F)); + PartDefinition bone328 = anim_parts.addOrReplaceChild("bone328", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -26.3508F, 0.0F, 0.0F, -2.618F, 0.0F)); - PartDefinition bone329 = bone328.addOrReplaceChild("bone329", CubeListBuilder.create().texOffs(134, 106).addBox(-1.0F, -20.5F, 0.475F, 2.0F, 20.0F, 1.0F, new CubeDeformation(0.5F)), PartPose.offset(0.0F, -1.6492F, -6.6937F)); + PartDefinition bone329 = bone328.addOrReplaceChild("bone329", CubeListBuilder.create().texOffs(134, 106).addBox(-1.0F, -20.5F, 0.475F, 2.0F, 20.0F, 1.0F, new CubeDeformation(0.5F)), PartPose.offset(0.0F, -1.6492F, -6.6937F)); - PartDefinition bone330 = bone328.addOrReplaceChild("bone330", CubeListBuilder.create().texOffs(142, 101).addBox(-1.0F, -21.0F, 0.5F, 2.0F, 19.0F, 1.0F, new CubeDeformation(0.5F)), PartPose.offset(0.0F, -6.1492F, -6.6937F)); + PartDefinition bone330 = bone328.addOrReplaceChild("bone330", CubeListBuilder.create().texOffs(142, 101).addBox(-1.0F, -21.0F, 0.5F, 2.0F, 19.0F, 1.0F, new CubeDeformation(0.5F)), PartPose.offset(0.0F, -6.1492F, -6.6937F)); - PartDefinition bone331 = anim_parts.addOrReplaceChild("bone331", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -26.3508F, 0.0F, 0.0F, 2.618F, 0.0F)); + PartDefinition bone331 = anim_parts.addOrReplaceChild("bone331", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -26.3508F, 0.0F, 0.0F, 2.618F, 0.0F)); - PartDefinition bone332 = bone331.addOrReplaceChild("bone332", CubeListBuilder.create().texOffs(134, 106).addBox(-1.0F, -20.5F, 0.475F, 2.0F, 20.0F, 1.0F, new CubeDeformation(0.5F)), PartPose.offset(0.0F, -1.6492F, -6.6937F)); + PartDefinition bone332 = bone331.addOrReplaceChild("bone332", CubeListBuilder.create().texOffs(134, 106).addBox(-1.0F, -20.5F, 0.475F, 2.0F, 20.0F, 1.0F, new CubeDeformation(0.5F)), PartPose.offset(0.0F, -1.6492F, -6.6937F)); - PartDefinition bone333 = bone331.addOrReplaceChild("bone333", CubeListBuilder.create().texOffs(142, 101).addBox(-1.0F, -21.0F, 0.5F, 2.0F, 19.0F, 1.0F, new CubeDeformation(0.5F)), PartPose.offset(0.0F, -6.1492F, -6.6937F)); + PartDefinition bone333 = bone331.addOrReplaceChild("bone333", CubeListBuilder.create().texOffs(142, 101).addBox(-1.0F, -21.0F, 0.5F, 2.0F, 19.0F, 1.0F, new CubeDeformation(0.5F)), PartPose.offset(0.0F, -6.1492F, -6.6937F)); - PartDefinition bone334 = anim_parts.addOrReplaceChild("bone334", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -26.3508F, 0.0F, 0.0F, 1.5708F, 0.0F)); + PartDefinition bone334 = anim_parts.addOrReplaceChild("bone334", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -26.3508F, 0.0F, 0.0F, 1.5708F, 0.0F)); - PartDefinition bone335 = bone334.addOrReplaceChild("bone335", CubeListBuilder.create().texOffs(134, 106).addBox(-1.0F, -20.5F, 0.475F, 2.0F, 20.0F, 1.0F, new CubeDeformation(0.5F)), PartPose.offset(0.0F, -1.6492F, -6.6937F)); + PartDefinition bone335 = bone334.addOrReplaceChild("bone335", CubeListBuilder.create().texOffs(134, 106).addBox(-1.0F, -20.5F, 0.475F, 2.0F, 20.0F, 1.0F, new CubeDeformation(0.5F)), PartPose.offset(0.0F, -1.6492F, -6.6937F)); - PartDefinition bone336 = bone334.addOrReplaceChild("bone336", CubeListBuilder.create().texOffs(142, 101).addBox(-1.0F, -21.0F, 0.5F, 2.0F, 19.0F, 1.0F, new CubeDeformation(0.5F)), PartPose.offset(0.0F, -6.1492F, -6.6937F)); + PartDefinition bone336 = bone334.addOrReplaceChild("bone336", CubeListBuilder.create().texOffs(142, 101).addBox(-1.0F, -21.0F, 0.5F, 2.0F, 19.0F, 1.0F, new CubeDeformation(0.5F)), PartPose.offset(0.0F, -6.1492F, -6.6937F)); - PartDefinition bone337 = anim_parts.addOrReplaceChild("bone337", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -26.3508F, 0.0F, 0.0F, 0.5236F, 0.0F)); + PartDefinition bone337 = anim_parts.addOrReplaceChild("bone337", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -26.3508F, 0.0F, 0.0F, 0.5236F, 0.0F)); - PartDefinition bone338 = bone337.addOrReplaceChild("bone338", CubeListBuilder.create().texOffs(134, 106).addBox(-1.0F, -20.5F, 0.475F, 2.0F, 20.0F, 1.0F, new CubeDeformation(0.5F)), PartPose.offset(0.0F, -1.6492F, -6.6937F)); + PartDefinition bone338 = bone337.addOrReplaceChild("bone338", CubeListBuilder.create().texOffs(134, 106).addBox(-1.0F, -20.5F, 0.475F, 2.0F, 20.0F, 1.0F, new CubeDeformation(0.5F)), PartPose.offset(0.0F, -1.6492F, -6.6937F)); - PartDefinition bone339 = bone337.addOrReplaceChild("bone339", CubeListBuilder.create().texOffs(142, 101).addBox(-1.0F, -21.0F, 0.5F, 2.0F, 19.0F, 1.0F, new CubeDeformation(0.5F)), PartPose.offset(0.0F, -6.1492F, -6.6937F)); + PartDefinition bone339 = bone337.addOrReplaceChild("bone339", CubeListBuilder.create().texOffs(142, 101).addBox(-1.0F, -21.0F, 0.5F, 2.0F, 19.0F, 1.0F, new CubeDeformation(0.5F)), PartPose.offset(0.0F, -6.1492F, -6.6937F)); - return LayerDefinition.create(meshdefinition, 256, 256); - } + 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) { - base_console.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - anim_parts.render(poseStack, vertexConsumer, 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) { + base_console.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + anim_parts.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + } - @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); + @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()); + 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); - } else { - if (TRConfig.CLIENT.PLAY_CONSOLE_IDLE_ANIMATIONS.get() && globalConsoleBlock != null) { - this.animate(globalConsoleBlock.liveliness, IDLE, Minecraft.getInstance().player.tickCount); - } - } - } + if (globalConsoleBlock != null && globalConsoleBlock.getBlockState().getValue(GlobalConsoleBlock.POWERED)) { + if (reactions.isFlying()) { + this.animate(reactions.ROTOR_ANIMATION, FLIGHT, Minecraft.getInstance().player.tickCount); + } else { + if (TRConfig.CLIENT.PLAY_CONSOLE_IDLE_ANIMATIONS.get() && globalConsoleBlock != null) { + this.animate(globalConsoleBlock.liveliness, IDLE, Minecraft.getInstance().player.tickCount); + } + } + } - float rot = 0f + ( 2f * ((float)reactions.getThrottleStage() / TardisPilotingManager.MAX_THROTTLE_STAGE)); - this.throttle.xRot = rot; + float rot = 0f + (2f * ((float) reactions.getThrottleStage() / TardisPilotingManager.MAX_THROTTLE_STAGE)); + this.throttle.xRot = rot; - this.handbrake.xRot = !reactions.isHandbrakeEngaged() ? 1f : -0.25f; + this.handbrake.xRot = !reactions.isHandbrakeEngaged() ? 1f : -0.25f; - base_console.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - anim_parts.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - } + base_console.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + anim_parts.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + } - @Override - public ResourceLocation getConsoleTheme() { - return ConsoleTheme.CORAL.getId(); - } + @Override + public ResourceLocation getConsoleTheme() { + return ConsoleTheme.CORAL.getId(); + } - @Override - public ResourceLocation getDefaultTexture() { - return CORAL_TEXTURE; - } + @Override + public ResourceLocation getDefaultTexture() { + return CORAL_TEXTURE; + } - @Override - public ModelPart root() { - return this.root; - } + @Override + public ModelPart root() { + return this.root; + } - @Override - public void setupAnim(Entity entity, float f, float g, float h, float i, float j) { + @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/console/CrystalConsoleModel.java b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/console/CrystalConsoleModel.java index a068043cb..20a12a033 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 @@ -5,10 +5,10 @@ // Paste this class into your mod and generate all required imports -import net.minecraft.client.model.HierarchicalModel; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; import net.minecraft.client.Minecraft; +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.*; @@ -26,6 +26,7 @@ public class CrystalConsoleModel extends HierarchicalModel implements ConsoleUnit { + private static final ResourceLocation CRYSTAL_TEXTURE = new ResourceLocation(TardisRefined.MODID, "textures/blockentity/console/crystal/crystal_console.png"); private final ModelPart base_control; private final ModelPart rotor; private final ModelPart rotor_purple; @@ -36,8 +37,6 @@ public class CrystalConsoleModel extends HierarchicalModel implements ConsoleUni private final ModelPart throttle; private final ModelPart handbrake; - private static final ResourceLocation CRYSTAL_TEXTURE = new ResourceLocation(TardisRefined.MODID, "textures/blockentity/console/crystal/crystal_console.png"); - public CrystalConsoleModel(ModelPart root) { this.root = root; this.base_control = root.getChild("base_control"); @@ -813,8 +812,7 @@ public void renderConsole(GlobalConsoleBlockEntity globalConsoleBlock, Level lev } - - float rot = -0.5f + ( 0.5f * ((float)reactions.getThrottleStage() / TardisPilotingManager.MAX_THROTTLE_STAGE)); + float rot = -0.5f + (0.5f * ((float) reactions.getThrottleStage() / TardisPilotingManager.MAX_THROTTLE_STAGE)); this.throttle.xRot = rot; 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 2a60b0625..ec5eb6ba3 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 @@ -11,8 +11,6 @@ import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.model.geom.PartPose; import net.minecraft.client.model.geom.builders.*; -import net.minecraft.client.renderer.MultiBufferSource; -import net.minecraft.client.renderer.RenderType; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.entity.Entity; import net.minecraft.world.level.Level; @@ -26,2277 +24,2273 @@ public class FactoryConsoleModel extends HierarchicalModel implements ConsoleUnit { - private final ModelPart root; - private final ModelPart throttleLever; - private final ModelPart handbrake; - - private static final ResourceLocation FACTORY_TEXTURE = new ResourceLocation(TardisRefined.MODID, "textures/blockentity/console/factory/factory_console.png"); - - - public static final AnimationDefinition IDLE = AnimationDefinition.Builder.withLength(10f).looping() - .addAnimation("dialspin", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1f, KeyframeAnimations.degreeVec(0f, 32.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.56f, KeyframeAnimations.degreeVec(0f, 7.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.84f, KeyframeAnimations.degreeVec(0f, 70f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.36f, KeyframeAnimations.degreeVec(0f, 55f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.44f, KeyframeAnimations.degreeVec(0f, 92.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7f, KeyframeAnimations.degreeVec(0f, 52.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8.12f, KeyframeAnimations.degreeVec(0f, 7.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8.56f, KeyframeAnimations.degreeVec(0f, 22.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(9.2f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(9.52f, KeyframeAnimations.degreeVec(0f, -10f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(9.84f, KeyframeAnimations.degreeVec(0f, -2.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("dialspin2", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(0.88f, KeyframeAnimations.degreeVec(0f, -25f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.08f, KeyframeAnimations.degreeVec(0f, 10f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.56f, KeyframeAnimations.degreeVec(0f, -20f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.32f, KeyframeAnimations.degreeVec(0f, 17.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7.24f, KeyframeAnimations.degreeVec(0f, -27.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8.76f, KeyframeAnimations.degreeVec(0f, 10f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("dialspin3", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(0.4f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.24f, KeyframeAnimations.degreeVec(0f, 11.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.2f, KeyframeAnimations.degreeVec(0f, 5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.88f, KeyframeAnimations.degreeVec(0f, 10.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.48f, KeyframeAnimations.degreeVec(0f, 5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.08f, KeyframeAnimations.degreeVec(0f, -9f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.92f, KeyframeAnimations.degreeVec(0f, 10.96f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.12f, KeyframeAnimations.degreeVec(0f, 11.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7.64f, KeyframeAnimations.degreeVec(0f, 8f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8.88f, KeyframeAnimations.degreeVec(0f, -6f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(9.92f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("dialspin4", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(0.68f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.72f, KeyframeAnimations.degreeVec(0f, 13.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.48f, KeyframeAnimations.degreeVec(0f, 5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.4f, KeyframeAnimations.degreeVec(0f, 5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.36f, KeyframeAnimations.degreeVec(0f, -14f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.36f, KeyframeAnimations.degreeVec(0f, 10.96f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.56f, KeyframeAnimations.degreeVec(0f, -21.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8.16f, KeyframeAnimations.degreeVec(0f, -15f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(9.32f, KeyframeAnimations.degreeVec(0f, -14.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(9.92f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone168", - 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(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.24f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.28f, 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.2f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.24f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone170", - 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(6f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(6.04f, 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("bone172", - 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), - new Keyframe(8.24f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.28f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.2f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.24f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone173", - 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(7.44f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(7.48f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.4f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.44f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone177", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5f, KeyframeAnimations.posVec(2.5f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone178", - 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(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(7.44f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(7.48f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.4f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.44f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone181", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(1.4f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.44f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.72f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.76f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - 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(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.12f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.16f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.44f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.48f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(6.4f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(6.44f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.68f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.72f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone182", - 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.72f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.76f, 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(3.44f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.48f, 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), - new Keyframe(7.84f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(7.88f, 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("bone186", - 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.32f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.36f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.88f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.92f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.2f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.24f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - 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(2.04f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.08f, 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(7.28f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(7.32f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone188", - 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.24f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.28f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.2f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.24f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.28f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.32f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.76f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.8f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(6.24f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(6.28f, 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.16f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.2f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone192", - new AnimationChannel(AnimationChannel.Targets.POSITION, - 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.24f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.28f, 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.24f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.28f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone194", - 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(3.24f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.28f, 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(8.24f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.28f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone205", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(4.24f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.28f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.48f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.52f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(7.92f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(7.96f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.16f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.2f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone217", - 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(1.36f, KeyframeAnimations.scaleVec(1.05f, 1.05f, 1.05f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.4f, 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(5.36f, KeyframeAnimations.scaleVec(1.05f, 1.05f, 1.05f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.4f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(7.88f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(7.92f, KeyframeAnimations.scaleVec(1.05f, 1.05f, 1.05f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.24f, KeyframeAnimations.scaleVec(1.05f, 1.05f, 1.05f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.28f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone218", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(1.12f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.16f, KeyframeAnimations.scaleVec(1.05f, 1.05f, 1.05f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.48f, KeyframeAnimations.scaleVec(1.05f, 1.05f, 1.05f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.52f, 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.8f, KeyframeAnimations.scaleVec(1.05f, 1.05f, 1.05f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.84f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(7.44f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(7.48f, KeyframeAnimations.scaleVec(1.05f, 1.05f, 1.05f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.8f, KeyframeAnimations.scaleVec(1.05f, 1.05f, 1.05f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.84f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone219", - 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(1.36f, KeyframeAnimations.scaleVec(1.05f, 1.05f, 1.05f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.4f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.08f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.12f, KeyframeAnimations.scaleVec(1.05f, 1.05f, 1.05f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.44f, KeyframeAnimations.scaleVec(1.05f, 1.05f, 1.05f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.48f, 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.05f, 1.05f, 1.05f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.56f, KeyframeAnimations.scaleVec(1.05f, 1.05f, 1.05f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.6f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone220", - 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.68f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.72f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.08f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.12f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.92f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.96f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.72f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.76f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.56f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.6f, 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(6.04f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(6.08f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(7.04f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(7.08f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.48f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.52f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.48f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.52f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone221", - 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.48f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.52f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.72f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.76f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.48f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.52f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(6.76f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(6.8f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.12f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.16f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.8f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.84f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone222", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0.56f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.6f, 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), - new Keyframe(2.48f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.52f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.72f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.76f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.08f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.12f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(6.68f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(6.72f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.04f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.08f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.68f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.72f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone223", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(1.04f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.08f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.4f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.44f, 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(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.76f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(6.8f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(7.68f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(7.72f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.08f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.12f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.04f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone224", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.04f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - 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(3.76f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.8f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.12f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.16f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.48f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.52f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.84f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.88f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone225", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0.88f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.92f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.24f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.28f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.2f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.24f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(7.04f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(7.08f, 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), - new Keyframe(9.48f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.52f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone226", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0.52f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.56f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - 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.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.32f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.36f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(6f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(6.04f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.04f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR))).build(); - public static final AnimationDefinition FLIGHT = AnimationDefinition.Builder.withLength(10f).looping() - .addAnimation("bone62", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("dialspin", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, -27f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1f, KeyframeAnimations.degreeVec(0f, -50.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.48f, KeyframeAnimations.degreeVec(0f, -26.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.4f, KeyframeAnimations.degreeVec(0f, -39f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.52f, KeyframeAnimations.degreeVec(0f, -15f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.52f, KeyframeAnimations.degreeVec(0f, -36.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.64f, KeyframeAnimations.degreeVec(0f, -26.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.84f, KeyframeAnimations.degreeVec(0f, -32.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8.04f, KeyframeAnimations.degreeVec(0f, -13.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8.96f, KeyframeAnimations.degreeVec(0f, -33f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(9.6f, KeyframeAnimations.degreeVec(0f, -26f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.degreeVec(0f, -27f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("dialspin2", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(0.76f, KeyframeAnimations.degreeVec(0f, -22f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.12f, KeyframeAnimations.degreeVec(0f, -14f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.56f, KeyframeAnimations.degreeVec(0f, -20f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.28f, KeyframeAnimations.degreeVec(0f, 46.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6f, KeyframeAnimations.degreeVec(0f, -21.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7.36f, KeyframeAnimations.degreeVec(0f, 2f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(9f, KeyframeAnimations.degreeVec(0f, -15f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("dialspin3", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(0.4f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.04f, KeyframeAnimations.degreeVec(0f, 16.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.16f, KeyframeAnimations.degreeVec(0f, -4.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.84f, KeyframeAnimations.degreeVec(0f, 10f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.44f, KeyframeAnimations.degreeVec(0f, 4.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4f, KeyframeAnimations.degreeVec(0f, -33.25f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.92f, KeyframeAnimations.degreeVec(0f, 10.96f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.56f, KeyframeAnimations.degreeVec(0f, 69.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7.68f, KeyframeAnimations.degreeVec(0f, -1.25f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8.68f, KeyframeAnimations.degreeVec(0f, -15f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(9.28f, KeyframeAnimations.degreeVec(0f, 9.25f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(9.92f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("dialspin4", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(0.68f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.64f, KeyframeAnimations.degreeVec(0f, -63.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.48f, KeyframeAnimations.degreeVec(0f, 5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.4f, KeyframeAnimations.degreeVec(0f, 5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.44f, KeyframeAnimations.degreeVec(0f, -25f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.36f, KeyframeAnimations.degreeVec(0f, 23.46f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.56f, KeyframeAnimations.degreeVec(0f, -28.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8.16f, KeyframeAnimations.degreeVec(0f, -7f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(9.28f, KeyframeAnimations.degreeVec(0f, -14.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(9.92f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone168", - 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(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.24f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.28f, 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.2f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.24f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone170", - 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(6f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(6.04f, 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("bone172", - 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), - new Keyframe(8.24f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.28f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.2f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.24f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone173", - 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(7.44f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(7.48f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.4f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.44f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone177", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.52f, KeyframeAnimations.posVec(2.5f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7.52f, KeyframeAnimations.posVec(2.5f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone178", - 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(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(7.44f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(7.48f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.4f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.44f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone181", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(1.4f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.44f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.72f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.76f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - 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(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.12f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.16f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.44f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.48f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(6.4f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(6.44f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.68f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.72f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone182", - 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.72f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.76f, 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(3.44f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.48f, 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), - new Keyframe(7.84f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(7.88f, 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("bone186", - 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.32f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.36f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.88f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.92f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.2f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.24f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - 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(2.04f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.08f, 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(7.28f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(7.32f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone188", - 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.24f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.28f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.2f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.24f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.28f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.32f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.76f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.8f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(6.24f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(6.28f, 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.16f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.2f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone192", - 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(5.24f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.28f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(7.2f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(7.24f, 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("bone194", - 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(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("bone205", - 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(9f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.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("bone217", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0f, KeyframeAnimations.scaleVec(1.05f, 1.05f, 1.05f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.36f, KeyframeAnimations.scaleVec(1.05f, 1.05f, 1.05f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.4f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.4f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.44f, KeyframeAnimations.scaleVec(1.05f, 1.05f, 1.05f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.28f, KeyframeAnimations.scaleVec(1.05f, 1.05f, 1.05f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.32f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.52f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.56f, KeyframeAnimations.scaleVec(1.05f, 1.05f, 1.05f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.96f, KeyframeAnimations.scaleVec(1.05f, 1.05f, 1.05f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(10f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone218", - 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(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(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(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), - 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("bone219", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0.2f, KeyframeAnimations.scaleVec(1.05f, 1.05f, 1.05f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.56f, KeyframeAnimations.scaleVec(1.05f, 1.05f, 1.05f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.6f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.6f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.64f, KeyframeAnimations.scaleVec(1.05f, 1.05f, 1.05f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.48f, KeyframeAnimations.scaleVec(1.05f, 1.05f, 1.05f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.52f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.2f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.24f, KeyframeAnimations.scaleVec(1.05f, 1.05f, 1.05f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.64f, KeyframeAnimations.scaleVec(1.05f, 1.05f, 1.05f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.68f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone220", - 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.68f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.72f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.08f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.12f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.92f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.96f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.72f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.76f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.56f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.6f, 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(6.04f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(6.08f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(7.04f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(7.08f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.48f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.52f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.48f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.52f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone221", - 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.48f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.52f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.72f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.76f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.48f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.52f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(6.76f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(6.8f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.12f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.16f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.8f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.84f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone222", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0.56f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.6f, 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), - new Keyframe(2.48f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.52f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.72f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.76f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.08f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.12f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(6.68f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(6.72f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.04f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.08f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.68f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.72f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone223", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(1.04f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.08f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.4f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.44f, 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(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.76f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(6.8f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(7.68f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(7.72f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.08f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.12f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.04f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone224", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.04f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - 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(3.76f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.8f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.12f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.16f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.48f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.52f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.84f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.88f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone225", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0.88f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.92f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.24f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.28f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.2f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.24f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(7.04f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(7.08f, 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), - new Keyframe(9.48f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.52f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone226", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0.52f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.56f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - 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.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.32f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.36f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(6f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(6.04f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.04f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("rotorhead", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0f, KeyframeAnimations.posVec(0f, 0.85f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.4f, KeyframeAnimations.posVec(0f, 0.75f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.48f, KeyframeAnimations.posVec(0f, -4f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.56f, KeyframeAnimations.posVec(0f, 1f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.08f, KeyframeAnimations.posVec(0f, 1.345f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.64f, KeyframeAnimations.posVec(0f, 1f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(7.96f, KeyframeAnimations.posVec(0f, -4f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(9.52f, KeyframeAnimations.posVec(0f, 0.75f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.96f, KeyframeAnimations.posVec(0f, 0.85f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("rotorhead", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5f, KeyframeAnimations.degreeVec(0f, -10f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone193", - 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(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("bone204", - 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(9f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.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("bone210", - 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(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("bone211", - 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(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("bone227", - 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))).build(); - - private final ModelPart console_factory; - - public FactoryConsoleModel(ModelPart root) { - this.console_factory = root.getChild("console_factory"); - this.root = root; - this.throttleLever = findPart(this, "lever2"); - this.handbrake = (ModelPart) getAnyDescendantWithName("lever3").get(); - } + public static final AnimationDefinition IDLE = AnimationDefinition.Builder.withLength(10f).looping() + .addAnimation("dialspin", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1f, KeyframeAnimations.degreeVec(0f, 32.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.56f, KeyframeAnimations.degreeVec(0f, 7.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.84f, KeyframeAnimations.degreeVec(0f, 70f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.36f, KeyframeAnimations.degreeVec(0f, 55f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.44f, KeyframeAnimations.degreeVec(0f, 92.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7f, KeyframeAnimations.degreeVec(0f, 52.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8.12f, KeyframeAnimations.degreeVec(0f, 7.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8.56f, KeyframeAnimations.degreeVec(0f, 22.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(9.2f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(9.52f, KeyframeAnimations.degreeVec(0f, -10f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(9.84f, KeyframeAnimations.degreeVec(0f, -2.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("dialspin2", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(0.88f, KeyframeAnimations.degreeVec(0f, -25f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.08f, KeyframeAnimations.degreeVec(0f, 10f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.56f, KeyframeAnimations.degreeVec(0f, -20f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.32f, KeyframeAnimations.degreeVec(0f, 17.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7.24f, KeyframeAnimations.degreeVec(0f, -27.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8.76f, KeyframeAnimations.degreeVec(0f, 10f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("dialspin3", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(0.4f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.24f, KeyframeAnimations.degreeVec(0f, 11.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.2f, KeyframeAnimations.degreeVec(0f, 5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.88f, KeyframeAnimations.degreeVec(0f, 10.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.48f, KeyframeAnimations.degreeVec(0f, 5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.08f, KeyframeAnimations.degreeVec(0f, -9f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.92f, KeyframeAnimations.degreeVec(0f, 10.96f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.12f, KeyframeAnimations.degreeVec(0f, 11.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7.64f, KeyframeAnimations.degreeVec(0f, 8f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8.88f, KeyframeAnimations.degreeVec(0f, -6f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(9.92f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("dialspin4", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(0.68f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.72f, KeyframeAnimations.degreeVec(0f, 13.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.48f, KeyframeAnimations.degreeVec(0f, 5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.4f, KeyframeAnimations.degreeVec(0f, 5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.36f, KeyframeAnimations.degreeVec(0f, -14f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.36f, KeyframeAnimations.degreeVec(0f, 10.96f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.56f, KeyframeAnimations.degreeVec(0f, -21.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8.16f, KeyframeAnimations.degreeVec(0f, -15f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(9.32f, KeyframeAnimations.degreeVec(0f, -14.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(9.92f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone168", + 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(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.24f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.28f, 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.2f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.24f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone170", + 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(6f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(6.04f, 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("bone172", + 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), + new Keyframe(8.24f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.28f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.2f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.24f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone173", + 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(7.44f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(7.48f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.4f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.44f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone177", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5f, KeyframeAnimations.posVec(2.5f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone178", + 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(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(7.44f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(7.48f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.4f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.44f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone181", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(1.4f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.44f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.72f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.76f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + 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(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.12f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.16f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.44f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.48f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(6.4f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(6.44f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.68f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.72f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone182", + 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.72f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.76f, 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(3.44f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.48f, 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), + new Keyframe(7.84f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(7.88f, 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("bone186", + 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.32f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.36f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.88f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.92f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.2f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.24f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + 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(2.04f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.08f, 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(7.28f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(7.32f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone188", + 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.24f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.28f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.2f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.24f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.28f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.32f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.76f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.8f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(6.24f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(6.28f, 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.16f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.2f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone192", + new AnimationChannel(AnimationChannel.Targets.POSITION, + 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.24f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.28f, 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.24f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.28f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone194", + 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(3.24f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.28f, 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(8.24f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.28f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone205", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(4.24f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.28f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.48f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.52f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(7.92f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(7.96f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.16f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.2f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone217", + 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(1.36f, KeyframeAnimations.scaleVec(1.05f, 1.05f, 1.05f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.4f, 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(5.36f, KeyframeAnimations.scaleVec(1.05f, 1.05f, 1.05f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.4f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(7.88f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(7.92f, KeyframeAnimations.scaleVec(1.05f, 1.05f, 1.05f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.24f, KeyframeAnimations.scaleVec(1.05f, 1.05f, 1.05f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.28f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone218", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(1.12f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.16f, KeyframeAnimations.scaleVec(1.05f, 1.05f, 1.05f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.48f, KeyframeAnimations.scaleVec(1.05f, 1.05f, 1.05f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.52f, 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.8f, KeyframeAnimations.scaleVec(1.05f, 1.05f, 1.05f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.84f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(7.44f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(7.48f, KeyframeAnimations.scaleVec(1.05f, 1.05f, 1.05f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.8f, KeyframeAnimations.scaleVec(1.05f, 1.05f, 1.05f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.84f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone219", + 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(1.36f, KeyframeAnimations.scaleVec(1.05f, 1.05f, 1.05f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.4f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.08f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.12f, KeyframeAnimations.scaleVec(1.05f, 1.05f, 1.05f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.44f, KeyframeAnimations.scaleVec(1.05f, 1.05f, 1.05f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.48f, 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.05f, 1.05f, 1.05f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.56f, KeyframeAnimations.scaleVec(1.05f, 1.05f, 1.05f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.6f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone220", + 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.68f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.72f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.08f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.12f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.92f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.96f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.72f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.76f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.56f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.6f, 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(6.04f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(6.08f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(7.04f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(7.08f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.48f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.52f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.48f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.52f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone221", + 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.48f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.52f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.72f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.76f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.48f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.52f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(6.76f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(6.8f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.12f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.16f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.8f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.84f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone222", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0.56f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.6f, 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), + new Keyframe(2.48f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.52f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.72f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.76f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.08f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.12f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(6.68f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(6.72f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.04f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.08f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.68f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.72f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone223", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(1.04f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.08f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.4f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.44f, 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(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.76f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(6.8f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(7.68f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(7.72f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.08f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.12f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.04f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone224", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.04f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + 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(3.76f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.8f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.12f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.16f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.48f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.52f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.84f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.88f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone225", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0.88f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.92f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.24f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.28f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.2f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.24f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(7.04f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(7.08f, 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), + new Keyframe(9.48f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.52f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone226", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0.52f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.56f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + 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.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.32f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.36f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(6f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(6.04f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.04f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR))).build(); + public static final AnimationDefinition FLIGHT = AnimationDefinition.Builder.withLength(10f).looping() + .addAnimation("bone62", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("dialspin", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, -27f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1f, KeyframeAnimations.degreeVec(0f, -50.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.48f, KeyframeAnimations.degreeVec(0f, -26.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.4f, KeyframeAnimations.degreeVec(0f, -39f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.52f, KeyframeAnimations.degreeVec(0f, -15f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.52f, KeyframeAnimations.degreeVec(0f, -36.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.64f, KeyframeAnimations.degreeVec(0f, -26.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.84f, KeyframeAnimations.degreeVec(0f, -32.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8.04f, KeyframeAnimations.degreeVec(0f, -13.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8.96f, KeyframeAnimations.degreeVec(0f, -33f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(9.6f, KeyframeAnimations.degreeVec(0f, -26f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.degreeVec(0f, -27f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("dialspin2", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(0.76f, KeyframeAnimations.degreeVec(0f, -22f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.12f, KeyframeAnimations.degreeVec(0f, -14f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.56f, KeyframeAnimations.degreeVec(0f, -20f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.28f, KeyframeAnimations.degreeVec(0f, 46.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6f, KeyframeAnimations.degreeVec(0f, -21.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7.36f, KeyframeAnimations.degreeVec(0f, 2f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(9f, KeyframeAnimations.degreeVec(0f, -15f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("dialspin3", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(0.4f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.04f, KeyframeAnimations.degreeVec(0f, 16.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.16f, KeyframeAnimations.degreeVec(0f, -4.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.84f, KeyframeAnimations.degreeVec(0f, 10f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.44f, KeyframeAnimations.degreeVec(0f, 4.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4f, KeyframeAnimations.degreeVec(0f, -33.25f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.92f, KeyframeAnimations.degreeVec(0f, 10.96f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.56f, KeyframeAnimations.degreeVec(0f, 69.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7.68f, KeyframeAnimations.degreeVec(0f, -1.25f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8.68f, KeyframeAnimations.degreeVec(0f, -15f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(9.28f, KeyframeAnimations.degreeVec(0f, 9.25f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(9.92f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("dialspin4", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(0.68f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.64f, KeyframeAnimations.degreeVec(0f, -63.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.48f, KeyframeAnimations.degreeVec(0f, 5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.4f, KeyframeAnimations.degreeVec(0f, 5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.44f, KeyframeAnimations.degreeVec(0f, -25f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.36f, KeyframeAnimations.degreeVec(0f, 23.46f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.56f, KeyframeAnimations.degreeVec(0f, -28.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8.16f, KeyframeAnimations.degreeVec(0f, -7f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(9.28f, KeyframeAnimations.degreeVec(0f, -14.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(9.92f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone168", + 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(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.24f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.28f, 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.2f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.24f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone170", + 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(6f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(6.04f, 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("bone172", + 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), + new Keyframe(8.24f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.28f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.2f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.24f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone173", + 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(7.44f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(7.48f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.4f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.44f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone177", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.52f, KeyframeAnimations.posVec(2.5f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7.52f, KeyframeAnimations.posVec(2.5f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone178", + 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(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(7.44f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(7.48f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.4f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.44f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone181", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(1.4f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.44f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.72f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.76f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + 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(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.12f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.16f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.44f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.48f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(6.4f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(6.44f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.68f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.72f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone182", + 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.72f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.76f, 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(3.44f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.48f, 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), + new Keyframe(7.84f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(7.88f, 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("bone186", + 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.32f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.36f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.88f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.92f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.2f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.24f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + 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(2.04f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.08f, 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(7.28f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(7.32f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone188", + 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.24f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.28f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.2f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.24f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.28f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.32f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.76f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.8f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(6.24f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(6.28f, 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.16f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.2f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone192", + 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(5.24f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.28f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(7.2f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(7.24f, 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("bone194", + 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(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("bone205", + 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(9f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.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("bone217", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0f, KeyframeAnimations.scaleVec(1.05f, 1.05f, 1.05f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.36f, KeyframeAnimations.scaleVec(1.05f, 1.05f, 1.05f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.4f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.4f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.44f, KeyframeAnimations.scaleVec(1.05f, 1.05f, 1.05f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.28f, KeyframeAnimations.scaleVec(1.05f, 1.05f, 1.05f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.32f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.52f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.56f, KeyframeAnimations.scaleVec(1.05f, 1.05f, 1.05f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.96f, KeyframeAnimations.scaleVec(1.05f, 1.05f, 1.05f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(10f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone218", + 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(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(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(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), + 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("bone219", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0.2f, KeyframeAnimations.scaleVec(1.05f, 1.05f, 1.05f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.56f, KeyframeAnimations.scaleVec(1.05f, 1.05f, 1.05f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.6f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.6f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.64f, KeyframeAnimations.scaleVec(1.05f, 1.05f, 1.05f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.48f, KeyframeAnimations.scaleVec(1.05f, 1.05f, 1.05f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.52f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.2f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.24f, KeyframeAnimations.scaleVec(1.05f, 1.05f, 1.05f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.64f, KeyframeAnimations.scaleVec(1.05f, 1.05f, 1.05f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.68f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone220", + 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.68f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.72f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.08f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.12f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.92f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.96f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.72f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.76f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.56f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.6f, 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(6.04f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(6.08f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(7.04f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(7.08f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.48f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.52f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.48f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.52f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone221", + 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.48f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.52f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.72f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.76f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.48f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.52f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(6.76f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(6.8f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.12f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.16f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.8f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.84f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone222", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0.56f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.6f, 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), + new Keyframe(2.48f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.52f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.72f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.76f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.08f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.12f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(6.68f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(6.72f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.04f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.08f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.68f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.72f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone223", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(1.04f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.08f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.4f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.44f, 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(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.76f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(6.8f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(7.68f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(7.72f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.08f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.12f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.04f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone224", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.04f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + 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(3.76f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.8f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.12f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.16f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.48f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.52f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.84f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.88f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone225", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0.88f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.92f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.24f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.28f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.2f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.24f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(7.04f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(7.08f, 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), + new Keyframe(9.48f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.52f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone226", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0.52f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.56f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + 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.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.32f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.36f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(6f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(6.04f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.04f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("rotorhead", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0f, KeyframeAnimations.posVec(0f, 0.85f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.4f, KeyframeAnimations.posVec(0f, 0.75f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.48f, KeyframeAnimations.posVec(0f, -4f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.56f, KeyframeAnimations.posVec(0f, 1f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.08f, KeyframeAnimations.posVec(0f, 1.345f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.64f, KeyframeAnimations.posVec(0f, 1f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(7.96f, KeyframeAnimations.posVec(0f, -4f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(9.52f, KeyframeAnimations.posVec(0f, 0.75f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.96f, KeyframeAnimations.posVec(0f, 0.85f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("rotorhead", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5f, KeyframeAnimations.degreeVec(0f, -10f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone193", + 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(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("bone204", + 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(9f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.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("bone210", + 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(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("bone211", + 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(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("bone227", + 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))).build(); + 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; + private final ModelPart console_factory; + + public FactoryConsoleModel(ModelPart root) { + this.console_factory = root.getChild("console_factory"); + this.root = root; + this.throttleLever = findPart(this, "lever2"); + this.handbrake = (ModelPart) getAnyDescendantWithName("lever3").get(); + } - public static LayerDefinition createBodyLayer() { - MeshDefinition meshdefinition = new MeshDefinition(); - PartDefinition partdefinition = meshdefinition.getRoot(); + public static LayerDefinition createBodyLayer() { + MeshDefinition meshdefinition = new MeshDefinition(); + PartDefinition partdefinition = meshdefinition.getRoot(); - PartDefinition console_factory = partdefinition.addOrReplaceChild("console_factory", CubeListBuilder.create(), PartPose.offset(0.0F, 24.0F, 0.0F)); + PartDefinition console_factory = partdefinition.addOrReplaceChild("console_factory", CubeListBuilder.create(), PartPose.offset(0.0F, 24.0F, 0.0F)); - PartDefinition bone69 = console_factory.addOrReplaceChild("bone69", CubeListBuilder.create().texOffs(0, 13).addBox(-7.0F, -18.5F, -7.0F, 14.0F, 1.0F, 14.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.5F, 0.0F)); + PartDefinition bone69 = console_factory.addOrReplaceChild("bone69", CubeListBuilder.create().texOffs(0, 13).addBox(-7.0F, -18.5F, -7.0F, 14.0F, 1.0F, 14.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.5F, 0.0F)); - PartDefinition bone57 = bone69.addOrReplaceChild("bone57", CubeListBuilder.create(), PartPose.offset(0.0F, -15.5F, 0.0F)); + PartDefinition bone57 = bone69.addOrReplaceChild("bone57", CubeListBuilder.create(), PartPose.offset(0.0F, -15.5F, 0.0F)); - PartDefinition bone63 = bone57.addOrReplaceChild("bone63", CubeListBuilder.create().texOffs(0, 0).addBox(-9.5F, 0.0F, 0.0F, 19.0F, 1.0F, 11.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.5F, -17.0F, 0.4363F, 0.0F, 0.0F)); + PartDefinition bone63 = bone57.addOrReplaceChild("bone63", CubeListBuilder.create().texOffs(0, 0).addBox(-9.5F, 0.0F, 0.0F, 19.0F, 1.0F, 11.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.5F, -17.0F, 0.4363F, 0.0F, 0.0F)); - PartDefinition bone58 = bone57.addOrReplaceChild("bone58", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone58 = bone57.addOrReplaceChild("bone58", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone64 = bone58.addOrReplaceChild("bone64", CubeListBuilder.create().texOffs(0, 0).addBox(-9.5F, 0.0F, 0.0F, 19.0F, 1.0F, 11.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.5F, -17.0F, 0.4363F, 0.0F, 0.0F)); + PartDefinition bone64 = bone58.addOrReplaceChild("bone64", CubeListBuilder.create().texOffs(0, 0).addBox(-9.5F, 0.0F, 0.0F, 19.0F, 1.0F, 11.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.5F, -17.0F, 0.4363F, 0.0F, 0.0F)); - PartDefinition bone59 = bone58.addOrReplaceChild("bone59", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone59 = bone58.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(-9.5F, 0.0F, 0.0F, 19.0F, 1.0F, 11.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.5F, -17.0F, 0.4363F, 0.0F, 0.0F)); + PartDefinition bone60 = bone59.addOrReplaceChild("bone60", CubeListBuilder.create().texOffs(0, 0).addBox(-9.5F, 0.0F, 0.0F, 19.0F, 1.0F, 11.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.5F, -17.0F, 0.4363F, 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 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(0, 0).addBox(-9.5F, 0.0F, 0.0F, 19.0F, 1.0F, 11.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.5F, -17.0F, 0.4363F, 0.0F, 0.0F)); + PartDefinition bone62 = bone61.addOrReplaceChild("bone62", CubeListBuilder.create().texOffs(0, 0).addBox(-9.5F, 0.0F, 0.0F, 19.0F, 1.0F, 11.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.5F, -17.0F, 0.4363F, 0.0F, 0.0F)); - PartDefinition bone65 = bone61.addOrReplaceChild("bone65", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone65 = bone61.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(0, 0).addBox(-9.5F, 0.0F, 0.0F, 19.0F, 1.0F, 11.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.5F, -17.0F, 0.4363F, 0.0F, 0.0F)); + PartDefinition bone66 = bone65.addOrReplaceChild("bone66", CubeListBuilder.create().texOffs(0, 0).addBox(-9.5F, 0.0F, 0.0F, 19.0F, 1.0F, 11.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.5F, -17.0F, 0.4363F, 0.0F, 0.0F)); - PartDefinition bone67 = bone65.addOrReplaceChild("bone67", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone67 = bone65.addOrReplaceChild("bone67", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone68 = bone67.addOrReplaceChild("bone68", CubeListBuilder.create().texOffs(0, 0).addBox(-9.5F, 0.0F, 0.0F, 19.0F, 1.0F, 11.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.5F, -17.0F, 0.4363F, 0.0F, 0.0F)); + PartDefinition bone68 = bone67.addOrReplaceChild("bone68", CubeListBuilder.create().texOffs(0, 0).addBox(-9.5F, 0.0F, 0.0F, 19.0F, 1.0F, 11.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.5F, -17.0F, 0.4363F, 0.0F, 0.0F)); - PartDefinition bone45 = bone69.addOrReplaceChild("bone45", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -14.5F, 0.0F, 0.0F, -0.5236F, 0.0F)); + PartDefinition bone45 = bone69.addOrReplaceChild("bone45", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -14.5F, 0.0F, 0.0F, -0.5236F, 0.0F)); - PartDefinition bone51 = bone45.addOrReplaceChild("bone51", CubeListBuilder.create().texOffs(26, 41).addBox(-0.5F, 0.0F, 0.0F, 1.0F, 2.0F, 13.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -2.5F, -19.9F, 0.4363F, 0.0F, 0.0F)); + PartDefinition bone51 = bone45.addOrReplaceChild("bone51", CubeListBuilder.create().texOffs(26, 41).addBox(-0.5F, 0.0F, 0.0F, 1.0F, 2.0F, 13.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -2.5F, -19.9F, 0.4363F, 0.0F, 0.0F)); - PartDefinition bone46 = bone45.addOrReplaceChild("bone46", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -0.5F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone46 = bone45.addOrReplaceChild("bone46", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -0.5F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone47 = bone46.addOrReplaceChild("bone47", CubeListBuilder.create().texOffs(26, 41).addBox(-0.5F, 0.0F, 0.0F, 1.0F, 2.0F, 13.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -2.0F, -19.9F, 0.4363F, 0.0F, 0.0F)); + PartDefinition bone47 = bone46.addOrReplaceChild("bone47", CubeListBuilder.create().texOffs(26, 41).addBox(-0.5F, 0.0F, 0.0F, 1.0F, 2.0F, 13.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -2.0F, -19.9F, 0.4363F, 0.0F, 0.0F)); - PartDefinition bone48 = bone46.addOrReplaceChild("bone48", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone48 = bone46.addOrReplaceChild("bone48", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone49 = bone48.addOrReplaceChild("bone49", CubeListBuilder.create().texOffs(26, 41).addBox(-0.5F, 0.0F, 0.0F, 1.0F, 2.0F, 13.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -2.0F, -19.9F, 0.4363F, 0.0F, 0.0F)); + PartDefinition bone49 = bone48.addOrReplaceChild("bone49", CubeListBuilder.create().texOffs(26, 41).addBox(-0.5F, 0.0F, 0.0F, 1.0F, 2.0F, 13.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -2.0F, -19.9F, 0.4363F, 0.0F, 0.0F)); - PartDefinition bone50 = bone48.addOrReplaceChild("bone50", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone50 = bone48.addOrReplaceChild("bone50", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone52 = bone50.addOrReplaceChild("bone52", CubeListBuilder.create().texOffs(26, 41).addBox(-0.5F, 0.0F, 0.0F, 1.0F, 2.0F, 13.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -2.0F, -19.9F, 0.4363F, 0.0F, 0.0F)); + PartDefinition bone52 = bone50.addOrReplaceChild("bone52", CubeListBuilder.create().texOffs(26, 41).addBox(-0.5F, 0.0F, 0.0F, 1.0F, 2.0F, 13.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -2.0F, -19.9F, 0.4363F, 0.0F, 0.0F)); - PartDefinition bone53 = bone50.addOrReplaceChild("bone53", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone53 = bone50.addOrReplaceChild("bone53", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone54 = bone53.addOrReplaceChild("bone54", CubeListBuilder.create().texOffs(26, 41).addBox(-0.5F, 0.0F, 0.0F, 1.0F, 2.0F, 13.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -2.0F, -19.9F, 0.4363F, 0.0F, 0.0F)); + PartDefinition bone54 = bone53.addOrReplaceChild("bone54", CubeListBuilder.create().texOffs(26, 41).addBox(-0.5F, 0.0F, 0.0F, 1.0F, 2.0F, 13.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -2.0F, -19.9F, 0.4363F, 0.0F, 0.0F)); - PartDefinition bone55 = bone53.addOrReplaceChild("bone55", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone55 = bone53.addOrReplaceChild("bone55", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone56 = bone55.addOrReplaceChild("bone56", CubeListBuilder.create().texOffs(26, 41).addBox(-0.5F, 0.0F, 0.0F, 1.0F, 2.0F, 13.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -2.0F, -19.9F, 0.4363F, 0.0F, 0.0F)); + PartDefinition bone56 = bone55.addOrReplaceChild("bone56", CubeListBuilder.create().texOffs(26, 41).addBox(-0.5F, 0.0F, 0.0F, 1.0F, 2.0F, 13.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -2.0F, -19.9F, 0.4363F, 0.0F, 0.0F)); - PartDefinition bone14 = bone69.addOrReplaceChild("bone14", CubeListBuilder.create(), PartPose.offset(0.0F, -0.5F, 0.0F)); + PartDefinition bone14 = bone69.addOrReplaceChild("bone14", CubeListBuilder.create(), PartPose.offset(0.0F, -0.5F, 0.0F)); - PartDefinition bone15 = bone14.addOrReplaceChild("bone15", CubeListBuilder.create().texOffs(46, 62).addBox(-0.5F, -14.0F, -9.875F, 1.0F, 14.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); + PartDefinition bone15 = bone14.addOrReplaceChild("bone15", CubeListBuilder.create().texOffs(46, 62).addBox(-0.5F, -14.0F, -9.875F, 1.0F, 14.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); - PartDefinition bone16 = bone15.addOrReplaceChild("bone16", CubeListBuilder.create().texOffs(46, 62).addBox(-0.5F, -14.0F, -9.875F, 1.0F, 14.0F, 3.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(46, 62).addBox(-0.5F, -14.0F, -9.875F, 1.0F, 14.0F, 3.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(46, 62).addBox(-0.5F, -14.0F, -9.875F, 1.0F, 14.0F, 3.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(46, 62).addBox(-0.5F, -14.0F, -9.875F, 1.0F, 14.0F, 3.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(46, 62).addBox(-0.5F, -14.0F, -9.875F, 1.0F, 14.0F, 3.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(46, 62).addBox(-0.5F, -14.0F, -9.875F, 1.0F, 14.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone19 = bone18.addOrReplaceChild("bone19", CubeListBuilder.create().texOffs(46, 62).addBox(-0.5F, -14.0F, -9.875F, 1.0F, 14.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone19 = bone18.addOrReplaceChild("bone19", CubeListBuilder.create().texOffs(46, 62).addBox(-0.5F, -14.0F, -9.875F, 1.0F, 14.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone20 = bone19.addOrReplaceChild("bone20", CubeListBuilder.create().texOffs(46, 62).addBox(-0.5F, -14.0F, -9.875F, 1.0F, 14.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone20 = bone19.addOrReplaceChild("bone20", CubeListBuilder.create().texOffs(46, 62).addBox(-0.5F, -14.0F, -9.875F, 1.0F, 14.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone70 = bone14.addOrReplaceChild("bone70", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); + PartDefinition bone70 = bone14.addOrReplaceChild("bone70", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); - PartDefinition bone76 = bone70.addOrReplaceChild("bone76", CubeListBuilder.create().texOffs(44, 46).addBox(-0.5F, -4.0F, 0.0F, 1.0F, 4.0F, 11.0F, new CubeDeformation(-0.025F)), PartPose.offsetAndRotation(0.0F, -14.5F, -19.9F, -0.3054F, 0.0F, 0.0F)); + PartDefinition bone76 = bone70.addOrReplaceChild("bone76", CubeListBuilder.create().texOffs(44, 46).addBox(-0.5F, -4.0F, 0.0F, 1.0F, 4.0F, 11.0F, new CubeDeformation(-0.025F)), PartPose.offsetAndRotation(0.0F, -14.5F, -19.9F, -0.3054F, 0.0F, 0.0F)); - PartDefinition bone71 = bone70.addOrReplaceChild("bone71", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -0.5F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone71 = bone70.addOrReplaceChild("bone71", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -0.5F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone77 = bone71.addOrReplaceChild("bone77", CubeListBuilder.create().texOffs(44, 46).addBox(-0.5F, -4.0F, 0.0F, 1.0F, 4.0F, 11.0F, new CubeDeformation(-0.025F)), PartPose.offsetAndRotation(0.0F, -14.0F, -19.9F, -0.3054F, 0.0F, 0.0F)); + PartDefinition bone77 = bone71.addOrReplaceChild("bone77", CubeListBuilder.create().texOffs(44, 46).addBox(-0.5F, -4.0F, 0.0F, 1.0F, 4.0F, 11.0F, new CubeDeformation(-0.025F)), PartPose.offsetAndRotation(0.0F, -14.0F, -19.9F, -0.3054F, 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 = bone71.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(44, 46).addBox(-0.5F, -4.0F, 0.0F, 1.0F, 4.0F, 11.0F, new CubeDeformation(-0.025F)), PartPose.offsetAndRotation(0.0F, -14.0F, -19.9F, -0.3054F, 0.0F, 0.0F)); + PartDefinition bone73 = bone72.addOrReplaceChild("bone73", CubeListBuilder.create().texOffs(44, 46).addBox(-0.5F, -4.0F, 0.0F, 1.0F, 4.0F, 11.0F, new CubeDeformation(-0.025F)), PartPose.offsetAndRotation(0.0F, -14.0F, -19.9F, -0.3054F, 0.0F, 0.0F)); - PartDefinition bone74 = bone72.addOrReplaceChild("bone74", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone74 = bone72.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(44, 46).addBox(-0.5F, -4.0F, 0.0F, 1.0F, 4.0F, 11.0F, new CubeDeformation(-0.025F)), PartPose.offsetAndRotation(0.0F, -14.0F, -19.9F, -0.3054F, 0.0F, 0.0F)); + PartDefinition bone75 = bone74.addOrReplaceChild("bone75", CubeListBuilder.create().texOffs(44, 46).addBox(-0.5F, -4.0F, 0.0F, 1.0F, 4.0F, 11.0F, new CubeDeformation(-0.025F)), PartPose.offsetAndRotation(0.0F, -14.0F, -19.9F, -0.3054F, 0.0F, 0.0F)); - PartDefinition bone78 = bone74.addOrReplaceChild("bone78", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone78 = bone74.addOrReplaceChild("bone78", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone79 = bone78.addOrReplaceChild("bone79", CubeListBuilder.create().texOffs(44, 46).addBox(-0.5F, -4.0F, 0.0F, 1.0F, 4.0F, 11.0F, new CubeDeformation(-0.025F)), PartPose.offsetAndRotation(0.0F, -14.0F, -19.9F, -0.3054F, 0.0F, 0.0F)); + PartDefinition bone79 = bone78.addOrReplaceChild("bone79", CubeListBuilder.create().texOffs(44, 46).addBox(-0.5F, -4.0F, 0.0F, 1.0F, 4.0F, 11.0F, new CubeDeformation(-0.025F)), PartPose.offsetAndRotation(0.0F, -14.0F, -19.9F, -0.3054F, 0.0F, 0.0F)); - PartDefinition bone80 = bone78.addOrReplaceChild("bone80", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone80 = bone78.addOrReplaceChild("bone80", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone81 = bone80.addOrReplaceChild("bone81", CubeListBuilder.create().texOffs(44, 46).addBox(-0.5F, -4.0F, 0.0F, 1.0F, 4.0F, 11.0F, new CubeDeformation(-0.025F)), PartPose.offsetAndRotation(0.0F, -14.0F, -19.9F, -0.3054F, 0.0F, 0.0F)); + PartDefinition bone81 = bone80.addOrReplaceChild("bone81", CubeListBuilder.create().texOffs(44, 46).addBox(-0.5F, -4.0F, 0.0F, 1.0F, 4.0F, 11.0F, new CubeDeformation(-0.025F)), PartPose.offsetAndRotation(0.0F, -14.0F, -19.9F, -0.3054F, 0.0F, 0.0F)); - PartDefinition bone21 = bone14.addOrReplaceChild("bone21", CubeListBuilder.create().texOffs(0, 41).addBox(-4.5F, -1.0F, -8.8F, 9.0F, 1.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.0F, 0.0F)); + PartDefinition bone21 = bone14.addOrReplaceChild("bone21", CubeListBuilder.create().texOffs(0, 41).addBox(-4.5F, -1.0F, -8.8F, 9.0F, 1.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.0F, 0.0F)); - PartDefinition bone22 = bone21.addOrReplaceChild("bone22", CubeListBuilder.create().texOffs(0, 41).addBox(-4.5F, -1.0F, -8.8F, 9.0F, 1.0F, 10.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(0, 41).addBox(-4.5F, -1.0F, -8.8F, 9.0F, 1.0F, 10.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, 41).addBox(-4.5F, -1.0F, -8.8F, 9.0F, 1.0F, 10.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, 41).addBox(-4.5F, -1.0F, -8.8F, 9.0F, 1.0F, 10.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, 41).addBox(-4.5F, -1.0F, -8.8F, 9.0F, 1.0F, 10.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, 41).addBox(-4.5F, -1.0F, -8.8F, 9.0F, 1.0F, 10.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, 41).addBox(-4.5F, -1.0F, -8.8F, 9.0F, 1.0F, 10.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, 41).addBox(-4.5F, -1.0F, -8.8F, 9.0F, 1.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone26 = bone25.addOrReplaceChild("bone26", CubeListBuilder.create().texOffs(0, 41).addBox(-4.5F, -1.0F, -8.8F, 9.0F, 1.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone26 = bone25.addOrReplaceChild("bone26", CubeListBuilder.create().texOffs(0, 41).addBox(-4.5F, -1.0F, -8.8F, 9.0F, 1.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone33 = bone14.addOrReplaceChild("bone33", CubeListBuilder.create(), PartPose.offset(0.0F, 0.0F, 0.0F)); + PartDefinition bone33 = bone14.addOrReplaceChild("bone33", CubeListBuilder.create(), PartPose.offset(0.0F, 0.0F, 0.0F)); - PartDefinition bone39 = bone33.addOrReplaceChild("bone39", CubeListBuilder.create().texOffs(49, 29).addBox(-4.5F, 0.0F, 0.0F, 9.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.0F, -8.8F, 0.9599F, 0.0F, 0.0F)); + PartDefinition bone39 = bone33.addOrReplaceChild("bone39", CubeListBuilder.create().texOffs(49, 29).addBox(-4.5F, 0.0F, 0.0F, 9.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.0F, -8.8F, 0.9599F, 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 = 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(49, 29).addBox(-4.5F, 0.0F, 0.0F, 9.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.0F, -8.8F, 0.9599F, 0.0F, 0.0F)); + PartDefinition bone35 = bone34.addOrReplaceChild("bone35", CubeListBuilder.create().texOffs(49, 29).addBox(-4.5F, 0.0F, 0.0F, 9.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.0F, -8.8F, 0.9599F, 0.0F, 0.0F)); - PartDefinition bone36 = bone34.addOrReplaceChild("bone36", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + 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(49, 29).addBox(-4.5F, 0.0F, 0.0F, 9.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.0F, -8.8F, 0.9599F, 0.0F, 0.0F)); + PartDefinition bone37 = bone36.addOrReplaceChild("bone37", CubeListBuilder.create().texOffs(49, 29).addBox(-4.5F, 0.0F, 0.0F, 9.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.0F, -8.8F, 0.9599F, 0.0F, 0.0F)); - PartDefinition bone38 = bone36.addOrReplaceChild("bone38", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone38 = bone36.addOrReplaceChild("bone38", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone40 = bone38.addOrReplaceChild("bone40", CubeListBuilder.create().texOffs(49, 29).addBox(-4.5F, 0.0F, 0.0F, 9.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.0F, -8.8F, 0.9599F, 0.0F, 0.0F)); + PartDefinition bone40 = bone38.addOrReplaceChild("bone40", CubeListBuilder.create().texOffs(49, 29).addBox(-4.5F, 0.0F, 0.0F, 9.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.0F, -8.8F, 0.9599F, 0.0F, 0.0F)); - PartDefinition bone41 = bone38.addOrReplaceChild("bone41", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone41 = bone38.addOrReplaceChild("bone41", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone42 = bone41.addOrReplaceChild("bone42", CubeListBuilder.create().texOffs(49, 29).addBox(-4.5F, 0.0F, 0.0F, 9.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.0F, -8.8F, 0.9599F, 0.0F, 0.0F)); + PartDefinition bone42 = bone41.addOrReplaceChild("bone42", CubeListBuilder.create().texOffs(49, 29).addBox(-4.5F, 0.0F, 0.0F, 9.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.0F, -8.8F, 0.9599F, 0.0F, 0.0F)); - PartDefinition bone43 = bone41.addOrReplaceChild("bone43", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone43 = bone41.addOrReplaceChild("bone43", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone44 = bone43.addOrReplaceChild("bone44", CubeListBuilder.create().texOffs(49, 29).addBox(-4.5F, 0.0F, 0.0F, 9.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.0F, -8.8F, 0.9599F, 0.0F, 0.0F)); + PartDefinition bone44 = bone43.addOrReplaceChild("bone44", CubeListBuilder.create().texOffs(49, 29).addBox(-4.5F, 0.0F, 0.0F, 9.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.0F, -8.8F, 0.9599F, 0.0F, 0.0F)); - PartDefinition bone27 = bone14.addOrReplaceChild("bone27", CubeListBuilder.create().texOffs(0, 53).addBox(-4.0F, -18.0F, -7.0F, 8.0F, 18.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -3.0F, 0.0F)); + PartDefinition bone27 = bone14.addOrReplaceChild("bone27", CubeListBuilder.create().texOffs(0, 53).addBox(-4.0F, -18.0F, -7.0F, 8.0F, 18.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -3.0F, 0.0F)); - PartDefinition bone28 = bone27.addOrReplaceChild("bone28", CubeListBuilder.create().texOffs(0, 53).addBox(-4.0F, -18.0F, -7.0F, 8.0F, 18.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(0, 53).addBox(-4.0F, -18.0F, -7.0F, 8.0F, 18.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(0, 53).addBox(-4.0F, -18.0F, -7.0F, 8.0F, 18.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(0, 53).addBox(-4.0F, -18.0F, -7.0F, 8.0F, 18.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(0, 53).addBox(-4.0F, -18.0F, -7.0F, 8.0F, 18.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(0, 53).addBox(-4.0F, -18.0F, -7.0F, 8.0F, 18.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(0, 53).addBox(-4.0F, -18.0F, -7.0F, 8.0F, 18.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(0, 53).addBox(-4.0F, -18.0F, -7.0F, 8.0F, 18.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone32 = bone31.addOrReplaceChild("bone32", CubeListBuilder.create().texOffs(0, 53).addBox(-4.0F, -18.0F, -7.0F, 8.0F, 18.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone32 = bone31.addOrReplaceChild("bone32", CubeListBuilder.create().texOffs(0, 53).addBox(-4.0F, -18.0F, -7.0F, 8.0F, 18.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone13 = bone69.addOrReplaceChild("bone13", CubeListBuilder.create(), PartPose.offset(0.0F, -15.0F, 0.0F)); + PartDefinition bone13 = bone69.addOrReplaceChild("bone13", CubeListBuilder.create(), PartPose.offset(0.0F, -15.0F, 0.0F)); - PartDefinition bone7 = bone13.addOrReplaceChild("bone7", CubeListBuilder.create().texOffs(5, 29).addBox(-0.5F, -2.0F, -19.9F, 1.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); + PartDefinition bone7 = bone13.addOrReplaceChild("bone7", CubeListBuilder.create().texOffs(5, 29).addBox(-0.5F, -2.0F, -19.9F, 1.0F, 2.0F, 1.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(5, 29).addBox(-0.5F, -2.0F, -19.9F, 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 bone8 = bone7.addOrReplaceChild("bone8", CubeListBuilder.create().texOffs(5, 29).addBox(-0.5F, -2.0F, -19.9F, 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 bone9 = bone8.addOrReplaceChild("bone9", CubeListBuilder.create().texOffs(5, 29).addBox(-0.5F, -2.0F, -19.9F, 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 bone9 = bone8.addOrReplaceChild("bone9", CubeListBuilder.create().texOffs(5, 29).addBox(-0.5F, -2.0F, -19.9F, 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 bone10 = bone9.addOrReplaceChild("bone10", CubeListBuilder.create().texOffs(5, 29).addBox(-0.5F, -2.0F, -19.9F, 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 bone10 = bone9.addOrReplaceChild("bone10", CubeListBuilder.create().texOffs(5, 29).addBox(-0.5F, -2.0F, -19.9F, 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 bone11 = bone10.addOrReplaceChild("bone11", CubeListBuilder.create().texOffs(5, 29).addBox(-0.5F, -2.0F, -19.9F, 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 bone11 = bone10.addOrReplaceChild("bone11", CubeListBuilder.create().texOffs(5, 29).addBox(-0.5F, -2.0F, -19.9F, 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 bone12 = bone11.addOrReplaceChild("bone12", CubeListBuilder.create().texOffs(5, 29).addBox(-0.5F, -2.0F, -19.9F, 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 bone12 = bone11.addOrReplaceChild("bone12", CubeListBuilder.create().texOffs(5, 29).addBox(-0.5F, -2.0F, -19.9F, 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 bone = bone13.addOrReplaceChild("bone", CubeListBuilder.create().texOffs(42, 41).addBox(-9.5F, -2.0F, -17.475F, 19.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.0F, 0.0F)); + PartDefinition bone = bone13.addOrReplaceChild("bone", CubeListBuilder.create().texOffs(42, 41).addBox(-9.5F, -2.0F, -17.475F, 19.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.0F, 0.0F)); - PartDefinition bone2 = bone.addOrReplaceChild("bone2", CubeListBuilder.create().texOffs(42, 41).addBox(-9.5F, -2.0F, -17.475F, 19.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone2 = bone.addOrReplaceChild("bone2", CubeListBuilder.create().texOffs(42, 41).addBox(-9.5F, -2.0F, -17.475F, 19.0F, 2.0F, 1.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(42, 41).addBox(-9.5F, -2.0F, -17.475F, 19.0F, 2.0F, 1.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(42, 41).addBox(-9.5F, -2.0F, -17.475F, 19.0F, 2.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(42, 41).addBox(-9.5F, -2.0F, -17.475F, 19.0F, 2.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(42, 41).addBox(-9.5F, -2.0F, -17.475F, 19.0F, 2.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(42, 41).addBox(-9.5F, -2.0F, -17.475F, 19.0F, 2.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(42, 41).addBox(-9.5F, -2.0F, -17.475F, 19.0F, 2.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(42, 41).addBox(-9.5F, -2.0F, -17.475F, 19.0F, 2.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(42, 41).addBox(-9.5F, -2.0F, -17.475F, 19.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone94 = bone69.addOrReplaceChild("bone94", CubeListBuilder.create(), PartPose.offset(0.0F, -20.5F, 0.0F)); + PartDefinition bone94 = bone69.addOrReplaceChild("bone94", CubeListBuilder.create(), PartPose.offset(0.0F, -20.5F, 0.0F)); - PartDefinition bone95 = bone94.addOrReplaceChild("bone95", CubeListBuilder.create().texOffs(25, 76).addBox(-0.5F, -1.994F, -8.118F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); + PartDefinition bone95 = bone94.addOrReplaceChild("bone95", CubeListBuilder.create().texOffs(25, 76).addBox(-0.5F, -1.994F, -8.118F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); - PartDefinition bone96 = bone95.addOrReplaceChild("bone96", CubeListBuilder.create().texOffs(25, 76).addBox(-0.5F, -1.994F, -8.118F, 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 bone96 = bone95.addOrReplaceChild("bone96", CubeListBuilder.create().texOffs(25, 76).addBox(-0.5F, -1.994F, -8.118F, 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 bone97 = bone96.addOrReplaceChild("bone97", CubeListBuilder.create().texOffs(25, 76).addBox(-0.5F, -1.994F, -8.118F, 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 bone97 = bone96.addOrReplaceChild("bone97", CubeListBuilder.create().texOffs(25, 76).addBox(-0.5F, -1.994F, -8.118F, 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 bone98 = bone97.addOrReplaceChild("bone98", CubeListBuilder.create().texOffs(25, 76).addBox(-0.5F, -1.994F, -8.118F, 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 bone98 = bone97.addOrReplaceChild("bone98", CubeListBuilder.create().texOffs(25, 76).addBox(-0.5F, -1.994F, -8.118F, 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 bone99 = bone98.addOrReplaceChild("bone99", CubeListBuilder.create().texOffs(25, 76).addBox(-0.5F, -1.994F, -8.118F, 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 bone99 = bone98.addOrReplaceChild("bone99", CubeListBuilder.create().texOffs(25, 76).addBox(-0.5F, -1.994F, -8.118F, 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 bone100 = bone99.addOrReplaceChild("bone100", CubeListBuilder.create().texOffs(25, 76).addBox(-0.5F, -1.994F, -8.118F, 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 bone100 = bone99.addOrReplaceChild("bone100", CubeListBuilder.create().texOffs(25, 76).addBox(-0.5F, -1.994F, -8.118F, 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 bone119 = bone94.addOrReplaceChild("bone119", CubeListBuilder.create(), PartPose.offset(0.0F, 0.3F, 0.0F)); + PartDefinition bone119 = bone94.addOrReplaceChild("bone119", CubeListBuilder.create(), PartPose.offset(0.0F, 0.3F, 0.0F)); - PartDefinition bone125 = bone119.addOrReplaceChild("bone125", CubeListBuilder.create().texOffs(19, 57).addBox(-0.5F, 0.0F, -8.0F, 1.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.494F, 7.0F, 0.4363F, 0.0F, 0.0F)); + PartDefinition bone125 = bone119.addOrReplaceChild("bone125", CubeListBuilder.create().texOffs(19, 57).addBox(-0.5F, 0.0F, -8.0F, 1.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.494F, 7.0F, 0.4363F, 0.0F, 0.0F)); - PartDefinition bone120 = bone119.addOrReplaceChild("bone120", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone120 = bone119.addOrReplaceChild("bone120", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone126 = bone120.addOrReplaceChild("bone126", CubeListBuilder.create().texOffs(19, 57).addBox(-0.5F, 0.0F, -8.0F, 1.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.494F, 7.0F, 0.4363F, 0.0F, 0.0F)); + PartDefinition bone126 = bone120.addOrReplaceChild("bone126", CubeListBuilder.create().texOffs(19, 57).addBox(-0.5F, 0.0F, -8.0F, 1.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.494F, 7.0F, 0.4363F, 0.0F, 0.0F)); - PartDefinition bone121 = bone120.addOrReplaceChild("bone121", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone121 = bone120.addOrReplaceChild("bone121", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone122 = bone121.addOrReplaceChild("bone122", CubeListBuilder.create().texOffs(19, 57).addBox(-0.5F, 0.0F, -8.0F, 1.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.494F, 7.0F, 0.4363F, 0.0F, 0.0F)); + PartDefinition bone122 = bone121.addOrReplaceChild("bone122", CubeListBuilder.create().texOffs(19, 57).addBox(-0.5F, 0.0F, -8.0F, 1.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.494F, 7.0F, 0.4363F, 0.0F, 0.0F)); - PartDefinition bone123 = bone121.addOrReplaceChild("bone123", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone123 = bone121.addOrReplaceChild("bone123", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone124 = bone123.addOrReplaceChild("bone124", CubeListBuilder.create().texOffs(19, 57).addBox(-0.5F, 0.0F, -8.0F, 1.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.494F, 7.0F, 0.4363F, 0.0F, 0.0F)); + PartDefinition bone124 = bone123.addOrReplaceChild("bone124", CubeListBuilder.create().texOffs(19, 57).addBox(-0.5F, 0.0F, -8.0F, 1.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.494F, 7.0F, 0.4363F, 0.0F, 0.0F)); - PartDefinition bone127 = bone123.addOrReplaceChild("bone127", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone127 = bone123.addOrReplaceChild("bone127", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone128 = bone127.addOrReplaceChild("bone128", CubeListBuilder.create().texOffs(19, 57).addBox(-0.5F, 0.0F, -8.0F, 1.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.494F, 7.0F, 0.4363F, 0.0F, 0.0F)); + PartDefinition bone128 = bone127.addOrReplaceChild("bone128", CubeListBuilder.create().texOffs(19, 57).addBox(-0.5F, 0.0F, -8.0F, 1.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.494F, 7.0F, 0.4363F, 0.0F, 0.0F)); - PartDefinition bone129 = bone127.addOrReplaceChild("bone129", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone129 = bone127.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().texOffs(19, 57).addBox(-0.5F, 0.0F, -8.0F, 1.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.494F, 7.0F, 0.4363F, 0.0F, 0.0F)); + PartDefinition bone130 = bone129.addOrReplaceChild("bone130", CubeListBuilder.create().texOffs(19, 57).addBox(-0.5F, 0.0F, -8.0F, 1.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.494F, 7.0F, 0.4363F, 0.0F, 0.0F)); - PartDefinition bone101 = bone94.addOrReplaceChild("bone101", CubeListBuilder.create().texOffs(55, 68).addBox(-4.0F, -1.994F, -7.057F, 8.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.0F, 0.0F)); + PartDefinition bone101 = bone94.addOrReplaceChild("bone101", CubeListBuilder.create().texOffs(55, 68).addBox(-4.0F, -1.994F, -7.057F, 8.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.0F, 0.0F)); - PartDefinition bone102 = bone101.addOrReplaceChild("bone102", CubeListBuilder.create().texOffs(55, 68).addBox(-4.0F, -1.994F, -7.057F, 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 bone102 = bone101.addOrReplaceChild("bone102", CubeListBuilder.create().texOffs(55, 68).addBox(-4.0F, -1.994F, -7.057F, 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 bone103 = bone102.addOrReplaceChild("bone103", CubeListBuilder.create().texOffs(55, 68).addBox(-4.0F, -1.994F, -7.057F, 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 bone103 = bone102.addOrReplaceChild("bone103", CubeListBuilder.create().texOffs(55, 68).addBox(-4.0F, -1.994F, -7.057F, 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 bone104 = bone103.addOrReplaceChild("bone104", CubeListBuilder.create().texOffs(55, 68).addBox(-4.0F, -1.994F, -7.057F, 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 bone104 = bone103.addOrReplaceChild("bone104", CubeListBuilder.create().texOffs(55, 68).addBox(-4.0F, -1.994F, -7.057F, 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 bone105 = bone104.addOrReplaceChild("bone105", CubeListBuilder.create().texOffs(55, 68).addBox(-4.0F, -1.994F, -7.057F, 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 bone105 = bone104.addOrReplaceChild("bone105", CubeListBuilder.create().texOffs(55, 68).addBox(-4.0F, -1.994F, -7.057F, 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 bone106 = bone105.addOrReplaceChild("bone106", CubeListBuilder.create().texOffs(55, 68).addBox(-4.0F, -1.994F, -7.057F, 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 bone106 = bone105.addOrReplaceChild("bone106", CubeListBuilder.create().texOffs(55, 68).addBox(-4.0F, -1.994F, -7.057F, 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 bone107 = bone94.addOrReplaceChild("bone107", CubeListBuilder.create(), PartPose.offset(0.0F, 0.0F, 0.0F)); + PartDefinition bone107 = bone94.addOrReplaceChild("bone107", CubeListBuilder.create(), PartPose.offset(0.0F, 0.0F, 0.0F)); - PartDefinition bone113 = bone107.addOrReplaceChild("bone113", CubeListBuilder.create().texOffs(62, 13).addBox(-4.0F, 0.0F, 0.0F, 8.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.994F, -7.057F, -0.5672F, 0.0F, 0.0F)); + PartDefinition bone113 = bone107.addOrReplaceChild("bone113", CubeListBuilder.create().texOffs(62, 13).addBox(-4.0F, 0.0F, 0.0F, 8.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.994F, -7.057F, -0.5672F, 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 = bone107.addOrReplaceChild("bone108", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone109 = bone108.addOrReplaceChild("bone109", CubeListBuilder.create().texOffs(62, 13).addBox(-4.0F, 0.0F, 0.0F, 8.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.994F, -7.057F, -0.5672F, 0.0F, 0.0F)); + PartDefinition bone109 = bone108.addOrReplaceChild("bone109", CubeListBuilder.create().texOffs(62, 13).addBox(-4.0F, 0.0F, 0.0F, 8.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.994F, -7.057F, -0.5672F, 0.0F, 0.0F)); - PartDefinition bone110 = bone108.addOrReplaceChild("bone110", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone110 = bone108.addOrReplaceChild("bone110", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone111 = bone110.addOrReplaceChild("bone111", CubeListBuilder.create().texOffs(62, 13).addBox(-4.0F, 0.0F, 0.0F, 8.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.994F, -7.057F, -0.5672F, 0.0F, 0.0F)); + PartDefinition bone111 = bone110.addOrReplaceChild("bone111", CubeListBuilder.create().texOffs(62, 13).addBox(-4.0F, 0.0F, 0.0F, 8.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.994F, -7.057F, -0.5672F, 0.0F, 0.0F)); - PartDefinition bone112 = bone110.addOrReplaceChild("bone112", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone112 = bone110.addOrReplaceChild("bone112", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone114 = bone112.addOrReplaceChild("bone114", CubeListBuilder.create().texOffs(62, 13).addBox(-4.0F, 0.0F, 0.0F, 8.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.994F, -7.057F, -0.5672F, 0.0F, 0.0F)); + PartDefinition bone114 = bone112.addOrReplaceChild("bone114", CubeListBuilder.create().texOffs(62, 13).addBox(-4.0F, 0.0F, 0.0F, 8.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.994F, -7.057F, -0.5672F, 0.0F, 0.0F)); - PartDefinition bone115 = bone112.addOrReplaceChild("bone115", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone115 = bone112.addOrReplaceChild("bone115", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone116 = bone115.addOrReplaceChild("bone116", CubeListBuilder.create().texOffs(62, 13).addBox(-4.0F, 0.0F, 0.0F, 8.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.994F, -7.057F, -0.5672F, 0.0F, 0.0F)); + PartDefinition bone116 = bone115.addOrReplaceChild("bone116", CubeListBuilder.create().texOffs(62, 13).addBox(-4.0F, 0.0F, 0.0F, 8.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.994F, -7.057F, -0.5672F, 0.0F, 0.0F)); - PartDefinition bone117 = bone115.addOrReplaceChild("bone117", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone117 = bone115.addOrReplaceChild("bone117", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone118 = bone117.addOrReplaceChild("bone118", CubeListBuilder.create().texOffs(62, 13).addBox(-4.0F, 0.0F, 0.0F, 8.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.994F, -7.057F, -0.5672F, 0.0F, 0.0F)); + PartDefinition bone118 = bone117.addOrReplaceChild("bone118", CubeListBuilder.create().texOffs(62, 13).addBox(-4.0F, 0.0F, 0.0F, 8.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.994F, -7.057F, -0.5672F, 0.0F, 0.0F)); - PartDefinition bone82 = bone69.addOrReplaceChild("bone82", CubeListBuilder.create(), PartPose.offset(0.0F, -14.5F, 0.0F)); + PartDefinition bone82 = bone69.addOrReplaceChild("bone82", CubeListBuilder.create(), PartPose.offset(0.0F, -14.5F, 0.0F)); - PartDefinition bone88 = bone82.addOrReplaceChild("bone88", CubeListBuilder.create().texOffs(0, 29).addBox(-9.5F, -1.0F, 0.0F, 19.0F, 1.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -0.5F, -16.5F, -0.1309F, 0.0F, 0.0F)); + PartDefinition bone88 = bone82.addOrReplaceChild("bone88", CubeListBuilder.create().texOffs(0, 29).addBox(-9.5F, -1.0F, 0.0F, 19.0F, 1.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -0.5F, -16.5F, -0.1309F, 0.0F, 0.0F)); - PartDefinition bone83 = bone82.addOrReplaceChild("bone83", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -0.5F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone83 = bone82.addOrReplaceChild("bone83", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -0.5F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone89 = bone83.addOrReplaceChild("bone89", CubeListBuilder.create().texOffs(0, 29).addBox(-9.5F, -1.0F, 0.0F, 19.0F, 1.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, -16.5F, -0.1309F, 0.0F, 0.0F)); + PartDefinition bone89 = bone83.addOrReplaceChild("bone89", CubeListBuilder.create().texOffs(0, 29).addBox(-9.5F, -1.0F, 0.0F, 19.0F, 1.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, -16.5F, -0.1309F, 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 = bone83.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(0, 29).addBox(-9.5F, -1.0F, 0.0F, 19.0F, 1.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, -16.5F, -0.1309F, 0.0F, 0.0F)); + PartDefinition bone85 = bone84.addOrReplaceChild("bone85", CubeListBuilder.create().texOffs(0, 29).addBox(-9.5F, -1.0F, 0.0F, 19.0F, 1.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, -16.5F, -0.1309F, 0.0F, 0.0F)); - PartDefinition bone86 = bone84.addOrReplaceChild("bone86", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone86 = bone84.addOrReplaceChild("bone86", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone87 = bone86.addOrReplaceChild("bone87", CubeListBuilder.create().texOffs(0, 29).addBox(-9.5F, -1.0F, 0.0F, 19.0F, 1.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, -16.5F, -0.1309F, 0.0F, 0.0F)); + PartDefinition bone87 = bone86.addOrReplaceChild("bone87", CubeListBuilder.create().texOffs(0, 29).addBox(-9.5F, -1.0F, 0.0F, 19.0F, 1.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, -16.5F, -0.1309F, 0.0F, 0.0F)); - PartDefinition bone90 = bone86.addOrReplaceChild("bone90", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone90 = bone86.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(0, 29).addBox(-9.5F, -1.0F, 0.0F, 19.0F, 1.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, -16.5F, -0.1309F, 0.0F, 0.0F)); + PartDefinition bone91 = bone90.addOrReplaceChild("bone91", CubeListBuilder.create().texOffs(0, 29).addBox(-9.5F, -1.0F, 0.0F, 19.0F, 1.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, -16.5F, -0.1309F, 0.0F, 0.0F)); - PartDefinition bone92 = bone90.addOrReplaceChild("bone92", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone92 = bone90.addOrReplaceChild("bone92", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone93 = bone92.addOrReplaceChild("bone93", CubeListBuilder.create().texOffs(0, 29).addBox(-9.5F, -1.0F, 0.0F, 19.0F, 1.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, -16.5F, -0.1309F, 0.0F, 0.0F)); + PartDefinition bone93 = bone92.addOrReplaceChild("bone93", CubeListBuilder.create().texOffs(0, 29).addBox(-9.5F, -1.0F, 0.0F, 19.0F, 1.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, -16.5F, -0.1309F, 0.0F, 0.0F)); - PartDefinition rotorhead = console_factory.addOrReplaceChild("rotorhead", CubeListBuilder.create(), PartPose.offset(0.0F, -23.0F, 0.0F)); + PartDefinition rotorhead = console_factory.addOrReplaceChild("rotorhead", CubeListBuilder.create(), PartPose.offset(0.0F, -23.0F, 0.0F)); - PartDefinition bone227 = rotorhead.addOrReplaceChild("bone227", CubeListBuilder.create().texOffs(38, 65).addBox(-0.5F, -6.0F, -0.5F, 1.0F, 12.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -6.0F, 0.0F)); + PartDefinition bone227 = rotorhead.addOrReplaceChild("bone227", CubeListBuilder.create().texOffs(38, 65).addBox(-0.5F, -6.0F, -0.5F, 1.0F, 12.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -6.0F, 0.0F)); - PartDefinition balls = bone227.addOrReplaceChild("balls", CubeListBuilder.create().texOffs(70, 59).addBox(-3.5F, -1.0F, -0.5F, 7.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 1.1F, 0.0F)); + PartDefinition balls = bone227.addOrReplaceChild("balls", CubeListBuilder.create().texOffs(70, 59).addBox(-3.5F, -1.0F, -0.5F, 7.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 1.1F, 0.0F)); - PartDefinition mirror = bone227.addOrReplaceChild("mirror", CubeListBuilder.create().texOffs(68, 17).addBox(-3.5F, -2.9F, -0.5F, 7.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -2.5F, 0.0F, 0.0F, 0.5236F, 0.0F)); + PartDefinition mirror = bone227.addOrReplaceChild("mirror", CubeListBuilder.create().texOffs(68, 17).addBox(-3.5F, -2.9F, -0.5F, 7.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -2.5F, 0.0F, 0.0F, 0.5236F, 0.0F)); - PartDefinition bone135 = bone227.addOrReplaceChild("bone135", CubeListBuilder.create(), PartPose.offset(0.0F, 26.75F, 0.0F)); + PartDefinition bone135 = bone227.addOrReplaceChild("bone135", CubeListBuilder.create(), PartPose.offset(0.0F, 26.75F, 0.0F)); - PartDefinition bone141 = bone135.addOrReplaceChild("bone141", CubeListBuilder.create().texOffs(30, 57).addBox(-2.0F, 0.0F, 0.675F, 4.0F, 2.0F, 5.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(0.0F, -23.0F, -4.325F, -0.0873F, 0.0F, 0.0F)); + PartDefinition bone141 = bone135.addOrReplaceChild("bone141", CubeListBuilder.create().texOffs(30, 57).addBox(-2.0F, 0.0F, 0.675F, 4.0F, 2.0F, 5.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(0.0F, -23.0F, -4.325F, -0.0873F, 0.0F, 0.0F)); - PartDefinition bone136 = bone135.addOrReplaceChild("bone136", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone136 = bone135.addOrReplaceChild("bone136", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone142 = bone136.addOrReplaceChild("bone142", CubeListBuilder.create().texOffs(30, 57).addBox(-2.0F, 0.0F, 0.675F, 4.0F, 2.0F, 5.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(0.0F, -23.0F, -4.325F, -0.0873F, 0.0F, 0.0F)); + PartDefinition bone142 = bone136.addOrReplaceChild("bone142", CubeListBuilder.create().texOffs(30, 57).addBox(-2.0F, 0.0F, 0.675F, 4.0F, 2.0F, 5.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(0.0F, -23.0F, -4.325F, -0.0873F, 0.0F, 0.0F)); - PartDefinition bone137 = bone136.addOrReplaceChild("bone137", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone137 = bone136.addOrReplaceChild("bone137", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone138 = bone137.addOrReplaceChild("bone138", CubeListBuilder.create().texOffs(30, 57).addBox(-2.0F, 0.0F, 0.675F, 4.0F, 2.0F, 5.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(0.0F, -23.0F, -4.325F, -0.0873F, 0.0F, 0.0F)); + PartDefinition bone138 = bone137.addOrReplaceChild("bone138", CubeListBuilder.create().texOffs(30, 57).addBox(-2.0F, 0.0F, 0.675F, 4.0F, 2.0F, 5.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(0.0F, -23.0F, -4.325F, -0.0873F, 0.0F, 0.0F)); - PartDefinition bone139 = bone137.addOrReplaceChild("bone139", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone139 = bone137.addOrReplaceChild("bone139", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone140 = bone139.addOrReplaceChild("bone140", CubeListBuilder.create().texOffs(30, 57).addBox(-2.0F, 0.0F, 0.675F, 4.0F, 2.0F, 5.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(0.0F, -23.0F, -4.325F, -0.0873F, 0.0F, 0.0F)); + PartDefinition bone140 = bone139.addOrReplaceChild("bone140", CubeListBuilder.create().texOffs(30, 57).addBox(-2.0F, 0.0F, 0.675F, 4.0F, 2.0F, 5.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(0.0F, -23.0F, -4.325F, -0.0873F, 0.0F, 0.0F)); - PartDefinition bone143 = bone139.addOrReplaceChild("bone143", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone143 = bone139.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(30, 57).addBox(-2.0F, 0.0F, 0.675F, 4.0F, 2.0F, 5.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(0.0F, -23.0F, -4.325F, -0.0873F, 0.0F, 0.0F)); + PartDefinition bone144 = bone143.addOrReplaceChild("bone144", CubeListBuilder.create().texOffs(30, 57).addBox(-2.0F, 0.0F, 0.675F, 4.0F, 2.0F, 5.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(0.0F, -23.0F, -4.325F, -0.0873F, 0.0F, 0.0F)); - PartDefinition bone145 = bone143.addOrReplaceChild("bone145", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone145 = bone143.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(30, 57).addBox(-2.0F, 0.0F, 0.675F, 4.0F, 2.0F, 5.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(0.0F, -23.0F, -4.325F, -0.0873F, 0.0F, 0.0F)); + PartDefinition bone146 = bone145.addOrReplaceChild("bone146", CubeListBuilder.create().texOffs(30, 57).addBox(-2.0F, 0.0F, 0.675F, 4.0F, 2.0F, 5.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(0.0F, -23.0F, -4.325F, -0.0873F, 0.0F, 0.0F)); - PartDefinition bone147 = rotorhead.addOrReplaceChild("bone147", CubeListBuilder.create(), PartPose.offset(0.0F, 22.0F, 0.0F)); + PartDefinition bone147 = rotorhead.addOrReplaceChild("bone147", CubeListBuilder.create(), PartPose.offset(0.0F, 22.0F, 0.0F)); - PartDefinition bone153 = bone147.addOrReplaceChild("bone153", CubeListBuilder.create().texOffs(43, 13).addBox(-3.0F, 0.0F, 0.0F, 6.0F, 4.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -22.0F, -5.2F, -0.0175F, 0.0F, 0.0F)); + PartDefinition bone153 = bone147.addOrReplaceChild("bone153", CubeListBuilder.create().texOffs(43, 13).addBox(-3.0F, 0.0F, 0.0F, 6.0F, 4.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -22.0F, -5.2F, -0.0175F, 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 = bone147.addOrReplaceChild("bone148", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone154 = bone148.addOrReplaceChild("bone154", CubeListBuilder.create().texOffs(43, 13).addBox(-3.0F, 0.0F, 0.0F, 6.0F, 4.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -22.0F, -5.2F, -0.0175F, 0.0F, 0.0F)); + PartDefinition bone154 = bone148.addOrReplaceChild("bone154", CubeListBuilder.create().texOffs(43, 13).addBox(-3.0F, 0.0F, 0.0F, 6.0F, 4.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -22.0F, -5.2F, -0.0175F, 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 = bone148.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(43, 13).addBox(-3.0F, 0.0F, 0.0F, 6.0F, 4.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -22.0F, -5.2F, -0.0175F, 0.0F, 0.0F)); + PartDefinition bone150 = bone149.addOrReplaceChild("bone150", CubeListBuilder.create().texOffs(43, 13).addBox(-3.0F, 0.0F, 0.0F, 6.0F, 4.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -22.0F, -5.2F, -0.0175F, 0.0F, 0.0F)); - PartDefinition bone151 = bone149.addOrReplaceChild("bone151", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone151 = bone149.addOrReplaceChild("bone151", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone152 = bone151.addOrReplaceChild("bone152", CubeListBuilder.create().texOffs(43, 13).addBox(-3.0F, 0.0F, 0.0F, 6.0F, 4.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -22.0F, -5.2F, -0.0175F, 0.0F, 0.0F)); + PartDefinition bone152 = bone151.addOrReplaceChild("bone152", CubeListBuilder.create().texOffs(43, 13).addBox(-3.0F, 0.0F, 0.0F, 6.0F, 4.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -22.0F, -5.2F, -0.0175F, 0.0F, 0.0F)); - PartDefinition bone155 = bone151.addOrReplaceChild("bone155", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone155 = bone151.addOrReplaceChild("bone155", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone156 = bone155.addOrReplaceChild("bone156", CubeListBuilder.create().texOffs(43, 13).addBox(-3.0F, 0.0F, 0.0F, 6.0F, 4.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -22.0F, -5.2F, -0.0175F, 0.0F, 0.0F)); + PartDefinition bone156 = bone155.addOrReplaceChild("bone156", CubeListBuilder.create().texOffs(43, 13).addBox(-3.0F, 0.0F, 0.0F, 6.0F, 4.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -22.0F, -5.2F, -0.0175F, 0.0F, 0.0F)); - PartDefinition bone157 = bone155.addOrReplaceChild("bone157", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone157 = bone155.addOrReplaceChild("bone157", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone158 = bone157.addOrReplaceChild("bone158", CubeListBuilder.create().texOffs(43, 13).addBox(-3.0F, 0.0F, 0.0F, 6.0F, 4.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -22.0F, -5.2F, -0.0175F, 0.0F, 0.0F)); + PartDefinition bone158 = bone157.addOrReplaceChild("bone158", CubeListBuilder.create().texOffs(43, 13).addBox(-3.0F, 0.0F, 0.0F, 6.0F, 4.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -22.0F, -5.2F, -0.0175F, 0.0F, 0.0F)); - PartDefinition bone160 = rotorhead.addOrReplaceChild("bone160", CubeListBuilder.create().texOffs(42, 48).addBox(-2.5F, -22.0F, -4.575F, 5.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 14.5F, 0.0F)); + PartDefinition bone160 = rotorhead.addOrReplaceChild("bone160", CubeListBuilder.create().texOffs(42, 48).addBox(-2.5F, -22.0F, -4.575F, 5.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 14.5F, 0.0F)); - PartDefinition bone161 = bone160.addOrReplaceChild("bone161", CubeListBuilder.create().texOffs(42, 48).mirror().addBox(-2.5F, -22.0F, -4.575F, 5.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone161 = bone160.addOrReplaceChild("bone161", CubeListBuilder.create().texOffs(42, 48).mirror().addBox(-2.5F, -22.0F, -4.575F, 5.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone162 = bone161.addOrReplaceChild("bone162", CubeListBuilder.create().texOffs(42, 48).addBox(-2.5F, -22.0F, -4.575F, 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 bone162 = bone161.addOrReplaceChild("bone162", CubeListBuilder.create().texOffs(42, 48).addBox(-2.5F, -22.0F, -4.575F, 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 bone163 = bone162.addOrReplaceChild("bone163", CubeListBuilder.create().texOffs(42, 48).mirror().addBox(-2.5F, -22.0F, -4.575F, 5.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone163 = bone162.addOrReplaceChild("bone163", CubeListBuilder.create().texOffs(42, 48).mirror().addBox(-2.5F, -22.0F, -4.575F, 5.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone164 = bone163.addOrReplaceChild("bone164", CubeListBuilder.create().texOffs(42, 48).addBox(-2.5F, -22.0F, -4.575F, 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 = bone163.addOrReplaceChild("bone164", CubeListBuilder.create().texOffs(42, 48).addBox(-2.5F, -22.0F, -4.575F, 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 bone165 = bone164.addOrReplaceChild("bone165", CubeListBuilder.create().texOffs(42, 48).mirror().addBox(-2.5F, -22.0F, -4.575F, 5.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone165 = bone164.addOrReplaceChild("bone165", CubeListBuilder.create().texOffs(42, 48).mirror().addBox(-2.5F, -22.0F, -4.575F, 5.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone132 = rotorhead.addOrReplaceChild("bone132", CubeListBuilder.create().texOffs(0, 29).addBox(-0.5F, -27.0F, 4.25F, 1.0F, 7.0F, 1.0F, new CubeDeformation(0.25F)) - .texOffs(0, 76).addBox(-1.0F, -20.0F, 4.25F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(0.0F, 19.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); + PartDefinition bone132 = rotorhead.addOrReplaceChild("bone132", CubeListBuilder.create().texOffs(0, 29).addBox(-0.5F, -27.0F, 4.25F, 1.0F, 7.0F, 1.0F, new CubeDeformation(0.25F)) + .texOffs(0, 76).addBox(-1.0F, -20.0F, 4.25F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(0.0F, 19.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); - PartDefinition bone217 = bone132.addOrReplaceChild("bone217", CubeListBuilder.create().texOffs(0, 79).addBox(-0.5F, -3.5F, -0.5F, 1.0F, 7.0F, 1.0F, new CubeDeformation(0.225F)), PartPose.offset(0.0F, -23.5F, 4.75F)); + PartDefinition bone217 = bone132.addOrReplaceChild("bone217", CubeListBuilder.create().texOffs(0, 79).addBox(-0.5F, -3.5F, -0.5F, 1.0F, 7.0F, 1.0F, new CubeDeformation(0.225F)), PartPose.offset(0.0F, -23.5F, 4.75F)); - PartDefinition bone133 = bone132.addOrReplaceChild("bone133", CubeListBuilder.create().texOffs(0, 29).addBox(-0.5F, -27.0F, 4.25F, 1.0F, 7.0F, 1.0F, new CubeDeformation(0.25F)) - .texOffs(0, 76).addBox(-1.0F, -20.0F, 4.25F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -2.0944F, 0.0F)); + PartDefinition bone133 = bone132.addOrReplaceChild("bone133", CubeListBuilder.create().texOffs(0, 29).addBox(-0.5F, -27.0F, 4.25F, 1.0F, 7.0F, 1.0F, new CubeDeformation(0.25F)) + .texOffs(0, 76).addBox(-1.0F, -20.0F, 4.25F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -2.0944F, 0.0F)); - PartDefinition bone218 = bone133.addOrReplaceChild("bone218", CubeListBuilder.create().texOffs(0, 79).addBox(-0.5F, -3.5F, -0.5F, 1.0F, 7.0F, 1.0F, new CubeDeformation(0.225F)), PartPose.offset(0.0F, -23.5F, 4.75F)); + PartDefinition bone218 = bone133.addOrReplaceChild("bone218", CubeListBuilder.create().texOffs(0, 79).addBox(-0.5F, -3.5F, -0.5F, 1.0F, 7.0F, 1.0F, new CubeDeformation(0.225F)), PartPose.offset(0.0F, -23.5F, 4.75F)); - PartDefinition bone134 = bone133.addOrReplaceChild("bone134", CubeListBuilder.create().texOffs(0, 29).addBox(-0.5F, -27.0F, 4.25F, 1.0F, 7.0F, 1.0F, new CubeDeformation(0.25F)) - .texOffs(0, 76).addBox(-1.0F, -20.0F, 4.25F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -2.0944F, 0.0F)); + PartDefinition bone134 = bone133.addOrReplaceChild("bone134", CubeListBuilder.create().texOffs(0, 29).addBox(-0.5F, -27.0F, 4.25F, 1.0F, 7.0F, 1.0F, new CubeDeformation(0.25F)) + .texOffs(0, 76).addBox(-1.0F, -20.0F, 4.25F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -2.0944F, 0.0F)); - PartDefinition bone219 = bone134.addOrReplaceChild("bone219", CubeListBuilder.create().texOffs(0, 79).addBox(-0.5F, -3.5F, -0.5F, 1.0F, 7.0F, 1.0F, new CubeDeformation(0.225F)), PartPose.offset(0.0F, -23.5F, 4.75F)); + PartDefinition bone219 = bone134.addOrReplaceChild("bone219", CubeListBuilder.create().texOffs(0, 79).addBox(-0.5F, -3.5F, -0.5F, 1.0F, 7.0F, 1.0F, new CubeDeformation(0.225F)), PartPose.offset(0.0F, -23.5F, 4.75F)); - PartDefinition controls = console_factory.addOrReplaceChild("controls", CubeListBuilder.create(), PartPose.offset(0.0F, 0.0F, 0.0F)); + PartDefinition controls = console_factory.addOrReplaceChild("controls", CubeListBuilder.create(), PartPose.offset(0.0F, 0.0F, 0.0F)); - PartDefinition north = controls.addOrReplaceChild("north", CubeListBuilder.create(), PartPose.offset(0.0F, -15.0F, 0.0F)); + PartDefinition north = controls.addOrReplaceChild("north", CubeListBuilder.create(), PartPose.offset(0.0F, -15.0F, 0.0F)); - PartDefinition bone159 = north.addOrReplaceChild("bone159", CubeListBuilder.create().texOffs(71, 5).addBox(-2.5F, -0.5F, 7.75F, 5.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(70, 71).addBox(-2.5F, -0.75F, 4.25F, 5.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(42, 45).addBox(-2.25F, -0.775F, 4.5F, 5.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(0, 5).addBox(-1.0F, -1.0F, 0.5F, 2.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)) - .texOffs(29, 45).addBox(2.5F, -0.1F, 0.75F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(29, 45).mirror().addBox(-4.5F, -0.1F, 0.75F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(0.0F, -1.5F, -17.0F, 0.4363F, 0.0F, 0.0F)); + PartDefinition bone159 = north.addOrReplaceChild("bone159", CubeListBuilder.create().texOffs(71, 5).addBox(-2.5F, -0.5F, 7.75F, 5.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(70, 71).addBox(-2.5F, -0.75F, 4.25F, 5.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(42, 45).addBox(-2.25F, -0.775F, 4.5F, 5.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(0, 5).addBox(-1.0F, -1.0F, 0.5F, 2.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)) + .texOffs(29, 45).addBox(2.5F, -0.1F, 0.75F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(29, 45).mirror().addBox(-4.5F, -0.1F, 0.75F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(0.0F, -1.5F, -17.0F, 0.4363F, 0.0F, 0.0F)); - PartDefinition bone226 = bone159.addOrReplaceChild("bone226", CubeListBuilder.create().texOffs(82, 11).addBox(-2.0F, -16.975F, -9.25F, 4.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 16.5F, 17.0F)); + PartDefinition bone226 = bone159.addOrReplaceChild("bone226", CubeListBuilder.create().texOffs(82, 11).addBox(-2.0F, -16.975F, -9.25F, 4.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 16.5F, 17.0F)); - PartDefinition bone170 = bone159.addOrReplaceChild("bone170", CubeListBuilder.create().texOffs(81, 3).addBox(-2.25F, -17.25F, -12.5F, 5.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 16.5F, 17.0F)); + PartDefinition bone170 = bone159.addOrReplaceChild("bone170", CubeListBuilder.create().texOffs(81, 3).addBox(-2.25F, -17.25F, -12.5F, 5.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 16.5F, 17.0F)); - PartDefinition lever = bone159.addOrReplaceChild("lever", CubeListBuilder.create().texOffs(9, 13).addBox(-0.5F, -2.0F, -0.25F, 1.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -0.75F, 2.0F, -0.6109F, 0.0F, 0.0F)); + PartDefinition lever = bone159.addOrReplaceChild("lever", CubeListBuilder.create().texOffs(9, 13).addBox(-0.5F, -2.0F, -0.25F, 1.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -0.75F, 2.0F, -0.6109F, 0.0F, 0.0F)); - PartDefinition switchboard = bone159.addOrReplaceChild("switchboard", CubeListBuilder.create().texOffs(0, 23).addBox(-2.25F, 0.0F, 0.0F, 4.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -0.75F, 5.25F, 0.3054F, 0.0F, 0.0F)); + PartDefinition switchboard = bone159.addOrReplaceChild("switchboard", CubeListBuilder.create().texOffs(0, 23).addBox(-2.25F, 0.0F, 0.0F, 4.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -0.75F, 5.25F, 0.3054F, 0.0F, 0.0F)); - PartDefinition bone166 = bone159.addOrReplaceChild("bone166", CubeListBuilder.create().texOffs(33, 67).addBox(-0.5F, -0.6F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-3.5F, 0.4F, 2.0F, 0.0F, -0.7854F, 0.0F)); + PartDefinition bone166 = bone159.addOrReplaceChild("bone166", CubeListBuilder.create().texOffs(33, 67).addBox(-0.5F, -0.6F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-3.5F, 0.4F, 2.0F, 0.0F, -0.7854F, 0.0F)); - PartDefinition bone172 = bone166.addOrReplaceChild("bone172", CubeListBuilder.create().texOffs(30, 76).addBox(-4.0F, -16.675F, -15.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(3.5F, 16.1F, 15.0F)); + PartDefinition bone172 = bone166.addOrReplaceChild("bone172", CubeListBuilder.create().texOffs(30, 76).addBox(-4.0F, -16.675F, -15.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(3.5F, 16.1F, 15.0F)); - PartDefinition bone167 = bone159.addOrReplaceChild("bone167", CubeListBuilder.create().texOffs(33, 67).addBox(-0.5F, -0.6F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(3.5F, 0.4F, 2.0F, 0.0F, -0.7854F, 0.0F)); + PartDefinition bone167 = bone159.addOrReplaceChild("bone167", CubeListBuilder.create().texOffs(33, 67).addBox(-0.5F, -0.6F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(3.5F, 0.4F, 2.0F, 0.0F, -0.7854F, 0.0F)); - PartDefinition bone173 = bone167.addOrReplaceChild("bone173", CubeListBuilder.create().texOffs(30, 76).addBox(3.0F, -16.675F, -15.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(-3.5F, 16.1F, 15.0F)); + PartDefinition bone173 = bone167.addOrReplaceChild("bone173", CubeListBuilder.create().texOffs(30, 76).addBox(3.0F, -16.675F, -15.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(-3.5F, 16.1F, 15.0F)); - PartDefinition bone131 = bone159.addOrReplaceChild("bone131", CubeListBuilder.create().texOffs(30, 57).addBox(6.0F, -2.75F, -9.75F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(30, 57).addBox(4.75F, -2.75F, -6.75F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(30, 57).addBox(3.5F, -2.75F, -3.75F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(30, 57).mirror().addBox(-4.5F, -2.75F, -3.75F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false) - .texOffs(72, 29).mirror().addBox(-5.0F, -2.1F, -4.25F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false) - .texOffs(72, 29).mirror().addBox(-6.25F, -2.1F, -7.25F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false) - .texOffs(72, 29).mirror().addBox(-7.5F, -2.1F, -10.25F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false) - .texOffs(72, 29).addBox(5.5F, -2.1F, -10.25F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(72, 29).addBox(4.25F, -2.1F, -7.25F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(72, 29).addBox(3.0F, -2.1F, -4.25F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(30, 57).mirror().addBox(-5.75F, -2.75F, -6.75F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false) - .texOffs(30, 57).mirror().addBox(-7.0F, -2.75F, -9.75F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offset(0.0F, 2.0F, 10.75F)); + PartDefinition bone131 = bone159.addOrReplaceChild("bone131", CubeListBuilder.create().texOffs(30, 57).addBox(6.0F, -2.75F, -9.75F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(30, 57).addBox(4.75F, -2.75F, -6.75F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(30, 57).addBox(3.5F, -2.75F, -3.75F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(30, 57).mirror().addBox(-4.5F, -2.75F, -3.75F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false) + .texOffs(72, 29).mirror().addBox(-5.0F, -2.1F, -4.25F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false) + .texOffs(72, 29).mirror().addBox(-6.25F, -2.1F, -7.25F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false) + .texOffs(72, 29).mirror().addBox(-7.5F, -2.1F, -10.25F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false) + .texOffs(72, 29).addBox(5.5F, -2.1F, -10.25F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(72, 29).addBox(4.25F, -2.1F, -7.25F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(72, 29).addBox(3.0F, -2.1F, -4.25F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(30, 57).mirror().addBox(-5.75F, -2.75F, -6.75F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false) + .texOffs(30, 57).mirror().addBox(-7.0F, -2.75F, -9.75F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offset(0.0F, 2.0F, 10.75F)); - PartDefinition bone193 = bone131.addOrReplaceChild("bone193", CubeListBuilder.create().texOffs(30, 59).mirror().addBox(-7.0F, -17.225F, -16.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offset(0.0F, 14.5F, 6.25F)); + PartDefinition bone193 = bone131.addOrReplaceChild("bone193", CubeListBuilder.create().texOffs(30, 59).mirror().addBox(-7.0F, -17.225F, -16.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offset(0.0F, 14.5F, 6.25F)); - PartDefinition bone194 = bone131.addOrReplaceChild("bone194", CubeListBuilder.create().texOffs(30, 59).mirror().addBox(-7.0F, -17.225F, -16.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offset(1.25F, 14.5F, 9.25F)); + PartDefinition bone194 = bone131.addOrReplaceChild("bone194", CubeListBuilder.create().texOffs(30, 59).mirror().addBox(-7.0F, -17.225F, -16.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offset(1.25F, 14.5F, 9.25F)); - PartDefinition bone204 = bone131.addOrReplaceChild("bone204", CubeListBuilder.create().texOffs(30, 59).mirror().addBox(-7.0F, -17.225F, -16.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offset(2.5F, 14.5F, 12.25F)); + PartDefinition bone204 = bone131.addOrReplaceChild("bone204", CubeListBuilder.create().texOffs(30, 59).mirror().addBox(-7.0F, -17.225F, -16.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offset(2.5F, 14.5F, 12.25F)); - PartDefinition bone205 = bone131.addOrReplaceChild("bone205", CubeListBuilder.create().texOffs(30, 59).mirror().addBox(-7.0F, -17.225F, -16.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offset(10.5F, 14.5F, 12.25F)); + PartDefinition bone205 = bone131.addOrReplaceChild("bone205", CubeListBuilder.create().texOffs(30, 59).mirror().addBox(-7.0F, -17.225F, -16.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offset(10.5F, 14.5F, 12.25F)); - PartDefinition bone210 = bone131.addOrReplaceChild("bone210", CubeListBuilder.create().texOffs(30, 59).mirror().addBox(-7.0F, -17.225F, -16.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offset(11.75F, 14.5F, 9.25F)); + PartDefinition bone210 = bone131.addOrReplaceChild("bone210", CubeListBuilder.create().texOffs(30, 59).mirror().addBox(-7.0F, -17.225F, -16.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offset(11.75F, 14.5F, 9.25F)); - PartDefinition bone211 = bone131.addOrReplaceChild("bone211", CubeListBuilder.create().texOffs(30, 59).mirror().addBox(-7.0F, -17.225F, -16.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offset(13.0F, 14.5F, 6.25F)); + PartDefinition bone211 = bone131.addOrReplaceChild("bone211", CubeListBuilder.create().texOffs(30, 59).mirror().addBox(-7.0F, -17.225F, -16.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offset(13.0F, 14.5F, 6.25F)); - PartDefinition north_right = controls.addOrReplaceChild("north_right", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -15.0F, 0.0F, 0.0F, 1.0472F, 0.0F)); + PartDefinition north_right = controls.addOrReplaceChild("north_right", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -15.0F, 0.0F, 0.0F, 1.0472F, 0.0F)); - PartDefinition bone169 = north_right.addOrReplaceChild("bone169", CubeListBuilder.create().texOffs(61, 9).addBox(0.75F, -0.025F, 0.25F, 7.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(71, 5).addBox(-2.5F, -0.5F, 7.75F, 5.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(71, 5).addBox(-2.5F, -0.25F, 4.25F, 5.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(57, 24).addBox(-4.0F, -0.1F, 4.55F, 8.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)) - .texOffs(0, 0).addBox(-2.0F, -0.75F, 0.75F, 2.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)) - .texOffs(0, 41).addBox(-4.5F, -0.5F, 1.25F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(0, 0).addBox(-7.0F, -0.75F, 0.75F, 2.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.5F, -17.0F, 0.4363F, 0.0F, 0.0F)); + PartDefinition bone169 = north_right.addOrReplaceChild("bone169", CubeListBuilder.create().texOffs(61, 9).addBox(0.75F, -0.025F, 0.25F, 7.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(71, 5).addBox(-2.5F, -0.5F, 7.75F, 5.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(71, 5).addBox(-2.5F, -0.25F, 4.25F, 5.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(57, 24).addBox(-4.0F, -0.1F, 4.55F, 8.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)) + .texOffs(0, 0).addBox(-2.0F, -0.75F, 0.75F, 2.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)) + .texOffs(0, 41).addBox(-4.5F, -0.5F, 1.25F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(0, 0).addBox(-7.0F, -0.75F, 0.75F, 2.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.5F, -17.0F, 0.4363F, 0.0F, 0.0F)); - PartDefinition bone220 = bone169.addOrReplaceChild("bone220", CubeListBuilder.create().texOffs(82, 11).addBox(-2.0F, -16.975F, -9.25F, 4.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 16.5F, 17.0F)); + PartDefinition bone220 = bone169.addOrReplaceChild("bone220", CubeListBuilder.create().texOffs(82, 11).addBox(-2.0F, -16.975F, -9.25F, 4.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 16.5F, 17.0F)); - PartDefinition bone221 = bone169.addOrReplaceChild("bone221", CubeListBuilder.create().texOffs(82, 11).addBox(-2.0F, -16.725F, -9.25F, 4.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 16.5F, 13.5F)); + PartDefinition bone221 = bone169.addOrReplaceChild("bone221", CubeListBuilder.create().texOffs(82, 11).addBox(-2.0F, -16.725F, -9.25F, 4.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 16.5F, 13.5F)); - PartDefinition bone192 = bone169.addOrReplaceChild("bone192", CubeListBuilder.create().texOffs(77, 23).addBox(-4.0F, -16.575F, -11.45F, 8.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 16.5F, 17.0F)); + PartDefinition bone192 = bone169.addOrReplaceChild("bone192", CubeListBuilder.create().texOffs(77, 23).addBox(-4.0F, -16.575F, -11.45F, 8.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 16.5F, 17.0F)); - PartDefinition lever2 = bone169.addOrReplaceChild("lever2", CubeListBuilder.create().texOffs(68, 75).addBox(0.0F, 0.0F, -0.5F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-1.5F, -0.75F, 2.25F, 0.8727F, 0.0F, 0.0F)); + PartDefinition lever2 = bone169.addOrReplaceChild("lever2", CubeListBuilder.create().texOffs(68, 75).addBox(0.0F, 0.0F, -0.5F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-1.5F, -0.75F, 2.25F, 0.8727F, 0.0F, 0.0F)); - PartDefinition lever3 = bone169.addOrReplaceChild("lever3", CubeListBuilder.create().texOffs(68, 75).addBox(0.0F, 0.0F, -0.5F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-6.5F, -0.75F, 2.25F, 0.8727F, 0.0F, 0.0F)); + PartDefinition lever3 = bone169.addOrReplaceChild("lever3", CubeListBuilder.create().texOffs(68, 75).addBox(0.0F, 0.0F, -0.5F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-6.5F, -0.75F, 2.25F, 0.8727F, 0.0F, 0.0F)); - PartDefinition switchboard2 = bone169.addOrReplaceChild("switchboard2", CubeListBuilder.create().texOffs(71, 49).addBox(-3.25F, 0.0F, 0.0F, 5.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(4.5F, -0.75F, 3.0F, 0.3054F, 0.0F, 0.0F)); + PartDefinition switchboard2 = bone169.addOrReplaceChild("switchboard2", CubeListBuilder.create().texOffs(71, 49).addBox(-3.25F, 0.0F, 0.0F, 5.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(4.5F, -0.75F, 3.0F, 0.3054F, 0.0F, 0.0F)); - PartDefinition bone171 = bone169.addOrReplaceChild("bone171", CubeListBuilder.create().texOffs(69, 55).addBox(-3.5F, -2.5F, -6.25F, 6.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(43, 24).addBox(-3.25F, -2.525F, -6.0F, 5.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(4.5F, 1.75F, 8.25F)); + PartDefinition bone171 = bone169.addOrReplaceChild("bone171", CubeListBuilder.create().texOffs(69, 55).addBox(-3.5F, -2.5F, -6.25F, 6.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(43, 24).addBox(-3.25F, -2.525F, -6.0F, 5.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(4.5F, 1.75F, 8.25F)); - PartDefinition bone168 = bone171.addOrReplaceChild("bone168", CubeListBuilder.create().texOffs(78, 0).addBox(1.25F, -15.25F, -14.75F, 5.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(-4.5F, 12.75F, 8.75F)); + PartDefinition bone168 = bone171.addOrReplaceChild("bone168", CubeListBuilder.create().texOffs(78, 0).addBox(1.25F, -15.25F, -14.75F, 5.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(-4.5F, 12.75F, 8.75F)); - PartDefinition south_right = controls.addOrReplaceChild("south_right", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -15.0F, 0.0F, 0.0F, 2.0944F, 0.0F)); + PartDefinition south_right = controls.addOrReplaceChild("south_right", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -15.0F, 0.0F, 0.0F, 2.0944F, 0.0F)); - PartDefinition bone174 = south_right.addOrReplaceChild("bone174", CubeListBuilder.create().texOffs(71, 5).addBox(-2.5F, -0.5F, 7.75F, 5.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(20, 76).addBox(-0.5F, -0.25F, 6.25F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(74, 66).addBox(-4.5F, -0.5F, 4.75F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(28, 72).addBox(-5.0F, -0.75F, 1.75F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(74, 66).mirror().addBox(3.5F, -0.5F, 4.75F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false) - .texOffs(19, 67).addBox(-2.5F, 0.15F, 3.75F, 5.0F, 1.0F, 3.0F, new CubeDeformation(0.25F)) - .texOffs(17, 72).addBox(4.25F, -0.05F, 3.0F, 3.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.5F, -17.0F, 0.4363F, 0.0F, 0.0F)); + PartDefinition bone174 = south_right.addOrReplaceChild("bone174", CubeListBuilder.create().texOffs(71, 5).addBox(-2.5F, -0.5F, 7.75F, 5.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(20, 76).addBox(-0.5F, -0.25F, 6.25F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(74, 66).addBox(-4.5F, -0.5F, 4.75F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(28, 72).addBox(-5.0F, -0.75F, 1.75F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(74, 66).mirror().addBox(3.5F, -0.5F, 4.75F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false) + .texOffs(19, 67).addBox(-2.5F, 0.15F, 3.75F, 5.0F, 1.0F, 3.0F, new CubeDeformation(0.25F)) + .texOffs(17, 72).addBox(4.25F, -0.05F, 3.0F, 3.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.5F, -17.0F, 0.4363F, 0.0F, 0.0F)); - PartDefinition bone222 = bone174.addOrReplaceChild("bone222", CubeListBuilder.create().texOffs(82, 11).addBox(-2.0F, -16.975F, -9.25F, 4.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 16.5F, 17.0F)); + PartDefinition bone222 = bone174.addOrReplaceChild("bone222", CubeListBuilder.create().texOffs(82, 11).addBox(-2.0F, -16.975F, -9.25F, 4.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 16.5F, 17.0F)); - PartDefinition smallswitch = bone174.addOrReplaceChild("smallswitch", CubeListBuilder.create().texOffs(9, 73).addBox(-0.5F, 0.0F, -0.75F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-4.25F, -0.5F, 5.5F, 0.6545F, 0.0F, 0.0F)); + PartDefinition smallswitch = bone174.addOrReplaceChild("smallswitch", CubeListBuilder.create().texOffs(9, 73).addBox(-0.5F, 0.0F, -0.75F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-4.25F, -0.5F, 5.5F, 0.6545F, 0.0F, 0.0F)); - PartDefinition smallswitch2 = bone174.addOrReplaceChild("smallswitch2", CubeListBuilder.create().texOffs(9, 73).mirror().addBox(-0.5F, 0.0F, -0.75F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(4.25F, -0.5F, 5.5F, 0.6545F, 0.0F, 0.0F)); + PartDefinition smallswitch2 = bone174.addOrReplaceChild("smallswitch2", CubeListBuilder.create().texOffs(9, 73).mirror().addBox(-0.5F, 0.0F, -0.75F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(4.25F, -0.5F, 5.5F, 0.6545F, 0.0F, 0.0F)); - PartDefinition mediumswitch = bone174.addOrReplaceChild("mediumswitch", CubeListBuilder.create().texOffs(15, 76).addBox(-0.5F, 0.0F, -0.25F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-4.0F, -0.9F, 3.0F, 0.6109F, 0.0F, 0.0F)); + PartDefinition mediumswitch = bone174.addOrReplaceChild("mediumswitch", CubeListBuilder.create().texOffs(15, 76).addBox(-0.5F, 0.0F, -0.25F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-4.0F, -0.9F, 3.0F, 0.6109F, 0.0F, 0.0F)); - PartDefinition mediumswitch2 = bone174.addOrReplaceChild("mediumswitch2", CubeListBuilder.create().texOffs(15, 76).addBox(-0.5F, 0.0F, -0.25F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-6.5F, -0.9F, 1.5F, 0.6109F, 0.0F, 0.0F)); + PartDefinition mediumswitch2 = bone174.addOrReplaceChild("mediumswitch2", CubeListBuilder.create().texOffs(15, 76).addBox(-0.5F, 0.0F, -0.25F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-6.5F, -0.9F, 1.5F, 0.6109F, 0.0F, 0.0F)); - PartDefinition bone175 = bone174.addOrReplaceChild("bone175", CubeListBuilder.create().texOffs(0, 19).addBox(-5.0F, -2.25F, -7.5F, 4.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(73, 63).addBox(-3.9F, -2.55F, -6.5F, 3.0F, 1.0F, 1.0F, new CubeDeformation(-0.25F)) - .texOffs(0, 73).addBox(-3.9F, -2.55F, -7.5F, 3.0F, 1.0F, 1.0F, new CubeDeformation(-0.25F)), PartPose.offset(4.0F, 1.75F, 8.25F)); + PartDefinition bone175 = bone174.addOrReplaceChild("bone175", CubeListBuilder.create().texOffs(0, 19).addBox(-5.0F, -2.25F, -7.5F, 4.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(73, 63).addBox(-3.9F, -2.55F, -6.5F, 3.0F, 1.0F, 1.0F, new CubeDeformation(-0.25F)) + .texOffs(0, 73).addBox(-3.9F, -2.55F, -7.5F, 3.0F, 1.0F, 1.0F, new CubeDeformation(-0.25F)), PartPose.offset(4.0F, 1.75F, 8.25F)); - PartDefinition bone188 = bone175.addOrReplaceChild("bone188", CubeListBuilder.create().texOffs(81, 66).addBox(0.1F, -17.275F, -15.25F, 3.0F, 1.0F, 1.0F, new CubeDeformation(-0.25F)), PartPose.offset(-4.0F, 14.75F, 8.75F)); + PartDefinition bone188 = bone175.addOrReplaceChild("bone188", CubeListBuilder.create().texOffs(81, 66).addBox(0.1F, -17.275F, -15.25F, 3.0F, 1.0F, 1.0F, new CubeDeformation(-0.25F)), PartPose.offset(-4.0F, 14.75F, 8.75F)); - PartDefinition bone184 = bone174.addOrReplaceChild("bone184", CubeListBuilder.create().texOffs(28, 72).addBox(-2.5F, -2.5F, -3.75F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(-5.0F, 1.75F, 4.0F)); + PartDefinition bone184 = bone174.addOrReplaceChild("bone184", CubeListBuilder.create().texOffs(28, 72).addBox(-2.5F, -2.5F, -3.75F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(-5.0F, 1.75F, 4.0F)); - PartDefinition bone189 = bone174.addOrReplaceChild("bone189", CubeListBuilder.create().texOffs(29, 45).addBox(2.5F, -2.1F, -9.75F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(1.5F, 2.0F, 10.5F)); + PartDefinition bone189 = bone174.addOrReplaceChild("bone189", CubeListBuilder.create().texOffs(29, 45).addBox(2.5F, -2.1F, -9.75F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(1.5F, 2.0F, 10.5F)); - PartDefinition bone176 = bone189.addOrReplaceChild("bone176", CubeListBuilder.create().texOffs(33, 67).addBox(-0.5F, -0.6F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(3.5F, -1.6F, -8.5F, 0.0F, -0.7854F, 0.0F)); + PartDefinition bone176 = bone189.addOrReplaceChild("bone176", CubeListBuilder.create().texOffs(33, 67).addBox(-0.5F, -0.6F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(3.5F, -1.6F, -8.5F, 0.0F, -0.7854F, 0.0F)); - PartDefinition bone186 = bone176.addOrReplaceChild("bone186", CubeListBuilder.create().texOffs(30, 76).addBox(3.0F, -16.675F, -15.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(-3.5F, 16.1F, 15.0F)); + PartDefinition bone186 = bone176.addOrReplaceChild("bone186", CubeListBuilder.create().texOffs(30, 76).addBox(3.0F, -16.675F, -15.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(-3.5F, 16.1F, 15.0F)); - PartDefinition bone179 = bone174.addOrReplaceChild("bone179", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -0.25F, 6.75F, 0.0F, 2.2689F, 0.0F)); + PartDefinition bone179 = bone174.addOrReplaceChild("bone179", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -0.25F, 6.75F, 0.0F, 2.2689F, 0.0F)); - PartDefinition bone180 = bone179.addOrReplaceChild("bone180", CubeListBuilder.create().texOffs(75, 75).addBox(0.0F, -0.5F, -0.75F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, 0.0F, -0.1745F)); + PartDefinition bone180 = bone179.addOrReplaceChild("bone180", CubeListBuilder.create().texOffs(75, 75).addBox(0.0F, -0.5F, -0.75F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, 0.0F, -0.1745F)); - PartDefinition south = controls.addOrReplaceChild("south", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -15.0F, 0.0F, 0.0F, 3.1416F, 0.0F)); + PartDefinition south = controls.addOrReplaceChild("south", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -15.0F, 0.0F, 0.0F, 3.1416F, 0.0F)); - PartDefinition bone183 = south.addOrReplaceChild("bone183", CubeListBuilder.create().texOffs(71, 5).addBox(-2.5F, -0.5F, 7.75F, 5.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(17, 72).addBox(4.25F, -0.05F, 1.0F, 3.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(68, 35).addBox(0.25F, -0.05F, 0.5F, 3.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)) - .texOffs(19, 61).addBox(-3.0F, -0.55F, 4.75F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(50, 0).addBox(-6.25F, -0.05F, 0.0F, 3.0F, 1.0F, 7.0F, new CubeDeformation(0.0F)) - .texOffs(30, 57).mirror().addBox(-5.0F, -0.25F, 5.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false) - .texOffs(30, 57).mirror().addBox(-5.0F, -0.25F, 3.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false) - .texOffs(30, 57).mirror().addBox(-5.0F, -0.25F, 1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false) - .texOffs(19, 61).addBox(-3.0F, -0.55F, 2.5F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(19, 61).addBox(-3.0F, -0.55F, 0.25F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(19, 61).addBox(-1.5F, -0.55F, 0.25F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(19, 53).addBox(-1.25F, -0.65F, 0.5F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.5F, -17.0F, 0.4363F, 0.0F, 0.0F)); + PartDefinition bone183 = south.addOrReplaceChild("bone183", CubeListBuilder.create().texOffs(71, 5).addBox(-2.5F, -0.5F, 7.75F, 5.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(17, 72).addBox(4.25F, -0.05F, 1.0F, 3.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(68, 35).addBox(0.25F, -0.05F, 0.5F, 3.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)) + .texOffs(19, 61).addBox(-3.0F, -0.55F, 4.75F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(50, 0).addBox(-6.25F, -0.05F, 0.0F, 3.0F, 1.0F, 7.0F, new CubeDeformation(0.0F)) + .texOffs(30, 57).mirror().addBox(-5.0F, -0.25F, 5.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false) + .texOffs(30, 57).mirror().addBox(-5.0F, -0.25F, 3.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false) + .texOffs(30, 57).mirror().addBox(-5.0F, -0.25F, 1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false) + .texOffs(19, 61).addBox(-3.0F, -0.55F, 2.5F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(19, 61).addBox(-3.0F, -0.55F, 0.25F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(19, 61).addBox(-1.5F, -0.55F, 0.25F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(19, 53).addBox(-1.25F, -0.65F, 0.5F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.5F, -17.0F, 0.4363F, 0.0F, 0.0F)); - PartDefinition bone223 = bone183.addOrReplaceChild("bone223", CubeListBuilder.create().texOffs(82, 11).addBox(-2.0F, -16.975F, -9.25F, 4.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 16.5F, 17.0F)); + PartDefinition bone223 = bone183.addOrReplaceChild("bone223", CubeListBuilder.create().texOffs(82, 11).addBox(-2.0F, -16.975F, -9.25F, 4.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 16.5F, 17.0F)); - PartDefinition bone181 = bone183.addOrReplaceChild("bone181", CubeListBuilder.create().texOffs(30, 59).mirror().addBox(-5.0F, -16.725F, -14.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false) - .texOffs(30, 59).mirror().addBox(-5.0F, -16.725F, -16.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false) - .texOffs(83, 6).addBox(-5.25F, -16.525F, -15.0F, 1.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 16.5F, 17.0F)); + PartDefinition bone181 = bone183.addOrReplaceChild("bone181", CubeListBuilder.create().texOffs(30, 59).mirror().addBox(-5.0F, -16.725F, -14.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false) + .texOffs(30, 59).mirror().addBox(-5.0F, -16.725F, -16.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false) + .texOffs(83, 6).addBox(-5.25F, -16.525F, -15.0F, 1.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 16.5F, 17.0F)); - PartDefinition mediumswitch3 = bone183.addOrReplaceChild("mediumswitch3", CubeListBuilder.create().texOffs(15, 76).addBox(-0.5F, 0.0F, -0.25F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-0.5F, -0.9F, 6.5F, 0.6109F, 0.0F, 0.0F)); + PartDefinition mediumswitch3 = bone183.addOrReplaceChild("mediumswitch3", CubeListBuilder.create().texOffs(15, 76).addBox(-0.5F, 0.0F, -0.25F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-0.5F, -0.9F, 6.5F, 0.6109F, 0.0F, 0.0F)); - PartDefinition mediumswitch4 = bone183.addOrReplaceChild("mediumswitch4", CubeListBuilder.create().texOffs(15, 76).addBox(-0.5F, 0.0F, -0.25F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(2.0F, -0.9F, 6.5F, 0.6109F, 0.0F, 0.0F)); + PartDefinition mediumswitch4 = bone183.addOrReplaceChild("mediumswitch4", CubeListBuilder.create().texOffs(15, 76).addBox(-0.5F, 0.0F, -0.25F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(2.0F, -0.9F, 6.5F, 0.6109F, 0.0F, 0.0F)); - PartDefinition smallswitch3 = bone183.addOrReplaceChild("smallswitch3", CubeListBuilder.create().texOffs(19, 53).addBox(-0.25F, 0.0F, 0.0F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-2.5F, -0.55F, 5.0F, 0.3927F, 0.0F, 0.0F)); + PartDefinition smallswitch3 = bone183.addOrReplaceChild("smallswitch3", CubeListBuilder.create().texOffs(19, 53).addBox(-0.25F, 0.0F, 0.0F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-2.5F, -0.55F, 5.0F, 0.3927F, 0.0F, 0.0F)); - PartDefinition smallswitch4 = bone183.addOrReplaceChild("smallswitch4", CubeListBuilder.create().texOffs(19, 57).addBox(-0.25F, 0.0F, 0.0F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-2.5F, -0.55F, 2.75F, 0.3927F, 0.0F, 0.0F)); + PartDefinition smallswitch4 = bone183.addOrReplaceChild("smallswitch4", CubeListBuilder.create().texOffs(19, 57).addBox(-0.25F, 0.0F, 0.0F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-2.5F, -0.55F, 2.75F, 0.3927F, 0.0F, 0.0F)); - PartDefinition smallswitch5 = bone183.addOrReplaceChild("smallswitch5", CubeListBuilder.create().texOffs(19, 57).addBox(-0.25F, 0.0F, 0.0F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-2.5F, -0.55F, 0.5F, 0.3927F, 0.0F, 0.0F)); + PartDefinition smallswitch5 = bone183.addOrReplaceChild("smallswitch5", CubeListBuilder.create().texOffs(19, 57).addBox(-0.25F, 0.0F, 0.0F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-2.5F, -0.55F, 0.5F, 0.3927F, 0.0F, 0.0F)); - PartDefinition bone190 = bone183.addOrReplaceChild("bone190", CubeListBuilder.create().texOffs(29, 45).addBox(2.5F, -2.1F, -9.75F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(1.0F, 2.0F, 14.5F)); + PartDefinition bone190 = bone183.addOrReplaceChild("bone190", CubeListBuilder.create().texOffs(29, 45).addBox(2.5F, -2.1F, -9.75F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(1.0F, 2.0F, 14.5F)); - PartDefinition bone191 = bone190.addOrReplaceChild("bone191", CubeListBuilder.create().texOffs(33, 67).addBox(-0.5F, -0.6F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(3.5F, -1.6F, -8.5F, 0.0F, -0.7854F, 0.0F)); + PartDefinition bone191 = bone190.addOrReplaceChild("bone191", CubeListBuilder.create().texOffs(33, 67).addBox(-0.5F, -0.6F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(3.5F, -1.6F, -8.5F, 0.0F, -0.7854F, 0.0F)); - PartDefinition bone182 = bone191.addOrReplaceChild("bone182", CubeListBuilder.create().texOffs(30, 76).addBox(3.0F, -16.675F, -15.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(-3.5F, 16.1F, 15.0F)); + PartDefinition bone182 = bone191.addOrReplaceChild("bone182", CubeListBuilder.create().texOffs(30, 76).addBox(3.0F, -16.675F, -15.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(-3.5F, 16.1F, 15.0F)); - PartDefinition bone185 = bone183.addOrReplaceChild("bone185", CubeListBuilder.create().texOffs(28, 72).addBox(-2.5F, -2.5F, -3.75F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(1.0F, 1.75F, 9.0F)); + PartDefinition bone185 = bone183.addOrReplaceChild("bone185", CubeListBuilder.create().texOffs(28, 72).addBox(-2.5F, -2.5F, -3.75F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(1.0F, 1.75F, 9.0F)); - PartDefinition bone187 = bone183.addOrReplaceChild("bone187", CubeListBuilder.create().texOffs(28, 72).addBox(-2.5F, -2.5F, -3.75F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(3.5F, 1.75F, 9.0F)); + PartDefinition bone187 = bone183.addOrReplaceChild("bone187", CubeListBuilder.create().texOffs(28, 72).addBox(-2.5F, -2.5F, -3.75F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(3.5F, 1.75F, 9.0F)); - PartDefinition south_left = controls.addOrReplaceChild("south_left", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -15.0F, 0.0F, 0.0F, -2.0944F, 0.0F)); + PartDefinition south_left = controls.addOrReplaceChild("south_left", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -15.0F, 0.0F, 0.0F, -2.0944F, 0.0F)); - PartDefinition bone195 = south_left.addOrReplaceChild("bone195", CubeListBuilder.create().texOffs(71, 5).addBox(-2.5F, -0.5F, 7.75F, 5.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(49, 35).addBox(-4.5F, -0.05F, 0.25F, 9.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(55, 65).addBox(-3.75F, -0.05F, 2.5F, 8.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(0, 13).addBox(-5.75F, -0.05F, 3.25F, 2.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)) - .texOffs(0, 13).mirror().addBox(3.75F, -0.05F, 3.25F, 2.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(0.0F, -1.5F, -17.0F, 0.4363F, 0.0F, 0.0F)); + PartDefinition bone195 = south_left.addOrReplaceChild("bone195", CubeListBuilder.create().texOffs(71, 5).addBox(-2.5F, -0.5F, 7.75F, 5.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(49, 35).addBox(-4.5F, -0.05F, 0.25F, 9.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(55, 65).addBox(-3.75F, -0.05F, 2.5F, 8.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(0, 13).addBox(-5.75F, -0.05F, 3.25F, 2.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)) + .texOffs(0, 13).mirror().addBox(3.75F, -0.05F, 3.25F, 2.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(0.0F, -1.5F, -17.0F, 0.4363F, 0.0F, 0.0F)); - PartDefinition bone224 = bone195.addOrReplaceChild("bone224", CubeListBuilder.create().texOffs(82, 11).addBox(-2.0F, -16.975F, -9.25F, 4.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 16.5F, 17.0F)); + PartDefinition bone224 = bone195.addOrReplaceChild("bone224", CubeListBuilder.create().texOffs(82, 11).addBox(-2.0F, -16.975F, -9.25F, 4.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 16.5F, 17.0F)); - PartDefinition bone178 = bone195.addOrReplaceChild("bone178", CubeListBuilder.create().texOffs(55, 79).addBox(-3.75F, -14.525F, -14.5F, 8.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(74, 78).addBox(0.5F, -14.525F, -16.25F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 14.5F, 17.0F)); + PartDefinition bone178 = bone195.addOrReplaceChild("bone178", CubeListBuilder.create().texOffs(55, 79).addBox(-3.75F, -14.525F, -14.5F, 8.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(74, 78).addBox(0.5F, -14.525F, -16.25F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 14.5F, 17.0F)); - PartDefinition dialspin = bone195.addOrReplaceChild("dialspin", CubeListBuilder.create().texOffs(50, 0).addBox(-0.75F, -0.5F, -0.25F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-3.75F, -0.6F, 4.5F, 0.0F, -0.3491F, 0.0F)); + PartDefinition dialspin = bone195.addOrReplaceChild("dialspin", CubeListBuilder.create().texOffs(50, 0).addBox(-0.75F, -0.5F, -0.25F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-3.75F, -0.6F, 4.5F, 0.0F, -0.3491F, 0.0F)); - PartDefinition dialspin2 = bone195.addOrReplaceChild("dialspin2", CubeListBuilder.create().texOffs(50, 0).addBox(-0.75F, -0.5F, -0.25F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(3.75F, -0.6F, 4.5F, 0.0F, 0.829F, 0.0F)); + PartDefinition dialspin2 = bone195.addOrReplaceChild("dialspin2", CubeListBuilder.create().texOffs(50, 0).addBox(-0.75F, -0.5F, -0.25F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(3.75F, -0.6F, 4.5F, 0.0F, 0.829F, 0.0F)); - PartDefinition bone196 = bone195.addOrReplaceChild("bone196", CubeListBuilder.create().texOffs(43, 13).addBox(-0.75F, -0.5F, -0.25F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-3.25F, 0.2F, 1.25F, 0.0F, 0.7854F, 0.0F)); + PartDefinition bone196 = bone195.addOrReplaceChild("bone196", CubeListBuilder.create().texOffs(43, 13).addBox(-0.75F, -0.5F, -0.25F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-3.25F, 0.2F, 1.25F, 0.0F, 0.7854F, 0.0F)); - PartDefinition bone197 = bone195.addOrReplaceChild("bone197", CubeListBuilder.create().texOffs(5, 36).addBox(-0.75F, -0.35F, -0.25F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(2.25F, 0.2F, 1.25F, 0.0F, 0.7854F, 0.0F)); + PartDefinition bone197 = bone195.addOrReplaceChild("bone197", CubeListBuilder.create().texOffs(5, 36).addBox(-0.75F, -0.35F, -0.25F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(2.25F, 0.2F, 1.25F, 0.0F, 0.7854F, 0.0F)); - PartDefinition bone198 = bone195.addOrReplaceChild("bone198", CubeListBuilder.create().texOffs(5, 36).addBox(-0.75F, -0.35F, -0.25F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(3.25F, 0.2F, 1.25F, 0.0F, -2.3562F, 0.0F)); + PartDefinition bone198 = bone195.addOrReplaceChild("bone198", CubeListBuilder.create().texOffs(5, 36).addBox(-0.75F, -0.35F, -0.25F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(3.25F, 0.2F, 1.25F, 0.0F, -2.3562F, 0.0F)); - PartDefinition bone199 = bone195.addOrReplaceChild("bone199", CubeListBuilder.create(), PartPose.offset(1.0F, 2.0F, 14.5F)); + PartDefinition bone199 = bone195.addOrReplaceChild("bone199", CubeListBuilder.create(), PartPose.offset(1.0F, 2.0F, 14.5F)); - PartDefinition bone200 = bone199.addOrReplaceChild("bone200", CubeListBuilder.create(), PartPose.offsetAndRotation(3.5F, -1.6F, -8.5F, 0.0F, -0.7854F, 0.0F)); + PartDefinition bone200 = bone199.addOrReplaceChild("bone200", CubeListBuilder.create(), PartPose.offsetAndRotation(3.5F, -1.6F, -8.5F, 0.0F, -0.7854F, 0.0F)); - PartDefinition bone201 = bone195.addOrReplaceChild("bone201", CubeListBuilder.create().texOffs(29, 41).addBox(-5.75F, -2.5F, -4.75F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.25F)), PartPose.offset(1.0F, 1.75F, 9.0F)); + PartDefinition bone201 = bone195.addOrReplaceChild("bone201", CubeListBuilder.create().texOffs(29, 41).addBox(-5.75F, -2.5F, -4.75F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.25F)), PartPose.offset(1.0F, 1.75F, 9.0F)); - PartDefinition bone202 = bone201.addOrReplaceChild("bone202", CubeListBuilder.create(), PartPose.offsetAndRotation(-1.5F, -2.65F, -2.5F, 0.6109F, 0.0F, 0.0F)); + PartDefinition bone202 = bone201.addOrReplaceChild("bone202", CubeListBuilder.create(), PartPose.offsetAndRotation(-1.5F, -2.65F, -2.5F, 0.6109F, 0.0F, 0.0F)); - PartDefinition bone203 = bone195.addOrReplaceChild("bone203", CubeListBuilder.create().texOffs(29, 41).addBox(-0.75F, -2.5F, -4.75F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.25F)) - .texOffs(0, 45).addBox(-3.25F, -2.25F, -5.25F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(0, 45).addBox(-5.75F, -2.25F, -5.25F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(3.5F, 1.75F, 9.0F)); + PartDefinition bone203 = bone195.addOrReplaceChild("bone203", CubeListBuilder.create().texOffs(29, 41).addBox(-0.75F, -2.5F, -4.75F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.25F)) + .texOffs(0, 45).addBox(-3.25F, -2.25F, -5.25F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(0, 45).addBox(-5.75F, -2.25F, -5.25F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(3.5F, 1.75F, 9.0F)); - PartDefinition bone206 = bone203.addOrReplaceChild("bone206", CubeListBuilder.create().texOffs(43, 16).addBox(-0.5F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-2.25F, -2.25F, -4.5F, 0.5672F, 0.0F, 0.0F)); + PartDefinition bone206 = bone203.addOrReplaceChild("bone206", CubeListBuilder.create().texOffs(43, 16).addBox(-0.5F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-2.25F, -2.25F, -4.5F, 0.5672F, 0.0F, 0.0F)); - PartDefinition bone207 = bone203.addOrReplaceChild("bone207", CubeListBuilder.create().texOffs(43, 16).addBox(-0.5F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-4.75F, -2.25F, -4.5F, 0.5672F, 0.0F, 0.0F)); + PartDefinition bone207 = bone203.addOrReplaceChild("bone207", CubeListBuilder.create().texOffs(43, 16).addBox(-0.5F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-4.75F, -2.25F, -4.5F, 0.5672F, 0.0F, 0.0F)); - PartDefinition north_left = controls.addOrReplaceChild("north_left", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -15.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition north_left = controls.addOrReplaceChild("north_left", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -15.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone208 = north_left.addOrReplaceChild("bone208", CubeListBuilder.create().texOffs(71, 5).addBox(-2.5F, -0.5F, 7.75F, 5.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(58, 45).addBox(-0.75F, -0.05F, 1.25F, 8.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(58, 49).addBox(-5.25F, -0.2F, 2.75F, 4.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)) - .texOffs(17, 72).addBox(-4.5F, -0.05F, 1.0F, 3.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(0, 41).addBox(-7.75F, -0.5F, 0.75F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(5, 33).addBox(5.75F, -0.3F, 1.75F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(42, 51).addBox(2.5F, -0.15F, 2.0F, 3.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(52, 62).addBox(-1.0F, -0.05F, 0.5F, 8.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(64, 0).addBox(0.25F, -0.05F, 6.75F, 5.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.5F, -17.0F, 0.4363F, 0.0F, 0.0F)); + PartDefinition bone208 = north_left.addOrReplaceChild("bone208", CubeListBuilder.create().texOffs(71, 5).addBox(-2.5F, -0.5F, 7.75F, 5.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(58, 45).addBox(-0.75F, -0.05F, 1.25F, 8.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(58, 49).addBox(-5.25F, -0.2F, 2.75F, 4.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)) + .texOffs(17, 72).addBox(-4.5F, -0.05F, 1.0F, 3.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(0, 41).addBox(-7.75F, -0.5F, 0.75F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(5, 33).addBox(5.75F, -0.3F, 1.75F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(42, 51).addBox(2.5F, -0.15F, 2.0F, 3.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(52, 62).addBox(-1.0F, -0.05F, 0.5F, 8.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(64, 0).addBox(0.25F, -0.05F, 6.75F, 5.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.5F, -17.0F, 0.4363F, 0.0F, 0.0F)); - PartDefinition bone225 = bone208.addOrReplaceChild("bone225", CubeListBuilder.create().texOffs(82, 11).addBox(-2.0F, -10.975F, -9.25F, 4.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 10.5F, 17.0F)); + PartDefinition bone225 = bone208.addOrReplaceChild("bone225", CubeListBuilder.create().texOffs(82, 11).addBox(-2.0F, -10.975F, -9.25F, 4.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 10.5F, 17.0F)); - PartDefinition dialspin3 = bone208.addOrReplaceChild("dialspin3", CubeListBuilder.create().texOffs(50, 0).addBox(-0.75F, -0.5F, -0.25F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(1.25F, -0.6F, 4.5F, 0.0F, -1.2654F, 0.0F)); + PartDefinition dialspin3 = bone208.addOrReplaceChild("dialspin3", CubeListBuilder.create().texOffs(50, 0).addBox(-0.75F, -0.5F, -0.25F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(1.25F, -0.6F, 4.5F, 0.0F, -1.2654F, 0.0F)); - PartDefinition dialspin4 = bone208.addOrReplaceChild("dialspin4", CubeListBuilder.create().texOffs(50, 0).addBox(-0.75F, -0.5F, -0.25F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(4.25F, -0.6F, 4.5F, 0.0F, 0.829F, 0.0F)); + PartDefinition dialspin4 = bone208.addOrReplaceChild("dialspin4", CubeListBuilder.create().texOffs(50, 0).addBox(-0.75F, -0.5F, -0.25F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(4.25F, -0.6F, 4.5F, 0.0F, 0.829F, 0.0F)); - PartDefinition bone209 = bone208.addOrReplaceChild("bone209", CubeListBuilder.create().texOffs(55, 71).addBox(-2.0F, 0.0F, -3.0F, 4.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)) - .texOffs(50, 4).addBox(-1.0F, -0.75F, -1.5F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-3.25F, -0.2F, 6.75F, -0.3054F, 0.0F, 0.0F)); + PartDefinition bone209 = bone208.addOrReplaceChild("bone209", CubeListBuilder.create().texOffs(55, 71).addBox(-2.0F, 0.0F, -3.0F, 4.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)) + .texOffs(50, 4).addBox(-1.0F, -0.75F, -1.5F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-3.25F, -0.2F, 6.75F, -0.3054F, 0.0F, 0.0F)); - PartDefinition bone177 = bone209.addOrReplaceChild("bone177", CubeListBuilder.create().texOffs(55, 76).addBox(-0.5F, -0.5F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(-1.0F, 0.525F, -2.525F)); + PartDefinition bone177 = bone209.addOrReplaceChild("bone177", CubeListBuilder.create().texOffs(55, 76).addBox(-0.5F, -0.5F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(-1.0F, 0.525F, -2.525F)); - PartDefinition bone212 = bone208.addOrReplaceChild("bone212", CubeListBuilder.create(), PartPose.offset(1.0F, 2.0F, 14.5F)); + PartDefinition bone212 = bone208.addOrReplaceChild("bone212", CubeListBuilder.create(), PartPose.offset(1.0F, 2.0F, 14.5F)); - PartDefinition bone213 = bone212.addOrReplaceChild("bone213", CubeListBuilder.create(), PartPose.offsetAndRotation(3.5F, -1.6F, -8.5F, 0.0F, -0.7854F, 0.0F)); + PartDefinition bone213 = bone212.addOrReplaceChild("bone213", CubeListBuilder.create(), PartPose.offsetAndRotation(3.5F, -1.6F, -8.5F, 0.0F, -0.7854F, 0.0F)); - PartDefinition bone214 = bone208.addOrReplaceChild("bone214", CubeListBuilder.create().texOffs(29, 41).addBox(-0.75F, -2.5F, -4.75F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.25F)), PartPose.offset(1.0F, 1.75F, 9.0F)); + PartDefinition bone214 = bone208.addOrReplaceChild("bone214", CubeListBuilder.create().texOffs(29, 41).addBox(-0.75F, -2.5F, -4.75F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.25F)), PartPose.offset(1.0F, 1.75F, 9.0F)); - PartDefinition bone215 = bone214.addOrReplaceChild("bone215", CubeListBuilder.create(), PartPose.offsetAndRotation(-1.5F, -2.65F, -2.5F, 0.6109F, 0.0F, 0.0F)); + PartDefinition bone215 = bone214.addOrReplaceChild("bone215", CubeListBuilder.create(), PartPose.offsetAndRotation(-1.5F, -2.65F, -2.5F, 0.6109F, 0.0F, 0.0F)); - PartDefinition bone216 = bone208.addOrReplaceChild("bone216", CubeListBuilder.create().texOffs(29, 41).addBox(-0.25F, -2.5F, -4.75F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.25F)), PartPose.offset(3.5F, 1.75F, 9.0F)); + PartDefinition bone216 = bone208.addOrReplaceChild("bone216", CubeListBuilder.create().texOffs(29, 41).addBox(-0.25F, -2.5F, -4.75F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.25F)), PartPose.offset(3.5F, 1.75F, 9.0F)); - return LayerDefinition.create(meshdefinition, 128, 128); - } + 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().getAllParts().forEach(ModelPart::resetPose); - console_factory.render(poseStack, vertexConsumer, 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().getAllParts().forEach(ModelPart::resetPose); + console_factory.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + } - @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()); + @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 && globalConsoleBlock.getBlockState().getValue(GlobalConsoleBlock.POWERED)) { - if (reactions.isFlying()) { - this.animate(reactions.ROTOR_ANIMATION, FLIGHT, Minecraft.getInstance().player.tickCount); - } else { - if (TRConfig.CLIENT.PLAY_CONSOLE_IDLE_ANIMATIONS.get() && globalConsoleBlock != null) { - this.animate(globalConsoleBlock.liveliness, IDLE, Minecraft.getInstance().player.tickCount); - } - } - } + if (globalConsoleBlock != null && globalConsoleBlock.getBlockState().getValue(GlobalConsoleBlock.POWERED)) { + if (reactions.isFlying()) { + this.animate(reactions.ROTOR_ANIMATION, FLIGHT, Minecraft.getInstance().player.tickCount); + } else { + if (TRConfig.CLIENT.PLAY_CONSOLE_IDLE_ANIMATIONS.get() && globalConsoleBlock != null) { + this.animate(globalConsoleBlock.liveliness, IDLE, Minecraft.getInstance().player.tickCount); + } + } + } - float rot = -125 - ( 30 * ((float) reactions.getThrottleStage() / TardisPilotingManager.MAX_THROTTLE_STAGE)); - this.throttleLever.xRot = rot; + float rot = -125 - (30 * ((float) reactions.getThrottleStage() / TardisPilotingManager.MAX_THROTTLE_STAGE)); + this.throttleLever.xRot = rot; - this.handbrake.xRot = reactions.isHandbrakeEngaged() ? -155f : -125f; + this.handbrake.xRot = reactions.isHandbrakeEngaged() ? -155f : -125f; - console_factory.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - } + console_factory.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + } - @Override - public ModelPart root() { - return root; - } + @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 setupAnim(Entity entity, float f, float g, float h, float i, float j) { - } + } - @Override - public ResourceLocation getDefaultTexture() { - return FACTORY_TEXTURE; - } + @Override + public ResourceLocation getDefaultTexture() { + return FACTORY_TEXTURE; + } - @Override - public ResourceLocation getConsoleTheme() { - return ConsoleTheme.FACTORY.getId(); - } + @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 f92987f45..f759132e0 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 @@ -11,8 +11,6 @@ import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.model.geom.PartPose; import net.minecraft.client.model.geom.builders.*; -import net.minecraft.client.renderer.MultiBufferSource; -import net.minecraft.client.renderer.RenderType; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.entity.Entity; import net.minecraft.world.level.Level; @@ -26,2488 +24,2486 @@ public class InitiativeConsoleModel extends HierarchicalModel implements ConsoleUnit { - private static final ResourceLocation INITIATIVE_TEXTURE = new ResourceLocation(TardisRefined.MODID, "textures/blockentity/console/initiative/initiative_console.png"); - - public static final AnimationDefinition IDLE = AnimationDefinition.Builder.withLength(10f).looping() - .addAnimation("rotor_on", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0f, KeyframeAnimations.scaleVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone183", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.36f, KeyframeAnimations.posVec(0f, -0.17f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.56f, KeyframeAnimations.posVec(0f, 0.13f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.64f, KeyframeAnimations.posVec(0f, -0.22f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.6f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7.08f, KeyframeAnimations.posVec(0f, 0.25f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8.4f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(9.16f, KeyframeAnimations.posVec(0f, -0.12f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone183", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.96f, KeyframeAnimations.degreeVec(0f, -1.2f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.4f, KeyframeAnimations.degreeVec(0f, 1.58f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7.6f, KeyframeAnimations.degreeVec(0f, -2.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone192", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2f, KeyframeAnimations.degreeVec(2.5f, 0f, 2.5f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4f, KeyframeAnimations.degreeVec(1.5f, 0f, -1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6f, KeyframeAnimations.degreeVec(3.5f, 0f, -2f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8f, KeyframeAnimations.degreeVec(-1.5f, 0f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone193", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.76f, KeyframeAnimations.degreeVec(2.5f, 0f, 2.5f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.28f, KeyframeAnimations.degreeVec(1.5f, 0f, -1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.04f, KeyframeAnimations.degreeVec(3.5f, 0f, -2f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8f, KeyframeAnimations.degreeVec(-1.5f, 0f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(9.96f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone194", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2f, KeyframeAnimations.degreeVec(1.5f, 0f, 2.5f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.08f, KeyframeAnimations.degreeVec(1.5f, 0f, -1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.84f, KeyframeAnimations.degreeVec(3.5f, 0f, -3f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7.56f, KeyframeAnimations.degreeVec(-2f, 0f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone195", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2f, KeyframeAnimations.degreeVec(1f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4f, KeyframeAnimations.degreeVec(-2f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6f, KeyframeAnimations.degreeVec(1f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8f, KeyframeAnimations.degreeVec(-2f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone195", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2f, KeyframeAnimations.scaleVec(1f, 1.02f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4f, KeyframeAnimations.scaleVec(1f, 0.98f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8f, KeyframeAnimations.scaleVec(1f, 1.02f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone197", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2f, KeyframeAnimations.degreeVec(1f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4f, KeyframeAnimations.degreeVec(-2f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6f, KeyframeAnimations.degreeVec(1f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8f, KeyframeAnimations.degreeVec(-2f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone197", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2f, KeyframeAnimations.scaleVec(1f, 1.02f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4f, KeyframeAnimations.scaleVec(1f, 0.98f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8f, KeyframeAnimations.scaleVec(1f, 1.02f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone196", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.68f, KeyframeAnimations.degreeVec(1f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.56f, KeyframeAnimations.degreeVec(-2f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.76f, KeyframeAnimations.degreeVec(1f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7.2f, KeyframeAnimations.degreeVec(-2f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(9.6f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone196", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.2f, KeyframeAnimations.scaleVec(1f, 1.02f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.84f, KeyframeAnimations.scaleVec(1f, 0.98f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.12f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7.8f, KeyframeAnimations.scaleVec(1f, 1.02f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone200", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2f, KeyframeAnimations.degreeVec(6f, 0f, 2f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4f, KeyframeAnimations.degreeVec(-3f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6f, KeyframeAnimations.degreeVec(6f, 0f, -2f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8f, KeyframeAnimations.degreeVec(-3f, 0f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone199", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.2f, KeyframeAnimations.degreeVec(6f, 0f, 2f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.12f, KeyframeAnimations.degreeVec(-3f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.88f, KeyframeAnimations.degreeVec(6f, 0f, -2f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8.64f, KeyframeAnimations.degreeVec(-3f, 0f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone201", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.36f, KeyframeAnimations.posVec(0f, 0.18f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.56f, KeyframeAnimations.posVec(0f, -0.12f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.64f, KeyframeAnimations.posVec(0f, 0.23f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.6f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7.08f, KeyframeAnimations.posVec(0f, -0.25f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8.4f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(9.16f, KeyframeAnimations.posVec(0f, 0.13f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone201", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.96f, KeyframeAnimations.degreeVec(0f, 1.2f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.4f, KeyframeAnimations.degreeVec(0f, -1.57f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7.6f, KeyframeAnimations.degreeVec(0f, 2.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone203", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(0.12f, KeyframeAnimations.posVec(-0.25f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(0.44f, KeyframeAnimations.posVec(-0.13f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(0.88f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.6f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.2f, KeyframeAnimations.posVec(0.25f, 0.25f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.76f, KeyframeAnimations.posVec(0f, 0.25f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.48f, KeyframeAnimations.posVec(0.25f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.68f, KeyframeAnimations.posVec(0.5f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.84f, KeyframeAnimations.posVec(-0.01f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.08f, KeyframeAnimations.posVec(0.25f, -0.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.36f, KeyframeAnimations.posVec(-0.25f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.96f, KeyframeAnimations.posVec(0.5f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8.64f, KeyframeAnimations.posVec(-0.5f, -0.25f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(9.6f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone202", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(0.28f, KeyframeAnimations.posVec(-0.15f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(0.88f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.6f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.2f, KeyframeAnimations.posVec(0.25f, -0.12f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.76f, KeyframeAnimations.posVec(0f, 0.25f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.48f, KeyframeAnimations.posVec(-0.12f, 0.2f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.72f, KeyframeAnimations.posVec(0.13f, -0.17f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4f, KeyframeAnimations.posVec(0f, 0.1f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.84f, KeyframeAnimations.posVec(-0.01f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.32f, KeyframeAnimations.posVec(-0.27f, 0.33f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.24f, KeyframeAnimations.posVec(-0.02f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.96f, KeyframeAnimations.posVec(0.28f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8.56f, KeyframeAnimations.posVec(-0.22f, 0.1f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(9.6f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone204", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(0.4f, KeyframeAnimations.degreeVec(0.2f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.36f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.76f, KeyframeAnimations.degreeVec(5f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.12f, KeyframeAnimations.degreeVec(2.8f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.24f, KeyframeAnimations.degreeVec(-1f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.76f, KeyframeAnimations.degreeVec(1.03f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.32f, KeyframeAnimations.degreeVec(-0.5f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.72f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.04f, KeyframeAnimations.degreeVec(-7.6f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.28f, KeyframeAnimations.degreeVec(1.98f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.96f, KeyframeAnimations.degreeVec(-0.54f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7.48f, KeyframeAnimations.degreeVec(0.39f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone213", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.48f, KeyframeAnimations.scaleVec(1f, 1.01f, 1.01f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.96f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7.44f, KeyframeAnimations.scaleVec(1f, 1.01f, 1.01f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone214", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.6f, KeyframeAnimations.posVec(2f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.8f, KeyframeAnimations.posVec(2f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.92f, KeyframeAnimations.posVec(-4f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.48f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.8f, KeyframeAnimations.posVec(2f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(7.08f, KeyframeAnimations.posVec(2f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.6f, KeyframeAnimations.posVec(-4f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone215", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.6f, KeyframeAnimations.posVec(-2f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.8f, KeyframeAnimations.posVec(-2f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.92f, KeyframeAnimations.posVec(3.5f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.48f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.8f, KeyframeAnimations.posVec(-2f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(7.08f, KeyframeAnimations.posVec(-2f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.6f, KeyframeAnimations.posVec(3.5f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone216", - 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(2.96f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3f, 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), - new Keyframe(8.52f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.56f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.48f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.52f, 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, 0f, -0.05f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.96f, KeyframeAnimations.posVec(0f, 0f, -0.05f), - 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, 0f, -0.05f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.84f, KeyframeAnimations.posVec(0f, 0f, -0.05f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.88f, 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, 0f, -0.05f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.44f, KeyframeAnimations.posVec(0f, 0f, -0.05f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.48f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone229", - 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(1.96f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2f, 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(7.2f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(7.24f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.32f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.36f, 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("bone231", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.04f, KeyframeAnimations.posVec(0f, 0f, -0.05f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.24f, KeyframeAnimations.posVec(0f, 0f, -0.05f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.28f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.76f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.8f, KeyframeAnimations.posVec(0f, 0f, -0.05f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4f, KeyframeAnimations.posVec(0f, 0f, -0.05f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.04f, 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, 0f, -0.05f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(6.64f, KeyframeAnimations.posVec(0f, 0f, -0.05f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(6.68f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.28f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.32f, KeyframeAnimations.posVec(0f, 0f, -0.05f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.52f, KeyframeAnimations.posVec(0f, 0f, -0.05f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.56f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone232", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(1.44f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.56f, KeyframeAnimations.scaleVec(2.5f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8.56f, KeyframeAnimations.scaleVec(0f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(9.84f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone233", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0.32f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.44f, KeyframeAnimations.scaleVec(2.5f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7.44f, KeyframeAnimations.scaleVec(0f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8.72f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone235", - 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(3.28f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.32f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(7.44f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(7.48f, 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("bone234", - 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(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(6.96f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(7f, 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("bone236", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0.36f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.4f, KeyframeAnimations.posVec(0f, 0f, -0.05f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.6f, KeyframeAnimations.posVec(0f, 0f, -0.05f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.64f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.12f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.16f, KeyframeAnimations.posVec(0f, 0f, -0.05f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.36f, KeyframeAnimations.posVec(0f, 0f, -0.05f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.4f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.76f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.8f, KeyframeAnimations.posVec(0f, 0f, -0.05f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(7f, KeyframeAnimations.posVec(0f, 0f, -0.05f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(7.04f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.64f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.68f, KeyframeAnimations.posVec(0f, 0f, -0.05f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.88f, KeyframeAnimations.posVec(0f, 0f, -0.05f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.92f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone247", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0f, KeyframeAnimations.posVec(0f, -0.1f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone248", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0f, KeyframeAnimations.posVec(0f, -0.1f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone249", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0f, KeyframeAnimations.posVec(0f, -0.1f, 0f), - AnimationChannel.Interpolations.LINEAR))).build(); - public static final AnimationDefinition FLIGHT = AnimationDefinition.Builder.withLength(10f).looping() - .addAnimation("rotor_on", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(10f, KeyframeAnimations.degreeVec(0f, 180f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone183", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.36f, KeyframeAnimations.posVec(0f, -0.17f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.56f, KeyframeAnimations.posVec(0f, 0.13f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.64f, KeyframeAnimations.posVec(0f, -0.22f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.6f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7.08f, KeyframeAnimations.posVec(0f, 0.25f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8.4f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(9.16f, KeyframeAnimations.posVec(0f, -0.12f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone183", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.96f, KeyframeAnimations.degreeVec(0f, -1.2f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.4f, KeyframeAnimations.degreeVec(0f, 1.58f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7.6f, KeyframeAnimations.degreeVec(0f, -2.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone192", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2f, KeyframeAnimations.degreeVec(3.5f, 0f, 3.5f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.04f, KeyframeAnimations.degreeVec(0.5f, 0f, -1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6f, KeyframeAnimations.degreeVec(5.5f, 0f, -3f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8.08f, KeyframeAnimations.degreeVec(-2.5f, 0f, 2f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone192", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2f, KeyframeAnimations.scaleVec(1f, 1.1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4f, KeyframeAnimations.scaleVec(1f, 0.9f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6f, KeyframeAnimations.scaleVec(1f, 1.1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8f, KeyframeAnimations.scaleVec(1f, 0.9f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone193", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2f, KeyframeAnimations.degreeVec(3.5f, 0f, 3.5f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.04f, KeyframeAnimations.degreeVec(0.5f, 0f, -1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6f, KeyframeAnimations.degreeVec(5.5f, 0f, -3f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8.08f, KeyframeAnimations.degreeVec(-2.5f, 0f, 2f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone193", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2f, KeyframeAnimations.scaleVec(1f, 1.1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4f, KeyframeAnimations.scaleVec(1f, 0.9f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6f, KeyframeAnimations.scaleVec(1f, 1.1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8f, KeyframeAnimations.scaleVec(1f, 0.9f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone194", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2f, KeyframeAnimations.degreeVec(3.5f, 0f, 3.5f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.8f, KeyframeAnimations.degreeVec(0.5f, 0f, -1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.64f, KeyframeAnimations.degreeVec(5.5f, 0f, -3f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8.28f, KeyframeAnimations.degreeVec(-2.5f, 0f, 2f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone194", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2f, KeyframeAnimations.scaleVec(1f, 1.1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.76f, KeyframeAnimations.scaleVec(1f, 0.9f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.64f, KeyframeAnimations.scaleVec(1f, 1.1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8.2f, KeyframeAnimations.scaleVec(1f, 0.9f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone195", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2f, KeyframeAnimations.degreeVec(1f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4f, KeyframeAnimations.degreeVec(-2f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6f, KeyframeAnimations.degreeVec(1f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8f, KeyframeAnimations.degreeVec(-2f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone195", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.96f, KeyframeAnimations.scaleVec(1f, 1.1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4f, KeyframeAnimations.scaleVec(1f, 0.98f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7.52f, KeyframeAnimations.scaleVec(1f, 1.1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone197", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2f, KeyframeAnimations.degreeVec(1f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4f, KeyframeAnimations.degreeVec(-2f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6f, KeyframeAnimations.degreeVec(1f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8f, KeyframeAnimations.degreeVec(-2f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone197", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.96f, KeyframeAnimations.scaleVec(1f, 1.1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4f, KeyframeAnimations.scaleVec(1f, 0.98f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7.52f, KeyframeAnimations.scaleVec(1f, 1.1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone196", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2f, KeyframeAnimations.degreeVec(1f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4f, KeyframeAnimations.degreeVec(-2f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6f, KeyframeAnimations.degreeVec(1f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8f, KeyframeAnimations.degreeVec(-2f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone196", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.96f, KeyframeAnimations.scaleVec(1f, 1.1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4f, KeyframeAnimations.scaleVec(1f, 0.98f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7.52f, KeyframeAnimations.scaleVec(1f, 1.1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone200", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2f, KeyframeAnimations.degreeVec(6f, 0f, 2f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4f, KeyframeAnimations.degreeVec(-3f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6f, KeyframeAnimations.degreeVec(6f, 0f, -2f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8f, KeyframeAnimations.degreeVec(-3f, 0f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone199", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.2f, KeyframeAnimations.degreeVec(6f, 0f, 2f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.12f, KeyframeAnimations.degreeVec(-3f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.88f, KeyframeAnimations.degreeVec(6f, 0f, -2f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8.64f, KeyframeAnimations.degreeVec(-3f, 0f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone201", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.36f, KeyframeAnimations.posVec(0f, 0.18f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.56f, KeyframeAnimations.posVec(0f, -0.12f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.64f, KeyframeAnimations.posVec(0f, 0.23f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.6f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7.08f, KeyframeAnimations.posVec(0f, -0.25f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8.4f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(9.16f, KeyframeAnimations.posVec(0f, 0.13f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone201", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.96f, KeyframeAnimations.degreeVec(0f, 1.2f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.4f, KeyframeAnimations.degreeVec(0f, -1.57f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7.6f, KeyframeAnimations.degreeVec(0f, 2.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone203", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(0.44f, KeyframeAnimations.posVec(-0.13f, 0.25f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.64f, KeyframeAnimations.posVec(0.25f, -0.25f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.2f, KeyframeAnimations.posVec(-0.17f, 0.25f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.76f, KeyframeAnimations.posVec(0f, 0.25f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.48f, KeyframeAnimations.posVec(0.25f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.4f, KeyframeAnimations.posVec(-0.01f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.12f, KeyframeAnimations.posVec(0.25f, 0.3f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.72f, KeyframeAnimations.posVec(0.1f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8.64f, KeyframeAnimations.posVec(-0.5f, -0.25f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(9.6f, KeyframeAnimations.posVec(0.13f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone203", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(0.92f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.48f, KeyframeAnimations.scaleVec(1.1f, 1.1f, 1.1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.96f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.16f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7f, KeyframeAnimations.scaleVec(0.9f, 0.9f, 0.9f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(9.44f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone202", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(0.4f, KeyframeAnimations.posVec(-0.15f, -0.17f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(0.92f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.64f, KeyframeAnimations.posVec(0f, 1f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.2f, KeyframeAnimations.posVec(0.25f, 0.25f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.76f, KeyframeAnimations.posVec(0f, 0.93f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.48f, KeyframeAnimations.posVec(-0.12f, 0.53f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.72f, KeyframeAnimations.posVec(0.13f, 0.15f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4f, KeyframeAnimations.posVec(0f, 0.43f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.84f, KeyframeAnimations.posVec(-0.01f, 0.33f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.32f, KeyframeAnimations.posVec(-0.27f, 0.65f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.24f, KeyframeAnimations.posVec(-0.02f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.96f, KeyframeAnimations.posVec(0.28f, -0.55f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8.48f, KeyframeAnimations.posVec(-0.22f, -0.15f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(9.6f, KeyframeAnimations.posVec(0f, 0.15f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone204", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.04f, KeyframeAnimations.degreeVec(1f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.8f, KeyframeAnimations.degreeVec(-63.1f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.64f, KeyframeAnimations.degreeVec(-41f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.64f, KeyframeAnimations.degreeVec(-35.97f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.36f, KeyframeAnimations.degreeVec(-40.5f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7.8f, KeyframeAnimations.degreeVec(-16.61f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8.68f, KeyframeAnimations.degreeVec(-8f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(9.4f, KeyframeAnimations.degreeVec(-3f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.degreeVec(0f, 0f, 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, 0f, -0.05f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.96f, KeyframeAnimations.posVec(0f, 0f, -0.05f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.04f, KeyframeAnimations.posVec(0f, 0f, -0.05f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.96f, KeyframeAnimations.posVec(0f, 0f, -0.05f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3f, 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, 0f, -0.05f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.96f, KeyframeAnimations.posVec(0f, 0f, -0.05f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5f, 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, 0f, -0.05f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(6.96f, KeyframeAnimations.posVec(0f, 0f, -0.05f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(7f, 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, 0f, -0.05f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.96f, KeyframeAnimations.posVec(0f, 0f, -0.05f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone208", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.52f, KeyframeAnimations.degreeVec(0f, -8f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7.52f, KeyframeAnimations.degreeVec(0f, 8f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone198", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(-21.5f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone213", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.48f, KeyframeAnimations.scaleVec(1f, 1.01f, 1.01f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.96f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7.44f, KeyframeAnimations.scaleVec(1f, 1.01f, 1.01f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone214", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0f, KeyframeAnimations.posVec(0f, -0.1f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone215", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0f, KeyframeAnimations.posVec(0f, -0.1f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone216", - 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(2.96f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3f, 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), - new Keyframe(8.52f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.56f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.48f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.52f, 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.CATMULLROM), - new Keyframe(1.32f, KeyframeAnimations.posVec(-0.1f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.2f, KeyframeAnimations.posVec(0.1f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.84f, KeyframeAnimations.posVec(-0.1f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7.72f, KeyframeAnimations.posVec(0.1f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone222", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1f, KeyframeAnimations.scaleVec(1f, 1.05f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3f, KeyframeAnimations.scaleVec(1f, 0.95f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5f, KeyframeAnimations.scaleVec(1f, 1.05f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7f, KeyframeAnimations.scaleVec(1f, 0.98f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8.4f, KeyframeAnimations.scaleVec(1f, 1.02f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone227", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0.1f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone229", - 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(1.96f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.36f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.4f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.6f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.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.64f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(6.68f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(7.08f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(7.12f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.32f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.36f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.68f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.72f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.92f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.96f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone230", - 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.24f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.28f, 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.64f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(6.68f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .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, 0f, -0.05f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.24f, KeyframeAnimations.posVec(0f, 0f, -0.05f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.28f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.76f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.8f, KeyframeAnimations.posVec(0f, 0f, -0.05f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4f, KeyframeAnimations.posVec(0f, 0f, -0.05f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.04f, 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, 0f, -0.05f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(6.64f, KeyframeAnimations.posVec(0f, 0f, -0.05f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(6.68f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.28f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.32f, KeyframeAnimations.posVec(0f, 0f, -0.05f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.52f, KeyframeAnimations.posVec(0f, 0f, -0.05f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.56f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone232", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(1.44f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.56f, KeyframeAnimations.scaleVec(2.5f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8.56f, KeyframeAnimations.scaleVec(0f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(9.84f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone233", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0f, KeyframeAnimations.posVec(0f, -0.1f, 0f), - 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(1.52f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.56f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - 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(3.28f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.32f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.56f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.6f, 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(7.44f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(7.48f, 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("bone234", - 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(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(6.96f, KeyframeAnimations.posVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(7f, 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("bone236", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0.36f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.4f, KeyframeAnimations.posVec(0f, 0f, -0.05f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.6f, KeyframeAnimations.posVec(0f, 0f, -0.05f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.64f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.12f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.16f, KeyframeAnimations.posVec(0f, 0f, -0.05f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.36f, KeyframeAnimations.posVec(0f, 0f, -0.05f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.4f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.76f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.8f, KeyframeAnimations.posVec(0f, 0f, -0.05f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(7f, KeyframeAnimations.posVec(0f, 0f, -0.05f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(7.04f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.64f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.68f, KeyframeAnimations.posVec(0f, 0f, -0.05f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.88f, KeyframeAnimations.posVec(0f, 0f, -0.05f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(9.92f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone226", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0f, KeyframeAnimations.posVec(0f, -2f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("GRUM_core", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.6f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.04f, KeyframeAnimations.degreeVec(0f, -2.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.28f, KeyframeAnimations.degreeVec(0f, -1.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.6f, KeyframeAnimations.degreeVec(0f, 0.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.64f, KeyframeAnimations.degreeVec(0f, -0.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone237", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2f, KeyframeAnimations.posVec(0f, 2f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6f, KeyframeAnimations.posVec(0f, -2f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone237", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.12f, KeyframeAnimations.scaleVec(1.1f, 1.4f, 1.1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.32f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.44f, KeyframeAnimations.scaleVec(1.1f, 1.4f, 1.1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.68f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7.76f, KeyframeAnimations.scaleVec(1.1f, 1.4f, 1.1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone238", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.12f, KeyframeAnimations.scaleVec(1.1f, 1.4f, 1.1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.32f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.44f, KeyframeAnimations.scaleVec(1.1f, 1.4f, 1.1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.68f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7.76f, KeyframeAnimations.scaleVec(1.1f, 1.4f, 1.1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone239", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1f, KeyframeAnimations.posVec(13f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3f, KeyframeAnimations.posVec(13f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5f, KeyframeAnimations.posVec(13f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7f, KeyframeAnimations.posVec(13f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(9f, KeyframeAnimations.posVec(13f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone240", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(1f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2f, KeyframeAnimations.posVec(13f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4f, KeyframeAnimations.posVec(13f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6f, KeyframeAnimations.posVec(13f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8f, KeyframeAnimations.posVec(13f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(9f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.posVec(13f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone241", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1f, KeyframeAnimations.posVec(13f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3f, KeyframeAnimations.posVec(13f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5f, KeyframeAnimations.posVec(13f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7f, KeyframeAnimations.posVec(13f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(9f, KeyframeAnimations.posVec(13f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone242", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(1f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2f, KeyframeAnimations.posVec(13f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4f, KeyframeAnimations.posVec(13f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6f, KeyframeAnimations.posVec(13f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8f, KeyframeAnimations.posVec(13f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(9f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.posVec(13f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone243", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1f, KeyframeAnimations.posVec(13f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3f, KeyframeAnimations.posVec(13f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5f, KeyframeAnimations.posVec(13f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7f, KeyframeAnimations.posVec(13f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(9f, KeyframeAnimations.posVec(13f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone245", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(1f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2f, KeyframeAnimations.posVec(13f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4f, KeyframeAnimations.posVec(13f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6f, KeyframeAnimations.posVec(13f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8f, KeyframeAnimations.posVec(13f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(9f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.posVec(13f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone246", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0.2f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone247", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.6f, KeyframeAnimations.posVec(2f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.8f, KeyframeAnimations.posVec(2f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.92f, KeyframeAnimations.posVec(-4f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.48f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.8f, KeyframeAnimations.posVec(2f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(7.08f, KeyframeAnimations.posVec(2f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.6f, KeyframeAnimations.posVec(-4f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone248", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.6f, KeyframeAnimations.posVec(-2f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.8f, KeyframeAnimations.posVec(-2f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.92f, KeyframeAnimations.posVec(3.5f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.48f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.8f, KeyframeAnimations.posVec(-2f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(7.08f, KeyframeAnimations.posVec(-2f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(8.6f, KeyframeAnimations.posVec(3.5f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone249", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.04f, KeyframeAnimations.posVec(-1.5f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.04f, KeyframeAnimations.posVec(0.25f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.08f, KeyframeAnimations.posVec(-1.5f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.08f, KeyframeAnimations.posVec(0.25f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.12f, KeyframeAnimations.posVec(-1.5f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.12f, KeyframeAnimations.posVec(0.25f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7.16f, KeyframeAnimations.posVec(-1.5f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8.16f, KeyframeAnimations.posVec(0.25f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(9.2f, KeyframeAnimations.posVec(-1.5f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(9.96f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone255", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1f, KeyframeAnimations.posVec(0f, 0f, -0.05f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7f, KeyframeAnimations.posVec(0f, 0f, -0.05f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone256", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(1f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2f, KeyframeAnimations.posVec(0f, 0f, -0.05f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8f, KeyframeAnimations.posVec(0f, 0f, -0.05f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(9f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone257", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(2f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3f, KeyframeAnimations.posVec(0f, 0f, -0.05f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(9f, KeyframeAnimations.posVec(0f, 0f, -0.05f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone258", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, -0.05f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4f, KeyframeAnimations.posVec(0f, 0f, -0.05f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(9f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(10f, KeyframeAnimations.posVec(0f, 0f, -0.05f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone259", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1f, KeyframeAnimations.posVec(0f, 0f, -0.05f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5f, KeyframeAnimations.posVec(0f, 0f, -0.05f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone260", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(1f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2f, KeyframeAnimations.posVec(0f, 0f, -0.05f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6f, KeyframeAnimations.posVec(0f, 0f, -0.05f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone261", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(2f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3f, KeyframeAnimations.posVec(0f, 0f, -1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.96f, KeyframeAnimations.posVec(0f, 0f, -1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4f, KeyframeAnimations.posVec(0f, 0f, -0.25f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.24f, KeyframeAnimations.posVec(0f, 0f, -0.75f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.48f, KeyframeAnimations.posVec(0f, 0f, -0.5f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.12f, KeyframeAnimations.posVec(0f, 0f, -0.25f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.84f, KeyframeAnimations.posVec(0f, 0f, -0.5f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(6.2f, KeyframeAnimations.posVec(0f, 0f, -1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(7.56f, KeyframeAnimations.posVec(0f, 0f, -1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(7.72f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone261", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(2.76f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.6f, KeyframeAnimations.degreeVec(0f, 0f, 180f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(6.28f, KeyframeAnimations.degreeVec(0f, 0f, 180f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(7.48f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR))).build(); - - private final ModelPart root; - private final ModelPart throttle; - private final ModelPart handbrake; - private final ModelPart rotor_on; - - public InitiativeConsoleModel(ModelPart root) { - this.root = root; - this.throttle = findPart(this, "bone178"); - this.rotor_on = findPart(this, "rotor_on"); - this.handbrake = findPart(this, "bone185"); - } + public static final AnimationDefinition IDLE = AnimationDefinition.Builder.withLength(10f).looping() + .addAnimation("rotor_on", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0f, KeyframeAnimations.scaleVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone183", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.36f, KeyframeAnimations.posVec(0f, -0.17f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.56f, KeyframeAnimations.posVec(0f, 0.13f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.64f, KeyframeAnimations.posVec(0f, -0.22f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.6f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7.08f, KeyframeAnimations.posVec(0f, 0.25f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8.4f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(9.16f, KeyframeAnimations.posVec(0f, -0.12f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone183", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.96f, KeyframeAnimations.degreeVec(0f, -1.2f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.4f, KeyframeAnimations.degreeVec(0f, 1.58f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7.6f, KeyframeAnimations.degreeVec(0f, -2.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone192", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2f, KeyframeAnimations.degreeVec(2.5f, 0f, 2.5f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4f, KeyframeAnimations.degreeVec(1.5f, 0f, -1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6f, KeyframeAnimations.degreeVec(3.5f, 0f, -2f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8f, KeyframeAnimations.degreeVec(-1.5f, 0f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone193", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.76f, KeyframeAnimations.degreeVec(2.5f, 0f, 2.5f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.28f, KeyframeAnimations.degreeVec(1.5f, 0f, -1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.04f, KeyframeAnimations.degreeVec(3.5f, 0f, -2f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8f, KeyframeAnimations.degreeVec(-1.5f, 0f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(9.96f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone194", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2f, KeyframeAnimations.degreeVec(1.5f, 0f, 2.5f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.08f, KeyframeAnimations.degreeVec(1.5f, 0f, -1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.84f, KeyframeAnimations.degreeVec(3.5f, 0f, -3f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7.56f, KeyframeAnimations.degreeVec(-2f, 0f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone195", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2f, KeyframeAnimations.degreeVec(1f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4f, KeyframeAnimations.degreeVec(-2f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6f, KeyframeAnimations.degreeVec(1f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8f, KeyframeAnimations.degreeVec(-2f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone195", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2f, KeyframeAnimations.scaleVec(1f, 1.02f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4f, KeyframeAnimations.scaleVec(1f, 0.98f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8f, KeyframeAnimations.scaleVec(1f, 1.02f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone197", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2f, KeyframeAnimations.degreeVec(1f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4f, KeyframeAnimations.degreeVec(-2f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6f, KeyframeAnimations.degreeVec(1f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8f, KeyframeAnimations.degreeVec(-2f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone197", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2f, KeyframeAnimations.scaleVec(1f, 1.02f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4f, KeyframeAnimations.scaleVec(1f, 0.98f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8f, KeyframeAnimations.scaleVec(1f, 1.02f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone196", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.68f, KeyframeAnimations.degreeVec(1f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.56f, KeyframeAnimations.degreeVec(-2f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.76f, KeyframeAnimations.degreeVec(1f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7.2f, KeyframeAnimations.degreeVec(-2f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(9.6f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone196", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.2f, KeyframeAnimations.scaleVec(1f, 1.02f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.84f, KeyframeAnimations.scaleVec(1f, 0.98f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.12f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7.8f, KeyframeAnimations.scaleVec(1f, 1.02f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone200", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2f, KeyframeAnimations.degreeVec(6f, 0f, 2f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4f, KeyframeAnimations.degreeVec(-3f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6f, KeyframeAnimations.degreeVec(6f, 0f, -2f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8f, KeyframeAnimations.degreeVec(-3f, 0f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone199", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.2f, KeyframeAnimations.degreeVec(6f, 0f, 2f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.12f, KeyframeAnimations.degreeVec(-3f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.88f, KeyframeAnimations.degreeVec(6f, 0f, -2f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8.64f, KeyframeAnimations.degreeVec(-3f, 0f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone201", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.36f, KeyframeAnimations.posVec(0f, 0.18f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.56f, KeyframeAnimations.posVec(0f, -0.12f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.64f, KeyframeAnimations.posVec(0f, 0.23f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.6f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7.08f, KeyframeAnimations.posVec(0f, -0.25f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8.4f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(9.16f, KeyframeAnimations.posVec(0f, 0.13f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone201", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.96f, KeyframeAnimations.degreeVec(0f, 1.2f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.4f, KeyframeAnimations.degreeVec(0f, -1.57f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7.6f, KeyframeAnimations.degreeVec(0f, 2.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone203", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(0.12f, KeyframeAnimations.posVec(-0.25f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(0.44f, KeyframeAnimations.posVec(-0.13f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(0.88f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.6f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.2f, KeyframeAnimations.posVec(0.25f, 0.25f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.76f, KeyframeAnimations.posVec(0f, 0.25f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.48f, KeyframeAnimations.posVec(0.25f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.68f, KeyframeAnimations.posVec(0.5f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.84f, KeyframeAnimations.posVec(-0.01f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.08f, KeyframeAnimations.posVec(0.25f, -0.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.36f, KeyframeAnimations.posVec(-0.25f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.96f, KeyframeAnimations.posVec(0.5f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8.64f, KeyframeAnimations.posVec(-0.5f, -0.25f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(9.6f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone202", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(0.28f, KeyframeAnimations.posVec(-0.15f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(0.88f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.6f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.2f, KeyframeAnimations.posVec(0.25f, -0.12f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.76f, KeyframeAnimations.posVec(0f, 0.25f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.48f, KeyframeAnimations.posVec(-0.12f, 0.2f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.72f, KeyframeAnimations.posVec(0.13f, -0.17f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4f, KeyframeAnimations.posVec(0f, 0.1f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.84f, KeyframeAnimations.posVec(-0.01f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.32f, KeyframeAnimations.posVec(-0.27f, 0.33f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.24f, KeyframeAnimations.posVec(-0.02f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.96f, KeyframeAnimations.posVec(0.28f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8.56f, KeyframeAnimations.posVec(-0.22f, 0.1f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(9.6f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone204", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(0.4f, KeyframeAnimations.degreeVec(0.2f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.36f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.76f, KeyframeAnimations.degreeVec(5f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.12f, KeyframeAnimations.degreeVec(2.8f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.24f, KeyframeAnimations.degreeVec(-1f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.76f, KeyframeAnimations.degreeVec(1.03f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.32f, KeyframeAnimations.degreeVec(-0.5f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.72f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.04f, KeyframeAnimations.degreeVec(-7.6f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.28f, KeyframeAnimations.degreeVec(1.98f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.96f, KeyframeAnimations.degreeVec(-0.54f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7.48f, KeyframeAnimations.degreeVec(0.39f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone213", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.48f, KeyframeAnimations.scaleVec(1f, 1.01f, 1.01f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.96f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7.44f, KeyframeAnimations.scaleVec(1f, 1.01f, 1.01f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone214", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.6f, KeyframeAnimations.posVec(2f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.8f, KeyframeAnimations.posVec(2f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.92f, KeyframeAnimations.posVec(-4f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.48f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.8f, KeyframeAnimations.posVec(2f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(7.08f, KeyframeAnimations.posVec(2f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.6f, KeyframeAnimations.posVec(-4f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone215", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.6f, KeyframeAnimations.posVec(-2f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.8f, KeyframeAnimations.posVec(-2f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.92f, KeyframeAnimations.posVec(3.5f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.48f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.8f, KeyframeAnimations.posVec(-2f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(7.08f, KeyframeAnimations.posVec(-2f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.6f, KeyframeAnimations.posVec(3.5f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone216", + 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(2.96f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3f, 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), + new Keyframe(8.52f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.56f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.48f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.52f, 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, 0f, -0.05f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.96f, KeyframeAnimations.posVec(0f, 0f, -0.05f), + 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, 0f, -0.05f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.84f, KeyframeAnimations.posVec(0f, 0f, -0.05f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.88f, 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, 0f, -0.05f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.44f, KeyframeAnimations.posVec(0f, 0f, -0.05f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.48f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone229", + 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(1.96f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2f, 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(7.2f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(7.24f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.32f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.36f, 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("bone231", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.04f, KeyframeAnimations.posVec(0f, 0f, -0.05f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.24f, KeyframeAnimations.posVec(0f, 0f, -0.05f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.28f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.76f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.8f, KeyframeAnimations.posVec(0f, 0f, -0.05f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4f, KeyframeAnimations.posVec(0f, 0f, -0.05f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.04f, 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, 0f, -0.05f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(6.64f, KeyframeAnimations.posVec(0f, 0f, -0.05f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(6.68f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.28f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.32f, KeyframeAnimations.posVec(0f, 0f, -0.05f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.52f, KeyframeAnimations.posVec(0f, 0f, -0.05f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.56f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone232", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(1.44f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.56f, KeyframeAnimations.scaleVec(2.5f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8.56f, KeyframeAnimations.scaleVec(0f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(9.84f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone233", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0.32f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.44f, KeyframeAnimations.scaleVec(2.5f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7.44f, KeyframeAnimations.scaleVec(0f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8.72f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone235", + 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(3.28f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.32f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(7.44f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(7.48f, 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("bone234", + 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(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(6.96f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(7f, 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("bone236", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0.36f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.4f, KeyframeAnimations.posVec(0f, 0f, -0.05f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.6f, KeyframeAnimations.posVec(0f, 0f, -0.05f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.64f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.12f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.16f, KeyframeAnimations.posVec(0f, 0f, -0.05f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.36f, KeyframeAnimations.posVec(0f, 0f, -0.05f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.4f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.76f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.8f, KeyframeAnimations.posVec(0f, 0f, -0.05f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(7f, KeyframeAnimations.posVec(0f, 0f, -0.05f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(7.04f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.64f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.68f, KeyframeAnimations.posVec(0f, 0f, -0.05f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.88f, KeyframeAnimations.posVec(0f, 0f, -0.05f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.92f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone247", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0f, KeyframeAnimations.posVec(0f, -0.1f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone248", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0f, KeyframeAnimations.posVec(0f, -0.1f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone249", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0f, KeyframeAnimations.posVec(0f, -0.1f, 0f), + AnimationChannel.Interpolations.LINEAR))).build(); + public static final AnimationDefinition FLIGHT = AnimationDefinition.Builder.withLength(10f).looping() + .addAnimation("rotor_on", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(10f, KeyframeAnimations.degreeVec(0f, 180f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone183", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.36f, KeyframeAnimations.posVec(0f, -0.17f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.56f, KeyframeAnimations.posVec(0f, 0.13f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.64f, KeyframeAnimations.posVec(0f, -0.22f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.6f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7.08f, KeyframeAnimations.posVec(0f, 0.25f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8.4f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(9.16f, KeyframeAnimations.posVec(0f, -0.12f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone183", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.96f, KeyframeAnimations.degreeVec(0f, -1.2f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.4f, KeyframeAnimations.degreeVec(0f, 1.58f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7.6f, KeyframeAnimations.degreeVec(0f, -2.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone192", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2f, KeyframeAnimations.degreeVec(3.5f, 0f, 3.5f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.04f, KeyframeAnimations.degreeVec(0.5f, 0f, -1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6f, KeyframeAnimations.degreeVec(5.5f, 0f, -3f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8.08f, KeyframeAnimations.degreeVec(-2.5f, 0f, 2f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone192", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2f, KeyframeAnimations.scaleVec(1f, 1.1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4f, KeyframeAnimations.scaleVec(1f, 0.9f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6f, KeyframeAnimations.scaleVec(1f, 1.1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8f, KeyframeAnimations.scaleVec(1f, 0.9f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone193", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2f, KeyframeAnimations.degreeVec(3.5f, 0f, 3.5f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.04f, KeyframeAnimations.degreeVec(0.5f, 0f, -1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6f, KeyframeAnimations.degreeVec(5.5f, 0f, -3f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8.08f, KeyframeAnimations.degreeVec(-2.5f, 0f, 2f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone193", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2f, KeyframeAnimations.scaleVec(1f, 1.1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4f, KeyframeAnimations.scaleVec(1f, 0.9f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6f, KeyframeAnimations.scaleVec(1f, 1.1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8f, KeyframeAnimations.scaleVec(1f, 0.9f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone194", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2f, KeyframeAnimations.degreeVec(3.5f, 0f, 3.5f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.8f, KeyframeAnimations.degreeVec(0.5f, 0f, -1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.64f, KeyframeAnimations.degreeVec(5.5f, 0f, -3f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8.28f, KeyframeAnimations.degreeVec(-2.5f, 0f, 2f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone194", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2f, KeyframeAnimations.scaleVec(1f, 1.1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.76f, KeyframeAnimations.scaleVec(1f, 0.9f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.64f, KeyframeAnimations.scaleVec(1f, 1.1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8.2f, KeyframeAnimations.scaleVec(1f, 0.9f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone195", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2f, KeyframeAnimations.degreeVec(1f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4f, KeyframeAnimations.degreeVec(-2f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6f, KeyframeAnimations.degreeVec(1f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8f, KeyframeAnimations.degreeVec(-2f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone195", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.96f, KeyframeAnimations.scaleVec(1f, 1.1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4f, KeyframeAnimations.scaleVec(1f, 0.98f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7.52f, KeyframeAnimations.scaleVec(1f, 1.1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone197", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2f, KeyframeAnimations.degreeVec(1f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4f, KeyframeAnimations.degreeVec(-2f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6f, KeyframeAnimations.degreeVec(1f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8f, KeyframeAnimations.degreeVec(-2f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone197", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.96f, KeyframeAnimations.scaleVec(1f, 1.1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4f, KeyframeAnimations.scaleVec(1f, 0.98f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7.52f, KeyframeAnimations.scaleVec(1f, 1.1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone196", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2f, KeyframeAnimations.degreeVec(1f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4f, KeyframeAnimations.degreeVec(-2f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6f, KeyframeAnimations.degreeVec(1f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8f, KeyframeAnimations.degreeVec(-2f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone196", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.96f, KeyframeAnimations.scaleVec(1f, 1.1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4f, KeyframeAnimations.scaleVec(1f, 0.98f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7.52f, KeyframeAnimations.scaleVec(1f, 1.1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone200", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2f, KeyframeAnimations.degreeVec(6f, 0f, 2f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4f, KeyframeAnimations.degreeVec(-3f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6f, KeyframeAnimations.degreeVec(6f, 0f, -2f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8f, KeyframeAnimations.degreeVec(-3f, 0f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone199", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.2f, KeyframeAnimations.degreeVec(6f, 0f, 2f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.12f, KeyframeAnimations.degreeVec(-3f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.88f, KeyframeAnimations.degreeVec(6f, 0f, -2f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8.64f, KeyframeAnimations.degreeVec(-3f, 0f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone201", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.36f, KeyframeAnimations.posVec(0f, 0.18f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.56f, KeyframeAnimations.posVec(0f, -0.12f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.64f, KeyframeAnimations.posVec(0f, 0.23f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.6f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7.08f, KeyframeAnimations.posVec(0f, -0.25f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8.4f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(9.16f, KeyframeAnimations.posVec(0f, 0.13f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone201", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.96f, KeyframeAnimations.degreeVec(0f, 1.2f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.4f, KeyframeAnimations.degreeVec(0f, -1.57f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7.6f, KeyframeAnimations.degreeVec(0f, 2.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone203", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(0.44f, KeyframeAnimations.posVec(-0.13f, 0.25f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.64f, KeyframeAnimations.posVec(0.25f, -0.25f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.2f, KeyframeAnimations.posVec(-0.17f, 0.25f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.76f, KeyframeAnimations.posVec(0f, 0.25f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.48f, KeyframeAnimations.posVec(0.25f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.4f, KeyframeAnimations.posVec(-0.01f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.12f, KeyframeAnimations.posVec(0.25f, 0.3f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.72f, KeyframeAnimations.posVec(0.1f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8.64f, KeyframeAnimations.posVec(-0.5f, -0.25f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(9.6f, KeyframeAnimations.posVec(0.13f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone203", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(0.92f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.48f, KeyframeAnimations.scaleVec(1.1f, 1.1f, 1.1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.96f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.16f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7f, KeyframeAnimations.scaleVec(0.9f, 0.9f, 0.9f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(9.44f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone202", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(0.4f, KeyframeAnimations.posVec(-0.15f, -0.17f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(0.92f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.64f, KeyframeAnimations.posVec(0f, 1f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.2f, KeyframeAnimations.posVec(0.25f, 0.25f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.76f, KeyframeAnimations.posVec(0f, 0.93f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.48f, KeyframeAnimations.posVec(-0.12f, 0.53f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.72f, KeyframeAnimations.posVec(0.13f, 0.15f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4f, KeyframeAnimations.posVec(0f, 0.43f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.84f, KeyframeAnimations.posVec(-0.01f, 0.33f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.32f, KeyframeAnimations.posVec(-0.27f, 0.65f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.24f, KeyframeAnimations.posVec(-0.02f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.96f, KeyframeAnimations.posVec(0.28f, -0.55f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8.48f, KeyframeAnimations.posVec(-0.22f, -0.15f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(9.6f, KeyframeAnimations.posVec(0f, 0.15f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone204", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.04f, KeyframeAnimations.degreeVec(1f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.8f, KeyframeAnimations.degreeVec(-63.1f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.64f, KeyframeAnimations.degreeVec(-41f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.64f, KeyframeAnimations.degreeVec(-35.97f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.36f, KeyframeAnimations.degreeVec(-40.5f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7.8f, KeyframeAnimations.degreeVec(-16.61f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8.68f, KeyframeAnimations.degreeVec(-8f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(9.4f, KeyframeAnimations.degreeVec(-3f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.degreeVec(0f, 0f, 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, 0f, -0.05f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.96f, KeyframeAnimations.posVec(0f, 0f, -0.05f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.04f, KeyframeAnimations.posVec(0f, 0f, -0.05f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.96f, KeyframeAnimations.posVec(0f, 0f, -0.05f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3f, 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, 0f, -0.05f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.96f, KeyframeAnimations.posVec(0f, 0f, -0.05f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5f, 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, 0f, -0.05f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(6.96f, KeyframeAnimations.posVec(0f, 0f, -0.05f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(7f, 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, 0f, -0.05f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.96f, KeyframeAnimations.posVec(0f, 0f, -0.05f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone208", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.52f, KeyframeAnimations.degreeVec(0f, -8f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7.52f, KeyframeAnimations.degreeVec(0f, 8f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone198", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(-21.5f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone213", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.48f, KeyframeAnimations.scaleVec(1f, 1.01f, 1.01f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.96f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7.44f, KeyframeAnimations.scaleVec(1f, 1.01f, 1.01f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone214", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0f, KeyframeAnimations.posVec(0f, -0.1f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone215", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0f, KeyframeAnimations.posVec(0f, -0.1f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone216", + 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(2.96f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3f, 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), + new Keyframe(8.52f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.56f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.48f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.52f, 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.CATMULLROM), + new Keyframe(1.32f, KeyframeAnimations.posVec(-0.1f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.2f, KeyframeAnimations.posVec(0.1f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.84f, KeyframeAnimations.posVec(-0.1f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7.72f, KeyframeAnimations.posVec(0.1f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone222", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1f, KeyframeAnimations.scaleVec(1f, 1.05f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3f, KeyframeAnimations.scaleVec(1f, 0.95f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5f, KeyframeAnimations.scaleVec(1f, 1.05f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7f, KeyframeAnimations.scaleVec(1f, 0.98f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8.4f, KeyframeAnimations.scaleVec(1f, 1.02f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone227", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0.1f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone229", + 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(1.96f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.36f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.4f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.6f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.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.64f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(6.68f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(7.08f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(7.12f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.32f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.36f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.68f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.72f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.92f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.96f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone230", + 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.24f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.28f, 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.64f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(6.68f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .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, 0f, -0.05f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.24f, KeyframeAnimations.posVec(0f, 0f, -0.05f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.28f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.76f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.8f, KeyframeAnimations.posVec(0f, 0f, -0.05f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4f, KeyframeAnimations.posVec(0f, 0f, -0.05f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.04f, 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, 0f, -0.05f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(6.64f, KeyframeAnimations.posVec(0f, 0f, -0.05f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(6.68f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.28f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.32f, KeyframeAnimations.posVec(0f, 0f, -0.05f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.52f, KeyframeAnimations.posVec(0f, 0f, -0.05f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.56f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone232", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(1.44f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.56f, KeyframeAnimations.scaleVec(2.5f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8.56f, KeyframeAnimations.scaleVec(0f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(9.84f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone233", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0f, KeyframeAnimations.posVec(0f, -0.1f, 0f), + 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(1.52f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.56f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + 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(3.28f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.32f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.56f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.6f, 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(7.44f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(7.48f, 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("bone234", + 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(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(6.96f, KeyframeAnimations.posVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(7f, 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("bone236", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0.36f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.4f, KeyframeAnimations.posVec(0f, 0f, -0.05f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.6f, KeyframeAnimations.posVec(0f, 0f, -0.05f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.64f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.12f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.16f, KeyframeAnimations.posVec(0f, 0f, -0.05f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.36f, KeyframeAnimations.posVec(0f, 0f, -0.05f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.4f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.76f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.8f, KeyframeAnimations.posVec(0f, 0f, -0.05f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(7f, KeyframeAnimations.posVec(0f, 0f, -0.05f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(7.04f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.64f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.68f, KeyframeAnimations.posVec(0f, 0f, -0.05f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.88f, KeyframeAnimations.posVec(0f, 0f, -0.05f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(9.92f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone226", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0f, KeyframeAnimations.posVec(0f, -2f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("GRUM_core", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.6f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.04f, KeyframeAnimations.degreeVec(0f, -2.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.28f, KeyframeAnimations.degreeVec(0f, -1.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.6f, KeyframeAnimations.degreeVec(0f, 0.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.64f, KeyframeAnimations.degreeVec(0f, -0.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone237", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2f, KeyframeAnimations.posVec(0f, 2f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6f, KeyframeAnimations.posVec(0f, -2f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone237", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.12f, KeyframeAnimations.scaleVec(1.1f, 1.4f, 1.1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.32f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.44f, KeyframeAnimations.scaleVec(1.1f, 1.4f, 1.1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.68f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7.76f, KeyframeAnimations.scaleVec(1.1f, 1.4f, 1.1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone238", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.12f, KeyframeAnimations.scaleVec(1.1f, 1.4f, 1.1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.32f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.44f, KeyframeAnimations.scaleVec(1.1f, 1.4f, 1.1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.68f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7.76f, KeyframeAnimations.scaleVec(1.1f, 1.4f, 1.1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone239", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1f, KeyframeAnimations.posVec(13f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3f, KeyframeAnimations.posVec(13f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5f, KeyframeAnimations.posVec(13f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7f, KeyframeAnimations.posVec(13f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(9f, KeyframeAnimations.posVec(13f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone240", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(1f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2f, KeyframeAnimations.posVec(13f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4f, KeyframeAnimations.posVec(13f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6f, KeyframeAnimations.posVec(13f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8f, KeyframeAnimations.posVec(13f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(9f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.posVec(13f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone241", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1f, KeyframeAnimations.posVec(13f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3f, KeyframeAnimations.posVec(13f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5f, KeyframeAnimations.posVec(13f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7f, KeyframeAnimations.posVec(13f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(9f, KeyframeAnimations.posVec(13f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone242", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(1f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2f, KeyframeAnimations.posVec(13f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4f, KeyframeAnimations.posVec(13f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6f, KeyframeAnimations.posVec(13f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8f, KeyframeAnimations.posVec(13f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(9f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.posVec(13f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone243", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1f, KeyframeAnimations.posVec(13f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3f, KeyframeAnimations.posVec(13f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5f, KeyframeAnimations.posVec(13f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7f, KeyframeAnimations.posVec(13f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(9f, KeyframeAnimations.posVec(13f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone245", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(1f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2f, KeyframeAnimations.posVec(13f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4f, KeyframeAnimations.posVec(13f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6f, KeyframeAnimations.posVec(13f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8f, KeyframeAnimations.posVec(13f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(9f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.posVec(13f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone246", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0.2f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone247", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.6f, KeyframeAnimations.posVec(2f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.8f, KeyframeAnimations.posVec(2f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.92f, KeyframeAnimations.posVec(-4f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.48f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.8f, KeyframeAnimations.posVec(2f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(7.08f, KeyframeAnimations.posVec(2f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.6f, KeyframeAnimations.posVec(-4f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone248", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.6f, KeyframeAnimations.posVec(-2f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.8f, KeyframeAnimations.posVec(-2f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.92f, KeyframeAnimations.posVec(3.5f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.48f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.8f, KeyframeAnimations.posVec(-2f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(7.08f, KeyframeAnimations.posVec(-2f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(8.6f, KeyframeAnimations.posVec(3.5f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone249", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.04f, KeyframeAnimations.posVec(-1.5f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.04f, KeyframeAnimations.posVec(0.25f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.08f, KeyframeAnimations.posVec(-1.5f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.08f, KeyframeAnimations.posVec(0.25f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.12f, KeyframeAnimations.posVec(-1.5f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.12f, KeyframeAnimations.posVec(0.25f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7.16f, KeyframeAnimations.posVec(-1.5f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8.16f, KeyframeAnimations.posVec(0.25f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(9.2f, KeyframeAnimations.posVec(-1.5f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(9.96f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone255", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1f, KeyframeAnimations.posVec(0f, 0f, -0.05f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7f, KeyframeAnimations.posVec(0f, 0f, -0.05f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone256", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(1f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2f, KeyframeAnimations.posVec(0f, 0f, -0.05f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8f, KeyframeAnimations.posVec(0f, 0f, -0.05f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(9f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone257", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(2f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3f, KeyframeAnimations.posVec(0f, 0f, -0.05f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(9f, KeyframeAnimations.posVec(0f, 0f, -0.05f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone258", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, -0.05f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4f, KeyframeAnimations.posVec(0f, 0f, -0.05f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(9f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(10f, KeyframeAnimations.posVec(0f, 0f, -0.05f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone259", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1f, KeyframeAnimations.posVec(0f, 0f, -0.05f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5f, KeyframeAnimations.posVec(0f, 0f, -0.05f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone260", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(1f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2f, KeyframeAnimations.posVec(0f, 0f, -0.05f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6f, KeyframeAnimations.posVec(0f, 0f, -0.05f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone261", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(2f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3f, KeyframeAnimations.posVec(0f, 0f, -1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.96f, KeyframeAnimations.posVec(0f, 0f, -1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4f, KeyframeAnimations.posVec(0f, 0f, -0.25f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.24f, KeyframeAnimations.posVec(0f, 0f, -0.75f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.48f, KeyframeAnimations.posVec(0f, 0f, -0.5f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.12f, KeyframeAnimations.posVec(0f, 0f, -0.25f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.84f, KeyframeAnimations.posVec(0f, 0f, -0.5f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(6.2f, KeyframeAnimations.posVec(0f, 0f, -1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(7.56f, KeyframeAnimations.posVec(0f, 0f, -1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(7.72f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone261", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(2.76f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.6f, KeyframeAnimations.degreeVec(0f, 0f, 180f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(6.28f, KeyframeAnimations.degreeVec(0f, 0f, 180f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(7.48f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR))).build(); + private static final ResourceLocation INITIATIVE_TEXTURE = new ResourceLocation(TardisRefined.MODID, "textures/blockentity/console/initiative/initiative_console.png"); + private final ModelPart root; + private final ModelPart throttle; + private final ModelPart handbrake; + private final ModelPart rotor_on; + + public InitiativeConsoleModel(ModelPart root) { + this.root = root; + this.throttle = findPart(this, "bone178"); + this.rotor_on = findPart(this, "rotor_on"); + this.handbrake = findPart(this, "bone185"); + } - public static LayerDefinition createBodyLayer() { - MeshDefinition meshdefinition = new MeshDefinition(); - PartDefinition partdefinition = meshdefinition.getRoot(); + 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 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 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 = 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 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 = 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 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 = 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 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 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 = 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 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 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 = 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 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 = 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 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 = 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 = 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 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 = 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 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 = 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 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 = 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 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 = 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 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 = 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 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 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 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 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 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 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 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 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 = 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 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 = 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 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 = 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 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 = 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 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 = 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 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 = 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 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 = 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 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 = 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 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 = 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 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 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 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_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 = 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 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 = 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 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 = 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 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 = 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 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 = 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 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 = 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 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 = 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 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 = 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 = 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_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 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 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 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 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 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 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 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 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 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 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 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 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 = 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 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 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 = 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 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 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 = 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 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 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 = 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 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 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 = 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 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 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 = 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 = 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 = 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 = 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 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 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 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)); + 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); - } + 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); - } + @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 ModelPart root() { + return root; + } - @Override - public void setupAnim(Entity entity, float f, float g, float h, float i, float j) { + @Override + public void setupAnim(Entity entity, float f, float g, float h, float i, float j) { - } + } - @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()); + @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 && globalConsoleBlock.getBlockState().getValue(GlobalConsoleBlock.POWERED)) { - if (reactions.isFlying()) { - this.animate(reactions.ROTOR_ANIMATION, FLIGHT, Minecraft.getInstance().player.tickCount); - } else { - if (TRConfig.CLIENT.PLAY_CONSOLE_IDLE_ANIMATIONS.get() && globalConsoleBlock != null) { - this.animate(globalConsoleBlock.liveliness, IDLE, Minecraft.getInstance().player.tickCount); - } - } - } + if (globalConsoleBlock != null && globalConsoleBlock.getBlockState().getValue(GlobalConsoleBlock.POWERED)) { + if (reactions.isFlying()) { + this.animate(reactions.ROTOR_ANIMATION, FLIGHT, Minecraft.getInstance().player.tickCount); + } else { + if (TRConfig.CLIENT.PLAY_CONSOLE_IDLE_ANIMATIONS.get() && globalConsoleBlock != null) { + this.animate(globalConsoleBlock.liveliness, IDLE, Minecraft.getInstance().player.tickCount); + } + } + } - float rot = -1f + ( 2 * ((float)reactions.getThrottleStage() / TardisPilotingManager.MAX_THROTTLE_STAGE)); - throttle.xRot = rot; + float rot = -1f + (2 * ((float) reactions.getThrottleStage() / TardisPilotingManager.MAX_THROTTLE_STAGE)); + throttle.xRot = rot; - handbrake.xRot = reactions.isHandbrakeEngaged() ? 1f : 0f; + handbrake.xRot = reactions.isHandbrakeEngaged() ? 1f : 0f; - 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 INITIATIVE_TEXTURE; - } + @Override + public ResourceLocation getDefaultTexture() { + return INITIATIVE_TEXTURE; + } - @Override - public ResourceLocation getConsoleTheme() { - return ConsoleTheme.INITIATIVE.getId(); - } + @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 01c445957..781cb9f6c 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 @@ -11,8 +11,6 @@ import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.model.geom.PartPose; import net.minecraft.client.model.geom.builders.*; -import net.minecraft.client.renderer.MultiBufferSource; -import net.minecraft.client.renderer.RenderType; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.entity.Entity; import net.minecraft.world.level.Level; @@ -24,602 +22,600 @@ public class MystConsoleModel extends HierarchicalModel implements ConsoleUnit { - private static final ResourceLocation MYST_TEXTURE = new ResourceLocation(TardisRefined.MODID, "textures/blockentity/console/myst/myst_console.png"); + public static final AnimationDefinition MODEL_ROTOR_LOOP = AnimationDefinition.Builder.withLength(4f).looping() + .addAnimation("rotor", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2f, KeyframeAnimations.posVec(0f, -4f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("rotor", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4f, KeyframeAnimations.degreeVec(0f, 240f, 0f), + AnimationChannel.Interpolations.LINEAR))).build(); + private static final ResourceLocation MYST_TEXTURE = new ResourceLocation(TardisRefined.MODID, "textures/blockentity/console/myst/myst_console.png"); + private final ModelPart root; + private final ModelPart base_console; + private final ModelPart controls; + private final ModelPart rotor; + private final ModelPart throttle_control; + private final ModelPart handbrake; - public static final AnimationDefinition MODEL_ROTOR_LOOP = AnimationDefinition.Builder.withLength(4f).looping() - .addAnimation("rotor", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2f, KeyframeAnimations.posVec(0f, -4f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("rotor", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4f, KeyframeAnimations.degreeVec(0f, 240f, 0f), - AnimationChannel.Interpolations.LINEAR))).build(); + public MystConsoleModel(ModelPart root) { + this.root = root; + this.base_console = root.getChild("base_console"); + this.controls = root.getChild("controls"); + this.rotor = root.getChild("rotor"); + this.throttle_control = controls.getChild("south").getChild("bone120").getChild("throttle_control"); + this.handbrake = findPart(this, "door_control"); + } - private final ModelPart root; - private final ModelPart base_console; - private final ModelPart controls; - private final ModelPart rotor; - private final ModelPart throttle_control; - private final ModelPart handbrake; + public static LayerDefinition createBodyLayer() { + MeshDefinition meshdefinition = new MeshDefinition(); + PartDefinition partdefinition = meshdefinition.getRoot(); - public MystConsoleModel(ModelPart root) { - this.root = root; - this.base_console = root.getChild("base_console"); - this.controls = root.getChild("controls"); - this.rotor = root.getChild("rotor"); - this.throttle_control = controls.getChild("south").getChild("bone120").getChild("throttle_control"); - this.handbrake = findPart(this, "door_control"); - } + PartDefinition base_console = partdefinition.addOrReplaceChild("base_console", CubeListBuilder.create(), PartPose.offset(0.0F, 24.0F, 0.0F)); - public static LayerDefinition createBodyLayer() { - MeshDefinition meshdefinition = new MeshDefinition(); - PartDefinition partdefinition = meshdefinition.getRoot(); + 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 base_console = partdefinition.addOrReplaceChild("base_console", CubeListBuilder.create(), PartPose.offset(0.0F, 24.0F, 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 bone32 = base_console.addOrReplaceChild("bone32", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -13.0F, 0.0F, 0.0F, -0.5236F, 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_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 bone32 = base_console.addOrReplaceChild("bone32", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -13.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); + PartDefinition bone33 = bone32.addOrReplaceChild("bone33", 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(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_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 bone33 = bone32.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(), 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_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 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(), 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_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 bone35 = bone34.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(), 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_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 bone36 = bone35.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(), 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_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 bone37 = bone36.addOrReplaceChild("bone37", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 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 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_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 bone80 = base_console.addOrReplaceChild("bone80", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -13.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); + PartDefinition bone81 = bone80.addOrReplaceChild("bone81", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 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_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 bone81 = bone80.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(), 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_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 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(), 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_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 bone83 = bone82.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(), 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_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 bone84 = bone83.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(), 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_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 bone85 = bone84.addOrReplaceChild("bone85", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 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 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_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 bone50 = base_console.addOrReplaceChild("bone50", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -16.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); + PartDefinition bone75 = bone50.addOrReplaceChild("bone75", 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(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_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 bone75 = bone50.addOrReplaceChild("bone75", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone76 = bone75.addOrReplaceChild("bone76", 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_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 bone76 = bone75.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(), 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_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 bone77 = bone76.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(), 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_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 bone78 = bone77.addOrReplaceChild("bone78", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone79 = bone78.addOrReplaceChild("bone79", 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_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 bone79 = bone78.addOrReplaceChild("bone79", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone38 = base_console.addOrReplaceChild("bone38", CubeListBuilder.create(), PartPose.offset(0.0F, -13.0F, 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_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 bone38 = base_console.addOrReplaceChild("bone38", CubeListBuilder.create(), PartPose.offset(0.0F, -13.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 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_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_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 = bone38.addOrReplaceChild("bone39", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 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_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 bone39 = bone38.addOrReplaceChild("bone39", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone40 = bone39.addOrReplaceChild("bone40", 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_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 bone40 = bone39.addOrReplaceChild("bone40", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 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 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_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 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 bone41 = bone40.addOrReplaceChild("bone41", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 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_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 bone41 = bone40.addOrReplaceChild("bone41", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone42 = bone41.addOrReplaceChild("bone42", 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_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 bone42 = bone41.addOrReplaceChild("bone42", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone43 = bone42.addOrReplaceChild("bone43", 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_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 bone43 = bone42.addOrReplaceChild("bone43", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 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 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 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 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 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 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 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 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 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 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 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 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 bone92 = base_console.addOrReplaceChild("bone92", CubeListBuilder.create(), PartPose.offset(0.0F, -19.0F, 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_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 bone92 = base_console.addOrReplaceChild("bone92", CubeListBuilder.create(), PartPose.offset(0.0F, -19.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 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_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 bone93 = bone92.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(), 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_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 bone94 = bone93.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(), 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_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 bone95 = bone94.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(), 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_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 bone96 = bone95.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(), 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_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 bone97 = bone96.addOrReplaceChild("bone97", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 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 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 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 bone114 = base_console.addOrReplaceChild("bone114", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -19.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); + PartDefinition bone121 = bone114.addOrReplaceChild("bone121", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 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 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 bone121 = bone114.addOrReplaceChild("bone121", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone126 = bone121.addOrReplaceChild("bone126", 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 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 bone126 = bone121.addOrReplaceChild("bone126", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone129 = bone126.addOrReplaceChild("bone129", 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 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 bone129 = bone126.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 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 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 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(), 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 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 bone131 = bone130.addOrReplaceChild("bone131", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 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 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 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 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 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 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 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 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 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 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 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 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 bone44 = base_console.addOrReplaceChild("bone44", CubeListBuilder.create(), PartPose.offset(0.0F, -13.0F, 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_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 bone44 = base_console.addOrReplaceChild("bone44", CubeListBuilder.create(), PartPose.offset(0.0F, -13.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 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_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 bone45 = bone44.addOrReplaceChild("bone45", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone46 = bone45.addOrReplaceChild("bone46", 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_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 bone46 = bone45.addOrReplaceChild("bone46", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone47 = bone46.addOrReplaceChild("bone47", 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_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 bone47 = bone46.addOrReplaceChild("bone47", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone48 = bone47.addOrReplaceChild("bone48", 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_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 bone48 = bone47.addOrReplaceChild("bone48", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone49 = bone48.addOrReplaceChild("bone49", 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_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 bone49 = bone48.addOrReplaceChild("bone49", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 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 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 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 bone13 = base_console.addOrReplaceChild("bone13", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -3.0F, 0.0F, 0.0F, -0.5236F, 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 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 bone14 = bone13.addOrReplaceChild("bone14", 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(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 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 bone14 = bone13.addOrReplaceChild("bone14", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 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 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 bone16 = bone14.addOrReplaceChild("bone16", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 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 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 bone16 = bone14.addOrReplaceChild("bone16", 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, 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 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 bone18 = bone16.addOrReplaceChild("bone18", 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, 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 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 bone18 = bone16.addOrReplaceChild("bone18", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 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 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 bone57 = bone18.addOrReplaceChild("bone57", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 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 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 bone57 = bone18.addOrReplaceChild("bone57", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 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 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 bone59 = bone57.addOrReplaceChild("bone59", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 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 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 bone59 = bone57.addOrReplaceChild("bone59", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 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 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 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 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 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 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 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 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 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 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 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 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 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 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 bone61 = base_console.addOrReplaceChild("bone61", CubeListBuilder.create(), PartPose.offset(0.0F, -3.0F, 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 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 bone61 = base_console.addOrReplaceChild("bone61", CubeListBuilder.create(), PartPose.offset(0.0F, -3.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 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 bone63 = bone61.addOrReplaceChild("bone63", 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(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 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 bone63 = bone61.addOrReplaceChild("bone63", 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(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 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 bone64 = bone63.addOrReplaceChild("bone64", 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(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 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 bone64 = bone63.addOrReplaceChild("bone64", 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(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 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 bone66 = bone64.addOrReplaceChild("bone66", 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(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 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 bone66 = bone64.addOrReplaceChild("bone66", 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(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 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 bone70 = bone66.addOrReplaceChild("bone70", 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(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 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 bone70 = bone66.addOrReplaceChild("bone70", 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(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 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 bone72 = bone70.addOrReplaceChild("bone72", 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(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 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 bone72 = bone70.addOrReplaceChild("bone72", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 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 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 controls = partdefinition.addOrReplaceChild("controls", CubeListBuilder.create(), PartPose.offset(0.0F, 11.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 north = controls.addOrReplaceChild("north", CubeListBuilder.create(), PartPose.offset(0.0F, 0.0F, 0.0F)); - PartDefinition controls = partdefinition.addOrReplaceChild("controls", CubeListBuilder.create(), PartPose.offset(0.0F, 11.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 = controls.addOrReplaceChild("north", CubeListBuilder.create(), PartPose.offset(0.0F, 0.0F, 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 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 rotate_control = north.addOrReplaceChild("rotate_control", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -10.0F, -11.575F, -0.4363F, 0.0F, 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 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 rotate_control = north.addOrReplaceChild("rotate_control", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -10.0F, -11.575F, -0.4363F, 0.0F, 0.0F)); + 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 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 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 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_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 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 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 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 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 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 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 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 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 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_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 = 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_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_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_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_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_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_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_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 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 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 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 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 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 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 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 bone116 = south.addOrReplaceChild("bone116", CubeListBuilder.create(), PartPose.offsetAndRotation(1.75F, -9.5F, -12.175F, 0.5236F, 0.0F, 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_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 bone116 = south.addOrReplaceChild("bone116", CubeListBuilder.create(), PartPose.offsetAndRotation(1.75F, -9.5F, -12.175F, 0.5236F, 0.0F, 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 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 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 south_left = controls.addOrReplaceChild("south_left", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -2.0944F, 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 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 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 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 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_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 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 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 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 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 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 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 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 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 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 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_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 = 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_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_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_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_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_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 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 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 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 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 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 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 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 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 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_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 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 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 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_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 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 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 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 south_right2 = controls.addOrReplaceChild("south_right2", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, 1.0472F, 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 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 south_right2 = controls.addOrReplaceChild("south_right2", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, 1.0472F, 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 = 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_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_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_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_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_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 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 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 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 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 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 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 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 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 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 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 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 rotor = partdefinition.addOrReplaceChild("rotor", CubeListBuilder.create(), PartPose.offset(0.0F, 23.0F, 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 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 rotor = partdefinition.addOrReplaceChild("rotor", CubeListBuilder.create(), PartPose.offset(0.0F, 23.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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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)); - 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)); + return LayerDefinition.create(meshdefinition, 128, 128); + } - 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)); + @Override + public void renderToBuffer(PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) { + base_console.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + controls.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + rotor.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + } - return LayerDefinition.create(meshdefinition, 128, 128); - } + @Override + public ModelPart root() { + return root; + } - @Override - public void renderToBuffer(PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) { - base_console.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - controls.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - rotor.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) { - @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 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()); + this.animate(reactions.ROTOR_ANIMATION, MODEL_ROTOR_LOOP, Minecraft.getInstance().player.tickCount); - } + float rot = -1f + (2 * ((float) reactions.getThrottleStage() / TardisPilotingManager.MAX_THROTTLE_STAGE)); + throttle_control.xRot = rot; - @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()); - this.animate(reactions.ROTOR_ANIMATION, MODEL_ROTOR_LOOP, Minecraft.getInstance().player.tickCount); + handbrake.xRot = reactions.isHandbrakeEngaged() ? 1f : 0f; - 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); + } - handbrake.xRot = reactions.isHandbrakeEngaged() ? 1f : 0f; + @Override + public ResourceLocation getDefaultTexture() { + return MYST_TEXTURE; + } - this.root.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - } - - @Override - public ResourceLocation getDefaultTexture() { - return MYST_TEXTURE; - } - - @Override - public ResourceLocation getConsoleTheme() { - return ConsoleTheme.MYST.getId(); - } + @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 d461d23c5..ff328e225 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 @@ -11,8 +11,6 @@ import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.model.geom.PartPose; import net.minecraft.client.model.geom.builders.*; -import net.minecraft.client.renderer.MultiBufferSource; -import net.minecraft.client.renderer.RenderType; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.entity.Entity; import net.minecraft.world.level.Level; @@ -25,510 +23,507 @@ public class NukaConsoleModel extends HierarchicalModel implements ConsoleUnit { - private static final ResourceLocation NUKA_TEXTURE = new ResourceLocation(TardisRefined.MODID, "textures/blockentity/console/nuka/nuka_console.png"); - - public static final AnimationDefinition MODEL_FLIGHT_LOOP = AnimationDefinition.Builder.withLength(6f).looping() - .addAnimation("rotor_zminus3_yplus5_rotateY", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3f, KeyframeAnimations.posVec(0f, 6.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("rotor_zminus3_yplus5_rotateY", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(6f, KeyframeAnimations.degreeVec(0f, 360f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone67", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(6f, KeyframeAnimations.degreeVec(0f, 360f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone61", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(6f, KeyframeAnimations.degreeVec(0f, 360f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone43", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(6f, KeyframeAnimations.degreeVec(0f, 360f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone37", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(6f, KeyframeAnimations.degreeVec(0f, 360f, 0f), - AnimationChannel.Interpolations.LINEAR))).build(); - - private final ModelPart rotor_zminus3_yplus5_rotateY; - private final ModelPart panels; - private final ModelPart console; - private final ModelPart bone37; - private final ModelPart bone43; - private final ModelPart bone67; - private final ModelPart bone61; - private final ModelPart root; - - private final ModelPart throttle; - - - public NukaConsoleModel(ModelPart root) { - this.root = root; - this.rotor_zminus3_yplus5_rotateY = root.getChild("rotor_zminus3_yplus5_rotateY"); - this.panels = root.getChild("panels"); - this.console = root.getChild("console"); - this.bone37 = root.getChild("bone37"); - this.bone43 = root.getChild("bone43"); - this.bone67 = root.getChild("bone67"); - this.bone61 = root.getChild("bone61"); - 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)); + public static final AnimationDefinition MODEL_FLIGHT_LOOP = AnimationDefinition.Builder.withLength(6f).looping() + .addAnimation("rotor_zminus3_yplus5_rotateY", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3f, KeyframeAnimations.posVec(0f, 6.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("rotor_zminus3_yplus5_rotateY", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(6f, KeyframeAnimations.degreeVec(0f, 360f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone67", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(6f, KeyframeAnimations.degreeVec(0f, 360f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone61", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(6f, KeyframeAnimations.degreeVec(0f, 360f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone43", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(6f, KeyframeAnimations.degreeVec(0f, 360f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone37", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(6f, KeyframeAnimations.degreeVec(0f, 360f, 0f), + AnimationChannel.Interpolations.LINEAR))).build(); + private static final ResourceLocation NUKA_TEXTURE = new ResourceLocation(TardisRefined.MODID, "textures/blockentity/console/nuka/nuka_console.png"); + private final ModelPart rotor_zminus3_yplus5_rotateY; + private final ModelPart panels; + private final ModelPart console; + private final ModelPart bone37; + private final ModelPart bone43; + private final ModelPart bone67; + private final ModelPart bone61; + private final ModelPart root; + + private final ModelPart throttle; + + + public NukaConsoleModel(ModelPart root) { + this.root = root; + this.rotor_zminus3_yplus5_rotateY = root.getChild("rotor_zminus3_yplus5_rotateY"); + this.panels = root.getChild("panels"); + this.console = root.getChild("console"); + this.bone37 = root.getChild("bone37"); + this.bone43 = root.getChild("bone43"); + this.bone67 = root.getChild("bone67"); + this.bone61 = root.getChild("bone61"); + 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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)); - 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); + } - 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) { + rotor_zminus3_yplus5_rotateY.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + panels.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + console.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + bone37.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + bone43.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + bone67.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + bone61.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + } + @Override + public ModelPart root() { + return root; + } - @Override - public void renderToBuffer(PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) { - rotor_zminus3_yplus5_rotateY.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - panels.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - console.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - bone37.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - bone43.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - bone67.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - bone61.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) { - @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 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); + panels.getAllParts().forEach(ModelPart::resetPose); + console.getAllParts().forEach(ModelPart::resetPose); - } + TardisClientData reactions = TardisClientData.getInstance(level.dimension()); - @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); - panels.getAllParts().forEach(ModelPart::resetPose); - console.getAllParts().forEach(ModelPart::resetPose); + if (globalConsoleBlock != null && globalConsoleBlock.getBlockState().getValue(GlobalConsoleBlock.POWERED)) { + this.animate(reactions.ROTOR_ANIMATION, MODEL_FLIGHT_LOOP, Minecraft.getInstance().player.tickCount); + } - TardisClientData reactions = TardisClientData.getInstance(level.dimension()); + float rot = -1f + (2 * ((float) reactions.getThrottleStage() / TardisPilotingManager.MAX_THROTTLE_STAGE)); + throttle.xRot = rot; - if (globalConsoleBlock != null && globalConsoleBlock.getBlockState().getValue(GlobalConsoleBlock.POWERED)) { - this.animate(reactions.ROTOR_ANIMATION, MODEL_FLIGHT_LOOP, Minecraft.getInstance().player.tickCount); - } + rotor_zminus3_yplus5_rotateY.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + panels.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + console.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + bone37.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + bone43.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + bone67.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + bone61.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + } - float rot = -1f + ( 2 * ((float)reactions.getThrottleStage() / TardisPilotingManager.MAX_THROTTLE_STAGE)); - throttle.xRot = rot; + @Override + public ResourceLocation getDefaultTexture() { + return NUKA_TEXTURE; + } - rotor_zminus3_yplus5_rotateY.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - panels.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - console.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - bone37.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - bone43.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - bone67.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - bone61.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - } - - @Override - public ResourceLocation getDefaultTexture() { - return NUKA_TEXTURE; - } - - @Override - public ResourceLocation getConsoleTheme() { - return ConsoleTheme.NUKA.getId(); - } + @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 ca2fb4411..44b12650f 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 @@ -21,1232 +21,1231 @@ public class RefurbishedConsoleModel extends HierarchicalModel implements ConsoleUnit { - private final ModelPart root; - private final ModelPart throttle; - private final ModelPart handbrake; + private static final ResourceLocation REFURBISHED_TEXTURE = new ResourceLocation(TardisRefined.MODID, "textures/blockentity/console/refurbished/refurbished_console.png"); + private final ModelPart root; + private final ModelPart throttle; + private final ModelPart handbrake; - private static final ResourceLocation REFURBISHED_TEXTURE = new ResourceLocation(TardisRefined.MODID, "textures/blockentity/console/refurbished/refurbished_console.png"); + public RefurbishedConsoleModel(ModelPart root) { + this.root = root; + this.throttle = (ModelPart) getAnyDescendantWithName("throttle").get(); + this.handbrake = (ModelPart) getAnyDescendantWithName("bone309").get(); - public RefurbishedConsoleModel(ModelPart root) { - this.root = root; - this.throttle = (ModelPart) getAnyDescendantWithName("throttle").get(); - this.handbrake = (ModelPart) getAnyDescendantWithName("bone309").get(); + } - } + public static LayerDefinition createBodyLayer() { + MeshDefinition meshdefinition = new MeshDefinition(); + PartDefinition partdefinition = meshdefinition.getRoot(); - 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 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 = 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 = 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 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 = 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 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 = 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 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 = 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 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 = 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 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 = 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 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 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 = 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_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 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 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 = 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_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 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 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 = 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_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 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 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 = 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_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 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 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 = 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_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 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 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 = 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_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 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 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 = 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_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 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 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 = 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_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 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 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 = 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_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 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 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 = 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_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 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 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 = 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_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 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 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 = 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_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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 = 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_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 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 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 = 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_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 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 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 = 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_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 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 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 = 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_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 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 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 = 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_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 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 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 = 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_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 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 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 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 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 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 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 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 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 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 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 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 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 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 = 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 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 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 = 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 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 = 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 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 = 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 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 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 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 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 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 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 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 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 = 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 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 = 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 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 = 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 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 = 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 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 = 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 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 = 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 = 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_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 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 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 = 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_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 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 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 = 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_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 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 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 = 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_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 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 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 = 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_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 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 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 = 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_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 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 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 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 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 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 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 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 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 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 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 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 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 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 = 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 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 = 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 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 = 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 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 = 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 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 = 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 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 = 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 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 = 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 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 = 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 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 = 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 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 = 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 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 = 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 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 = 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 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 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 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 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 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 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 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 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 = 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 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 = 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 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 = 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 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 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 = 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 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 = 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 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 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 = 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 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 = 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 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 = 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 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 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 = 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_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 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 = 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 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 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 = 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 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 = 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 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 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 = 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_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 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 = 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 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 = 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 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 = 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 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 = 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_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 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 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 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 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 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 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 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 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 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 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 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 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 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 = 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 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 = 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 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 = 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 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 = 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 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 = 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 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 = 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 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 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 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 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 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 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 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 = 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 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 = 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 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 = 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 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 = 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 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 = 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 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 = 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 = 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 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 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 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 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 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 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 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 = 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_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 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 = 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_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 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 = 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_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 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 = 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_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 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 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 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 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 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 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 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 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 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 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 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 = 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 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 = 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)); - 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); + } - 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); + } - @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 this.root; + } - @Override - public ModelPart root() { - return this.root; - } + @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()); - @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 && globalConsoleBlock.getBlockState().getValue(GlobalConsoleBlock.POWERED)) { + if (reactions.isFlying()) { + this.animate(reactions.ROTOR_ANIMATION, RefurbishedConsoleModelAnimation.FLIGHT, Minecraft.getInstance().player.tickCount); + } else { + if (TRConfig.CLIENT.PLAY_CONSOLE_IDLE_ANIMATIONS.get() && globalConsoleBlock != null) { + this.animate(globalConsoleBlock.liveliness, RefurbishedConsoleModelAnimation.IDLE, Minecraft.getInstance().player.tickCount); + } + } + } - if (globalConsoleBlock != null && globalConsoleBlock.getBlockState().getValue(GlobalConsoleBlock.POWERED)) { - if (reactions.isFlying()) { - this.animate(reactions.ROTOR_ANIMATION, RefurbishedConsoleModelAnimation.FLIGHT, Minecraft.getInstance().player.tickCount); - } else { - if (TRConfig.CLIENT.PLAY_CONSOLE_IDLE_ANIMATIONS.get() && globalConsoleBlock != null) { - this.animate(globalConsoleBlock.liveliness, RefurbishedConsoleModelAnimation.IDLE, Minecraft.getInstance().player.tickCount); - } - } - } + float rot = -1f + (2 * ((float) reactions.getThrottleStage() / TardisPilotingManager.MAX_THROTTLE_STAGE)); + throttle.xRot = rot; - float rot = -1f + ( 2 * ((float)reactions.getThrottleStage() / TardisPilotingManager.MAX_THROTTLE_STAGE)); - throttle.xRot = rot; + handbrake.xRot = reactions.isHandbrakeEngaged() ? 1f : 0f; - handbrake.xRot = reactions.isHandbrakeEngaged() ? 1f : 0f; + this.root.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + } - this.root.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - } + @Override + public ResourceLocation getDefaultTexture() { + return REFURBISHED_TEXTURE; + } - @Override - public ResourceLocation getDefaultTexture() { - return REFURBISHED_TEXTURE; - } + @Override + public ResourceLocation getConsoleTheme() { + return ConsoleTheme.REFURBISHED.getId(); + } - @Override - public ResourceLocation getConsoleTheme() { - return ConsoleTheme.REFURBISHED.getId(); - } + @Override + public void setupAnim(Entity entity, float f, float g, float h, float i, float j) { - @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/console/ToyotaConsoleModel.java b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/console/ToyotaConsoleModel.java index 93672c578..a8d531ac6 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 @@ -1,4 +1,5 @@ package whocraft.tardis_refined.client.model.blockentity.console; + import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; import net.minecraft.client.Minecraft; @@ -10,8 +11,6 @@ import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.model.geom.PartPose; import net.minecraft.client.model.geom.builders.*; -import net.minecraft.client.renderer.MultiBufferSource; -import net.minecraft.client.renderer.RenderType; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.entity.Entity; import net.minecraft.world.level.Level; @@ -23,1503 +22,1500 @@ import whocraft.tardis_refined.common.tardis.manager.TardisPilotingManager; import whocraft.tardis_refined.common.tardis.themes.ConsoleTheme; -import java.util.Calendar; - public class ToyotaConsoleModel extends HierarchicalModel implements ConsoleUnit { - private static final ResourceLocation TOYOTA_TEXTURE = new ResourceLocation(TardisRefined.MODID, "textures/blockentity/console/toyota/toyota_console.png"); - - - public static final AnimationDefinition LOOP = AnimationDefinition.Builder.withLength(6f).looping() - .addAnimation("bone", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6f, KeyframeAnimations.degreeVec(0f, 360f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone195", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(0.92f, KeyframeAnimations.scaleVec(1f, 1.2f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.24f, KeyframeAnimations.scaleVec(1f, 1.11f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.92f, KeyframeAnimations.scaleVec(1f, 0.92f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.68f, KeyframeAnimations.scaleVec(1f, 1.09f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.44f, KeyframeAnimations.scaleVec(1f, 0.94f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.28f, KeyframeAnimations.scaleVec(1f, 1.25f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.16f, KeyframeAnimations.scaleVec(1f, 0.91f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone230", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.04f, KeyframeAnimations.posVec(0f, -0.2f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.08f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.76f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.84f, KeyframeAnimations.posVec(0f, -0.2f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.48f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.28f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.36f, KeyframeAnimations.posVec(0f, -0.2f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.92f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.52f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.6f, KeyframeAnimations.posVec(0f, -0.2f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.72f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(6f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone229", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(2.6f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.64f, KeyframeAnimations.degreeVec(6f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.04f, KeyframeAnimations.degreeVec(6f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.08f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone231", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.56f, KeyframeAnimations.posVec(0f, -0.2f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.36f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.52f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.6f, KeyframeAnimations.posVec(0f, -0.2f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.76f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.36f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.44f, KeyframeAnimations.posVec(0f, -0.2f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.6f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.76f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.84f, KeyframeAnimations.posVec(0f, -0.2f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.4f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.16f, KeyframeAnimations.posVec(0f, -0.2f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.72f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(6f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone232", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0.48f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.52f, KeyframeAnimations.posVec(0f, -0.1f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.96f, KeyframeAnimations.posVec(0f, -0.1f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.72f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.76f, KeyframeAnimations.posVec(0f, -0.1f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.12f, KeyframeAnimations.posVec(0f, -0.1f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.16f, 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.1f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.4f, KeyframeAnimations.posVec(0f, -0.1f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.44f, 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.1f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.72f, KeyframeAnimations.posVec(0f, -0.1f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.76f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(6f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone239", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0.72f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.84f, KeyframeAnimations.scaleVec(1f, 1.12f, 1.12f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.04f, KeyframeAnimations.scaleVec(1f, 1.12f, 1.12f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.12f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.36f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.48f, KeyframeAnimations.scaleVec(1f, 1.12f, 1.12f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.72f, KeyframeAnimations.scaleVec(1f, 1.12f, 1.12f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.84f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.6f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.72f, KeyframeAnimations.scaleVec(1f, 1.12f, 1.12f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.96f, KeyframeAnimations.scaleVec(1f, 1.12f, 1.12f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.08f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.44f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.56f, KeyframeAnimations.scaleVec(1f, 1.12f, 1.12f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.68f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.16f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.28f, KeyframeAnimations.scaleVec(1f, 1.12f, 1.12f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.52f, KeyframeAnimations.scaleVec(1f, 1.12f, 1.12f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.64f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.2f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.32f, KeyframeAnimations.scaleVec(1f, 1.12f, 1.12f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.64f, KeyframeAnimations.scaleVec(1f, 1.12f, 1.12f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.68f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(6f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone240", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.04f, KeyframeAnimations.posVec(0f, 0.1f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.48f, KeyframeAnimations.posVec(0f, 0.1f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.52f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.04f, KeyframeAnimations.posVec(0f, 0.1f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.2f, KeyframeAnimations.posVec(0f, 0.1f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.24f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.76f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.8f, KeyframeAnimations.posVec(0f, 0.1f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.92f, KeyframeAnimations.posVec(0f, 0.1f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.96f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.04f, KeyframeAnimations.posVec(0f, 0.1f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.24f, KeyframeAnimations.posVec(0f, 0.1f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.28f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(6f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone241", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.04f, KeyframeAnimations.scaleVec(1.01f, 1.01f, 1.01f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.8f, KeyframeAnimations.scaleVec(1.01f, 1.01f, 1.01f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.84f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.04f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.08f, KeyframeAnimations.scaleVec(1.01f, 1.01f, 1.01f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.56f, KeyframeAnimations.scaleVec(1.01f, 1.01f, 1.01f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.6f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.92f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.96f, KeyframeAnimations.scaleVec(1.01f, 1.01f, 1.01f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.44f, KeyframeAnimations.scaleVec(1.01f, 1.01f, 1.01f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.48f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.LINEAR))).build(); - public static final AnimationDefinition FLIGHT = AnimationDefinition.Builder.withLength(6f).looping() - .addAnimation("bone", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3f, KeyframeAnimations.degreeVec(0f, 180f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6f, KeyframeAnimations.degreeVec(0f, 360f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone185", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0.92f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.28f, KeyframeAnimations.degreeVec(0f, 9.26f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.68f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.76f, KeyframeAnimations.degreeVec(0f, 29.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.12f, KeyframeAnimations.degreeVec(0f, -34f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.48f, KeyframeAnimations.degreeVec(0f, 3.18f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.56f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.68f, KeyframeAnimations.degreeVec(0f, -7.99f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.88f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone195", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(0.92f, KeyframeAnimations.scaleVec(1f, 1.23f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.24f, KeyframeAnimations.scaleVec(1f, 1.14f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.92f, KeyframeAnimations.scaleVec(1f, 0.92f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.68f, KeyframeAnimations.scaleVec(1f, 1.14f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.44f, KeyframeAnimations.scaleVec(1f, 0.94f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.28f, KeyframeAnimations.scaleVec(1f, 1.31f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.16f, KeyframeAnimations.scaleVec(1f, 0.91f, 1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("rotor_bottom_translate_2", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0.08f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.32f, KeyframeAnimations.posVec(0f, -4.65f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.64f, KeyframeAnimations.posVec(0f, 0.22f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.68f, KeyframeAnimations.posVec(0f, 0.57f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.76f, KeyframeAnimations.posVec(0f, 0.17f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.28f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.64f, KeyframeAnimations.posVec(0f, -0.13f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.16f, KeyframeAnimations.posVec(0f, -2.05f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.28f, KeyframeAnimations.posVec(0f, 0.17f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.96f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("rotor_bottom_translate_2", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0.04f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.08f, KeyframeAnimations.degreeVec(0f, -0.5f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.68f, KeyframeAnimations.degreeVec(0f, 11f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.24f, KeyframeAnimations.degreeVec(0f, -1f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.44f, KeyframeAnimations.degreeVec(0f, 0.05f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.64f, KeyframeAnimations.degreeVec(0f, 0.86f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.76f, KeyframeAnimations.degreeVec(0f, -6.54f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.88f, KeyframeAnimations.degreeVec(0f, 0.46f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.28f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.68f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.84f, KeyframeAnimations.degreeVec(0f, 2.02f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.96f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("rotor_top_translate_2", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(0.16f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.36f, KeyframeAnimations.posVec(0f, 4.45f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.68f, KeyframeAnimations.posVec(0f, -0.17f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.72f, KeyframeAnimations.posVec(0f, 0.08f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.76f, KeyframeAnimations.posVec(0f, -0.2f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.88f, KeyframeAnimations.posVec(0f, -0.44f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.28f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.52f, KeyframeAnimations.posVec(0f, 0.48f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.76f, KeyframeAnimations.posVec(0f, 1.65f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.08f, KeyframeAnimations.posVec(0f, 2.25f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.44f, KeyframeAnimations.posVec(0f, 1.57f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.28f, KeyframeAnimations.posVec(0f, 0.17f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.6f, KeyframeAnimations.posVec(0f, -0.25f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("rotor_top_translate_2", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.44f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.76f, KeyframeAnimations.degreeVec(0f, -20f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.64f, KeyframeAnimations.degreeVec(0f, -3.67f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.88f, KeyframeAnimations.degreeVec(0f, -7.69f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.72f, KeyframeAnimations.degreeVec(0f, 1.54f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.16f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.96f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone205", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.04f, KeyframeAnimations.degreeVec(-2.5f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.28f, KeyframeAnimations.degreeVec(1.13f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(6f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone226", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.84f, KeyframeAnimations.posVec(0f, 0f, -0.95f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.72f, KeyframeAnimations.posVec(0f, 0f, 0.4f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone227", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(0.96f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.56f, KeyframeAnimations.posVec(0f, 0f, 0.55f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.64f, KeyframeAnimations.posVec(0f, 0f, 0.4f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone228", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.12f, KeyframeAnimations.posVec(0f, 0f, -0.95f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.36f, KeyframeAnimations.posVec(0f, 0f, -0.35f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("bone230", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.04f, KeyframeAnimations.posVec(0f, -0.2f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.12f, KeyframeAnimations.posVec(0f, -0.2f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.16f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.68f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.72f, KeyframeAnimations.posVec(0f, -0.2f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.76f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.84f, KeyframeAnimations.posVec(0f, -0.2f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.4f, KeyframeAnimations.posVec(0f, -0.2f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.48f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.96f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2f, KeyframeAnimations.posVec(0f, -0.2f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.08f, KeyframeAnimations.posVec(0f, -0.2f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.12f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.28f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.36f, KeyframeAnimations.posVec(0f, -0.2f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.8f, KeyframeAnimations.posVec(0f, -0.2f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.92f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.2f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.24f, KeyframeAnimations.posVec(0f, -0.2f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.36f, KeyframeAnimations.posVec(0f, -0.2f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.4f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(6f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone229", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(2.6f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.64f, KeyframeAnimations.degreeVec(6f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.04f, KeyframeAnimations.degreeVec(6f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.08f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - 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.2f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.48f, KeyframeAnimations.posVec(0f, -0.2f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.52f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.68f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.72f, KeyframeAnimations.posVec(0f, -0.2f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.32f, KeyframeAnimations.posVec(0f, -0.2f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.36f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.04f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.08f, KeyframeAnimations.posVec(0f, -0.2f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.24f, KeyframeAnimations.posVec(0f, -0.2f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.28f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.88f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.96f, KeyframeAnimations.posVec(0f, -0.2f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.08f, KeyframeAnimations.posVec(0f, -0.2f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.12f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.76f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.84f, KeyframeAnimations.posVec(0f, -0.2f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.36f, KeyframeAnimations.posVec(0f, -0.2f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.4f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.16f, KeyframeAnimations.posVec(0f, -0.2f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.68f, KeyframeAnimations.posVec(0f, -0.2f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.72f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone232", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0.48f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.52f, KeyframeAnimations.posVec(0f, -0.1f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.96f, KeyframeAnimations.posVec(0f, -0.1f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1f, 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.1f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.72f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.36f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.4f, KeyframeAnimations.posVec(0f, -0.1f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.76f, KeyframeAnimations.posVec(0f, -0.1f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.8f, 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.1f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.4f, KeyframeAnimations.posVec(0f, -0.1f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.44f, 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.1f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.72f, KeyframeAnimations.posVec(0f, -0.1f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.76f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(6f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone239", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0.72f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.76f, KeyframeAnimations.scaleVec(1f, 1.12f, 1.12f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.08f, KeyframeAnimations.scaleVec(1f, 1.12f, 1.12f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.12f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.44f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.48f, KeyframeAnimations.scaleVec(1f, 1.12f, 1.12f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.8f, KeyframeAnimations.scaleVec(1f, 1.12f, 1.12f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.84f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.04f, KeyframeAnimations.scaleVec(1f, 1.12f, 1.12f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.36f, KeyframeAnimations.scaleVec(1f, 1.12f, 1.12f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.4f, 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(1f, 1.12f, 1.12f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.24f, KeyframeAnimations.scaleVec(1f, 1.12f, 1.12f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.28f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.6f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.64f, KeyframeAnimations.scaleVec(1f, 1.12f, 1.12f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.96f, KeyframeAnimations.scaleVec(1f, 1.12f, 1.12f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.16f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.2f, KeyframeAnimations.scaleVec(1f, 1.12f, 1.12f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.6f, KeyframeAnimations.scaleVec(1f, 1.12f, 1.12f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.64f, 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(1f, 1.12f, 1.12f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.64f, KeyframeAnimations.scaleVec(1f, 1.12f, 1.12f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.68f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(6f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone240", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.28f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.32f, KeyframeAnimations.posVec(0f, 0.1f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.48f, KeyframeAnimations.posVec(0f, 0.1f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.52f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.04f, KeyframeAnimations.posVec(0f, 0.1f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.48f, KeyframeAnimations.posVec(0f, 0.1f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.52f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.04f, KeyframeAnimations.posVec(0f, 0.1f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.2f, KeyframeAnimations.posVec(0f, 0.1f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.24f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.48f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.52f, KeyframeAnimations.posVec(0f, 0.1f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.68f, KeyframeAnimations.posVec(0f, 0.1f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.72f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.88f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.92f, KeyframeAnimations.posVec(0f, 0.1f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.08f, KeyframeAnimations.posVec(0f, 0.1f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.12f, 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.1f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.52f, KeyframeAnimations.posVec(0f, 0.1f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.56f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.76f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.8f, KeyframeAnimations.posVec(0f, 0.1f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.92f, KeyframeAnimations.posVec(0f, 0.1f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.96f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.04f, KeyframeAnimations.posVec(0f, 0.1f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.24f, KeyframeAnimations.posVec(0f, 0.1f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.28f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.64f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.68f, KeyframeAnimations.posVec(0f, 0.1f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.84f, KeyframeAnimations.posVec(0f, 0.1f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.88f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.08f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.12f, KeyframeAnimations.posVec(0f, 0.1f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.28f, KeyframeAnimations.posVec(0f, 0.1f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.32f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.52f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.56f, KeyframeAnimations.posVec(0f, 0.1f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.72f, KeyframeAnimations.posVec(0f, 0.1f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.76f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(6f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("bone241", - new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.04f, KeyframeAnimations.scaleVec(1.01f, 1.01f, 1.01f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.28f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.32f, KeyframeAnimations.scaleVec(1.01f, 1.01f, 1.01f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.52f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.56f, KeyframeAnimations.scaleVec(1.01f, 1.01f, 1.01f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.8f, KeyframeAnimations.scaleVec(1.01f, 1.01f, 1.01f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.84f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.56f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.6f, KeyframeAnimations.scaleVec(1.01f, 1.01f, 1.01f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.76f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.8f, KeyframeAnimations.scaleVec(1.01f, 1.01f, 1.01f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.04f, KeyframeAnimations.scaleVec(1.01f, 1.01f, 1.01f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.2f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.24f, KeyframeAnimations.scaleVec(1.01f, 1.01f, 1.01f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.4f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.44f, KeyframeAnimations.scaleVec(1.01f, 1.01f, 1.01f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.04f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.08f, KeyframeAnimations.scaleVec(1.01f, 1.01f, 1.01f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.56f, KeyframeAnimations.scaleVec(1.01f, 1.01f, 1.01f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.6f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.92f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.96f, KeyframeAnimations.scaleVec(1.01f, 1.01f, 1.01f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.44f, KeyframeAnimations.scaleVec(1.01f, 1.01f, 1.01f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.48f, KeyframeAnimations.scaleVec(1f, 1f, 1f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("Monitor_1", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(5.24f, KeyframeAnimations.degreeVec(0.21f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.52f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.72f, KeyframeAnimations.degreeVec(-0.2f, 0f, -0.1f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))) - .addAnimation("monitor_2", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(5.52f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.72f, KeyframeAnimations.degreeVec(-0.5f, 0f, -0.2f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))).build(); - private final ModelPart bone181; - private final ModelPart throttle; - private final ModelPart handbrake; - - public ToyotaConsoleModel(ModelPart root) { - this.bone181 = root.getChild("bone181"); - this.throttle = findPart(this, "bone198"); - this.handbrake = findPart(this, "bone202"); - } - - public static LayerDefinition createBodyLayer() { - MeshDefinition meshdefinition = new MeshDefinition(); - PartDefinition partdefinition = meshdefinition.getRoot(); - - PartDefinition bone181 = partdefinition.addOrReplaceChild("bone181", CubeListBuilder.create(), PartPose.offset(0.0F, 24.0F, 0.0F)); - - PartDefinition components = bone181.addOrReplaceChild("components", CubeListBuilder.create(), PartPose.offset(0.0F, -6.0F, 0.0F)); - - PartDefinition north = components.addOrReplaceChild("north", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -13.5F, 0.0F, 0.0F, 3.1416F, 0.0F)); - - PartDefinition bone182 = north.addOrReplaceChild("bone182", CubeListBuilder.create().texOffs(18, 67).addBox(5.475F, -0.475F, -1.375F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(0, 67).addBox(5.225F, -0.475F, -0.375F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(51, 4).addBox(3.875F, -0.975F, -2.125F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(16, 51).addBox(-3.0F, -0.725F, -0.875F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(16, 51).addBox(-1.5F, -0.725F, -0.875F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(26, 65).addBox(-3.5F, -0.125F, -1.625F, 7.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(16, 51).addBox(2.0F, -0.725F, -0.875F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(16, 51).addBox(0.5F, -0.725F, -0.875F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(32, 56).addBox(-3.0F, -0.575F, -2.375F, 6.0F, 1.0F, 1.0F, new CubeDeformation(-0.25F)) - .texOffs(24, 73).addBox(-1.0F, -0.475F, -2.375F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(72, 40).addBox(-3.25F, -0.05F, -5.625F, 6.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)) - .texOffs(0, 71).addBox(-5.5F, -0.55F, -3.875F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(42, 72).addBox(0.75F, -0.55F, -7.375F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(0, 69).addBox(-2.75F, -0.55F, -7.375F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(42, 64).addBox(-0.5F, -0.55F, -6.625F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.25F)) - .texOffs(21, 61).addBox(-0.5F, -0.9F, -7.125F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(88, 90).addBox(-7.25F, -0.125F, -2.125F, 2.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)) - .texOffs(88, 90).mirror().addBox(5.25F, -0.125F, -2.125F, 2.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)).mirror(false) - .texOffs(92, 69).addBox(-7.5F, -0.625F, -1.375F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(51, 4).mirror().addBox(-4.875F, -0.975F, -2.125F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(0.0F, 3.0F, 15.875F, -0.4974F, 0.0F, 0.0F)); - - PartDefinition bone239 = bone182.addOrReplaceChild("bone239", CubeListBuilder.create().texOffs(28, 69).addBox(-3.0F, -0.5F, -0.5F, 6.0F, 1.0F, 1.0F, new CubeDeformation(-0.275F)), PartPose.offset(0.0F, -0.075F, -1.875F)); - - PartDefinition bone180 = bone182.addOrReplaceChild("bone180", CubeListBuilder.create().texOffs(68, 86).addBox(-2.5F, 0.0F, -0.5F, 5.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-0.5F, -0.05F, -4.625F, 0.5236F, 0.0F, 0.0F)); - - PartDefinition bone178 = bone182.addOrReplaceChild("bone178", CubeListBuilder.create().texOffs(26, 51).addBox(0.1935F, -0.5F, -1.4809F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(3.25F, -0.55F, -4.375F, 0.0F, -0.48F, 0.0F)); - - PartDefinition bone214 = bone182.addOrReplaceChild("bone214", CubeListBuilder.create().texOffs(26, 51).addBox(-0.75F, -0.5F, -2.25F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(3.25F, -0.55F, -4.375F, 0.0F, -0.48F, 0.0F)); - - PartDefinition bone217 = bone182.addOrReplaceChild("bone217", CubeListBuilder.create().texOffs(26, 51).addBox(-0.75F, -0.5F, -0.75F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-3.5575F, -0.55F, -5.6714F, 0.0F, -0.48F, 0.0F)); - - PartDefinition bone175 = bone182.addOrReplaceChild("bone175", CubeListBuilder.create().texOffs(92, 13).addBox(0.0F, -1.0F, -2.0F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(5.0F, 0.45F, -1.875F, 0.0F, 0.7854F, 0.0F)); - - PartDefinition bone179 = bone182.addOrReplaceChild("bone179", CubeListBuilder.create().texOffs(21, 59).addBox(-0.5F, 0.0F, -1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-4.25F, -0.55F, -3.125F, -0.6109F, 0.0F, 0.0F)); - - PartDefinition bone210 = bone182.addOrReplaceChild("bone210", CubeListBuilder.create().texOffs(58, 72).addBox(-0.5F, -1.0F, 0.0F, 1.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(4.375F, 0.0F, -0.125F, 0.4363F, 0.0F, 0.0F)); - - PartDefinition bone211 = bone182.addOrReplaceChild("bone211", CubeListBuilder.create().texOffs(58, 72).mirror().addBox(-0.5F, -1.0F, 0.0F, 1.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(-4.375F, 0.0F, -0.125F, 0.4363F, 0.0F, 0.0F)); - - PartDefinition north_left = components.addOrReplaceChild("north_left", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -13.5F, 0.0F, 0.0F, 2.0944F, 0.0F)); - - PartDefinition bone183 = north_left.addOrReplaceChild("bone183", CubeListBuilder.create().texOffs(62, 32).addBox(-3.25F, 0.45F, -6.125F, 7.0F, 1.0F, 7.0F, new CubeDeformation(0.5F)) - .texOffs(0, 59).addBox(-3.5F, -0.2F, -6.375F, 7.0F, 1.0F, 7.0F, new CubeDeformation(0.0F)) - .texOffs(91, 82).addBox(0.5F, -0.55F, -5.875F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 3.0F, 15.875F, -0.4974F, 0.0F, 0.0F)); + public static final AnimationDefinition LOOP = AnimationDefinition.Builder.withLength(6f).looping() + .addAnimation("bone", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6f, KeyframeAnimations.degreeVec(0f, 360f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone195", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(0.92f, KeyframeAnimations.scaleVec(1f, 1.2f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.24f, KeyframeAnimations.scaleVec(1f, 1.11f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.92f, KeyframeAnimations.scaleVec(1f, 0.92f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.68f, KeyframeAnimations.scaleVec(1f, 1.09f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.44f, KeyframeAnimations.scaleVec(1f, 0.94f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.28f, KeyframeAnimations.scaleVec(1f, 1.25f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.16f, KeyframeAnimations.scaleVec(1f, 0.91f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone230", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.04f, KeyframeAnimations.posVec(0f, -0.2f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.08f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.76f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.84f, KeyframeAnimations.posVec(0f, -0.2f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.48f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.28f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.36f, KeyframeAnimations.posVec(0f, -0.2f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.92f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.52f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.6f, KeyframeAnimations.posVec(0f, -0.2f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.72f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(6f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone229", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(2.6f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.64f, KeyframeAnimations.degreeVec(6f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.04f, KeyframeAnimations.degreeVec(6f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.08f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone231", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.56f, KeyframeAnimations.posVec(0f, -0.2f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.36f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.52f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.6f, KeyframeAnimations.posVec(0f, -0.2f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.76f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.36f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.44f, KeyframeAnimations.posVec(0f, -0.2f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.6f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.76f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.84f, KeyframeAnimations.posVec(0f, -0.2f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.4f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.16f, KeyframeAnimations.posVec(0f, -0.2f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.72f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(6f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone232", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0.48f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.52f, KeyframeAnimations.posVec(0f, -0.1f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.96f, KeyframeAnimations.posVec(0f, -0.1f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.72f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.76f, KeyframeAnimations.posVec(0f, -0.1f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.12f, KeyframeAnimations.posVec(0f, -0.1f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.16f, 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.1f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.4f, KeyframeAnimations.posVec(0f, -0.1f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.44f, 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.1f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.72f, KeyframeAnimations.posVec(0f, -0.1f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.76f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(6f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone239", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0.72f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.84f, KeyframeAnimations.scaleVec(1f, 1.12f, 1.12f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.04f, KeyframeAnimations.scaleVec(1f, 1.12f, 1.12f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.12f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.36f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.48f, KeyframeAnimations.scaleVec(1f, 1.12f, 1.12f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.72f, KeyframeAnimations.scaleVec(1f, 1.12f, 1.12f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.84f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.6f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.72f, KeyframeAnimations.scaleVec(1f, 1.12f, 1.12f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.96f, KeyframeAnimations.scaleVec(1f, 1.12f, 1.12f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.08f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.44f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.56f, KeyframeAnimations.scaleVec(1f, 1.12f, 1.12f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.68f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.16f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.28f, KeyframeAnimations.scaleVec(1f, 1.12f, 1.12f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.52f, KeyframeAnimations.scaleVec(1f, 1.12f, 1.12f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.64f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.2f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.32f, KeyframeAnimations.scaleVec(1f, 1.12f, 1.12f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.64f, KeyframeAnimations.scaleVec(1f, 1.12f, 1.12f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.68f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(6f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone240", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.04f, KeyframeAnimations.posVec(0f, 0.1f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.48f, KeyframeAnimations.posVec(0f, 0.1f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.52f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.04f, KeyframeAnimations.posVec(0f, 0.1f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.2f, KeyframeAnimations.posVec(0f, 0.1f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.24f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.76f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.8f, KeyframeAnimations.posVec(0f, 0.1f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.92f, KeyframeAnimations.posVec(0f, 0.1f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.96f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.04f, KeyframeAnimations.posVec(0f, 0.1f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.24f, KeyframeAnimations.posVec(0f, 0.1f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.28f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(6f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone241", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.04f, KeyframeAnimations.scaleVec(1.01f, 1.01f, 1.01f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.8f, KeyframeAnimations.scaleVec(1.01f, 1.01f, 1.01f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.84f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.04f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.08f, KeyframeAnimations.scaleVec(1.01f, 1.01f, 1.01f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.56f, KeyframeAnimations.scaleVec(1.01f, 1.01f, 1.01f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.6f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.92f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.96f, KeyframeAnimations.scaleVec(1.01f, 1.01f, 1.01f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.44f, KeyframeAnimations.scaleVec(1.01f, 1.01f, 1.01f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.48f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.LINEAR))).build(); + public static final AnimationDefinition FLIGHT = AnimationDefinition.Builder.withLength(6f).looping() + .addAnimation("bone", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3f, KeyframeAnimations.degreeVec(0f, 180f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6f, KeyframeAnimations.degreeVec(0f, 360f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone185", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0.92f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.28f, KeyframeAnimations.degreeVec(0f, 9.26f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.68f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.76f, KeyframeAnimations.degreeVec(0f, 29.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.12f, KeyframeAnimations.degreeVec(0f, -34f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.48f, KeyframeAnimations.degreeVec(0f, 3.18f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.56f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.68f, KeyframeAnimations.degreeVec(0f, -7.99f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.88f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone195", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(0.92f, KeyframeAnimations.scaleVec(1f, 1.23f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.24f, KeyframeAnimations.scaleVec(1f, 1.14f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.92f, KeyframeAnimations.scaleVec(1f, 0.92f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.68f, KeyframeAnimations.scaleVec(1f, 1.14f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.44f, KeyframeAnimations.scaleVec(1f, 0.94f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.28f, KeyframeAnimations.scaleVec(1f, 1.31f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.16f, KeyframeAnimations.scaleVec(1f, 0.91f, 1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("rotor_bottom_translate_2", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0.08f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.32f, KeyframeAnimations.posVec(0f, -4.65f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.64f, KeyframeAnimations.posVec(0f, 0.22f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.68f, KeyframeAnimations.posVec(0f, 0.57f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.76f, KeyframeAnimations.posVec(0f, 0.17f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.28f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.64f, KeyframeAnimations.posVec(0f, -0.13f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.16f, KeyframeAnimations.posVec(0f, -2.05f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.28f, KeyframeAnimations.posVec(0f, 0.17f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.96f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("rotor_bottom_translate_2", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0.04f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.08f, KeyframeAnimations.degreeVec(0f, -0.5f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.68f, KeyframeAnimations.degreeVec(0f, 11f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.24f, KeyframeAnimations.degreeVec(0f, -1f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.44f, KeyframeAnimations.degreeVec(0f, 0.05f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.64f, KeyframeAnimations.degreeVec(0f, 0.86f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.76f, KeyframeAnimations.degreeVec(0f, -6.54f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.88f, KeyframeAnimations.degreeVec(0f, 0.46f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.28f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.68f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.84f, KeyframeAnimations.degreeVec(0f, 2.02f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.96f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("rotor_top_translate_2", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(0.16f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.36f, KeyframeAnimations.posVec(0f, 4.45f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.68f, KeyframeAnimations.posVec(0f, -0.17f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.72f, KeyframeAnimations.posVec(0f, 0.08f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.76f, KeyframeAnimations.posVec(0f, -0.2f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.88f, KeyframeAnimations.posVec(0f, -0.44f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.28f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.52f, KeyframeAnimations.posVec(0f, 0.48f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.76f, KeyframeAnimations.posVec(0f, 1.65f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.08f, KeyframeAnimations.posVec(0f, 2.25f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.44f, KeyframeAnimations.posVec(0f, 1.57f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.28f, KeyframeAnimations.posVec(0f, 0.17f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.6f, KeyframeAnimations.posVec(0f, -0.25f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("rotor_top_translate_2", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.44f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.76f, KeyframeAnimations.degreeVec(0f, -20f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.64f, KeyframeAnimations.degreeVec(0f, -3.67f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.88f, KeyframeAnimations.degreeVec(0f, -7.69f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.72f, KeyframeAnimations.degreeVec(0f, 1.54f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.16f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.96f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone205", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.04f, KeyframeAnimations.degreeVec(-2.5f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.28f, KeyframeAnimations.degreeVec(1.13f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(6f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone226", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.84f, KeyframeAnimations.posVec(0f, 0f, -0.95f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.72f, KeyframeAnimations.posVec(0f, 0f, 0.4f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone227", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(0.96f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.56f, KeyframeAnimations.posVec(0f, 0f, 0.55f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.64f, KeyframeAnimations.posVec(0f, 0f, 0.4f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone228", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.12f, KeyframeAnimations.posVec(0f, 0f, -0.95f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.36f, KeyframeAnimations.posVec(0f, 0f, -0.35f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("bone230", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.04f, KeyframeAnimations.posVec(0f, -0.2f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.12f, KeyframeAnimations.posVec(0f, -0.2f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.16f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.68f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.72f, KeyframeAnimations.posVec(0f, -0.2f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.76f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.84f, KeyframeAnimations.posVec(0f, -0.2f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.4f, KeyframeAnimations.posVec(0f, -0.2f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.48f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.96f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2f, KeyframeAnimations.posVec(0f, -0.2f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.08f, KeyframeAnimations.posVec(0f, -0.2f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.12f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.28f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.36f, KeyframeAnimations.posVec(0f, -0.2f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.8f, KeyframeAnimations.posVec(0f, -0.2f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.92f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.2f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.24f, KeyframeAnimations.posVec(0f, -0.2f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.36f, KeyframeAnimations.posVec(0f, -0.2f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.4f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(6f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone229", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(2.6f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.64f, KeyframeAnimations.degreeVec(6f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.04f, KeyframeAnimations.degreeVec(6f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.08f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + 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.2f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.48f, KeyframeAnimations.posVec(0f, -0.2f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.52f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.68f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.72f, KeyframeAnimations.posVec(0f, -0.2f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.32f, KeyframeAnimations.posVec(0f, -0.2f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.36f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.04f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.08f, KeyframeAnimations.posVec(0f, -0.2f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.24f, KeyframeAnimations.posVec(0f, -0.2f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.28f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.88f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.96f, KeyframeAnimations.posVec(0f, -0.2f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.08f, KeyframeAnimations.posVec(0f, -0.2f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.12f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.76f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.84f, KeyframeAnimations.posVec(0f, -0.2f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.36f, KeyframeAnimations.posVec(0f, -0.2f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.4f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.16f, KeyframeAnimations.posVec(0f, -0.2f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.68f, KeyframeAnimations.posVec(0f, -0.2f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.72f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone232", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0.48f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.52f, KeyframeAnimations.posVec(0f, -0.1f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.96f, KeyframeAnimations.posVec(0f, -0.1f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1f, 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.1f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.72f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.36f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.4f, KeyframeAnimations.posVec(0f, -0.1f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.76f, KeyframeAnimations.posVec(0f, -0.1f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.8f, 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.1f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.4f, KeyframeAnimations.posVec(0f, -0.1f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.44f, 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.1f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.72f, KeyframeAnimations.posVec(0f, -0.1f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.76f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(6f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone239", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0.72f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.76f, KeyframeAnimations.scaleVec(1f, 1.12f, 1.12f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.08f, KeyframeAnimations.scaleVec(1f, 1.12f, 1.12f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.12f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.44f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.48f, KeyframeAnimations.scaleVec(1f, 1.12f, 1.12f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.8f, KeyframeAnimations.scaleVec(1f, 1.12f, 1.12f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.84f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.04f, KeyframeAnimations.scaleVec(1f, 1.12f, 1.12f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.36f, KeyframeAnimations.scaleVec(1f, 1.12f, 1.12f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.4f, 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(1f, 1.12f, 1.12f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.24f, KeyframeAnimations.scaleVec(1f, 1.12f, 1.12f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.28f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.6f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.64f, KeyframeAnimations.scaleVec(1f, 1.12f, 1.12f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.96f, KeyframeAnimations.scaleVec(1f, 1.12f, 1.12f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.16f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.2f, KeyframeAnimations.scaleVec(1f, 1.12f, 1.12f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.6f, KeyframeAnimations.scaleVec(1f, 1.12f, 1.12f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.64f, 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(1f, 1.12f, 1.12f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.64f, KeyframeAnimations.scaleVec(1f, 1.12f, 1.12f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.68f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(6f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone240", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.28f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.32f, KeyframeAnimations.posVec(0f, 0.1f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.48f, KeyframeAnimations.posVec(0f, 0.1f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.52f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.04f, KeyframeAnimations.posVec(0f, 0.1f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.48f, KeyframeAnimations.posVec(0f, 0.1f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.52f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.04f, KeyframeAnimations.posVec(0f, 0.1f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.2f, KeyframeAnimations.posVec(0f, 0.1f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.24f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.48f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.52f, KeyframeAnimations.posVec(0f, 0.1f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.68f, KeyframeAnimations.posVec(0f, 0.1f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.72f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.88f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.92f, KeyframeAnimations.posVec(0f, 0.1f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.08f, KeyframeAnimations.posVec(0f, 0.1f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.12f, 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.1f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.52f, KeyframeAnimations.posVec(0f, 0.1f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.56f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.76f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.8f, KeyframeAnimations.posVec(0f, 0.1f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.92f, KeyframeAnimations.posVec(0f, 0.1f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.96f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.04f, KeyframeAnimations.posVec(0f, 0.1f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.24f, KeyframeAnimations.posVec(0f, 0.1f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.28f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.64f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.68f, KeyframeAnimations.posVec(0f, 0.1f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.84f, KeyframeAnimations.posVec(0f, 0.1f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.88f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.08f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.12f, KeyframeAnimations.posVec(0f, 0.1f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.28f, KeyframeAnimations.posVec(0f, 0.1f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.32f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.52f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.56f, KeyframeAnimations.posVec(0f, 0.1f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.72f, KeyframeAnimations.posVec(0f, 0.1f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.76f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(6f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("bone241", + new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.04f, KeyframeAnimations.scaleVec(1.01f, 1.01f, 1.01f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.28f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.32f, KeyframeAnimations.scaleVec(1.01f, 1.01f, 1.01f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.52f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.56f, KeyframeAnimations.scaleVec(1.01f, 1.01f, 1.01f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.8f, KeyframeAnimations.scaleVec(1.01f, 1.01f, 1.01f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.84f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.56f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.6f, KeyframeAnimations.scaleVec(1.01f, 1.01f, 1.01f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.76f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.8f, KeyframeAnimations.scaleVec(1.01f, 1.01f, 1.01f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.04f, KeyframeAnimations.scaleVec(1.01f, 1.01f, 1.01f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.2f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.24f, KeyframeAnimations.scaleVec(1.01f, 1.01f, 1.01f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.4f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.44f, KeyframeAnimations.scaleVec(1.01f, 1.01f, 1.01f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.04f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.08f, KeyframeAnimations.scaleVec(1.01f, 1.01f, 1.01f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.56f, KeyframeAnimations.scaleVec(1.01f, 1.01f, 1.01f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.6f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.92f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.96f, KeyframeAnimations.scaleVec(1.01f, 1.01f, 1.01f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.44f, KeyframeAnimations.scaleVec(1.01f, 1.01f, 1.01f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.48f, KeyframeAnimations.scaleVec(1f, 1f, 1f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("Monitor_1", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(5.24f, KeyframeAnimations.degreeVec(0.21f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.52f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.72f, KeyframeAnimations.degreeVec(-0.2f, 0f, -0.1f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))) + .addAnimation("monitor_2", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(5.52f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.72f, KeyframeAnimations.degreeVec(-0.5f, 0f, -0.2f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))).build(); + private static final ResourceLocation TOYOTA_TEXTURE = new ResourceLocation(TardisRefined.MODID, "textures/blockentity/console/toyota/toyota_console.png"); + private final ModelPart bone181; + private final ModelPart throttle; + private final ModelPart handbrake; + + public ToyotaConsoleModel(ModelPart root) { + this.bone181 = root.getChild("bone181"); + this.throttle = findPart(this, "bone198"); + this.handbrake = findPart(this, "bone202"); + } + + public static LayerDefinition createBodyLayer() { + MeshDefinition meshdefinition = new MeshDefinition(); + PartDefinition partdefinition = meshdefinition.getRoot(); + + PartDefinition bone181 = partdefinition.addOrReplaceChild("bone181", CubeListBuilder.create(), PartPose.offset(0.0F, 24.0F, 0.0F)); + + PartDefinition components = bone181.addOrReplaceChild("components", CubeListBuilder.create(), PartPose.offset(0.0F, -6.0F, 0.0F)); + + PartDefinition north = components.addOrReplaceChild("north", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -13.5F, 0.0F, 0.0F, 3.1416F, 0.0F)); + + PartDefinition bone182 = north.addOrReplaceChild("bone182", CubeListBuilder.create().texOffs(18, 67).addBox(5.475F, -0.475F, -1.375F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(0, 67).addBox(5.225F, -0.475F, -0.375F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(51, 4).addBox(3.875F, -0.975F, -2.125F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(16, 51).addBox(-3.0F, -0.725F, -0.875F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(16, 51).addBox(-1.5F, -0.725F, -0.875F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(26, 65).addBox(-3.5F, -0.125F, -1.625F, 7.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(16, 51).addBox(2.0F, -0.725F, -0.875F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(16, 51).addBox(0.5F, -0.725F, -0.875F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(32, 56).addBox(-3.0F, -0.575F, -2.375F, 6.0F, 1.0F, 1.0F, new CubeDeformation(-0.25F)) + .texOffs(24, 73).addBox(-1.0F, -0.475F, -2.375F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(72, 40).addBox(-3.25F, -0.05F, -5.625F, 6.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)) + .texOffs(0, 71).addBox(-5.5F, -0.55F, -3.875F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(42, 72).addBox(0.75F, -0.55F, -7.375F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(0, 69).addBox(-2.75F, -0.55F, -7.375F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(42, 64).addBox(-0.5F, -0.55F, -6.625F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.25F)) + .texOffs(21, 61).addBox(-0.5F, -0.9F, -7.125F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(88, 90).addBox(-7.25F, -0.125F, -2.125F, 2.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)) + .texOffs(88, 90).mirror().addBox(5.25F, -0.125F, -2.125F, 2.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)).mirror(false) + .texOffs(92, 69).addBox(-7.5F, -0.625F, -1.375F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(51, 4).mirror().addBox(-4.875F, -0.975F, -2.125F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(0.0F, 3.0F, 15.875F, -0.4974F, 0.0F, 0.0F)); + + PartDefinition bone239 = bone182.addOrReplaceChild("bone239", CubeListBuilder.create().texOffs(28, 69).addBox(-3.0F, -0.5F, -0.5F, 6.0F, 1.0F, 1.0F, new CubeDeformation(-0.275F)), PartPose.offset(0.0F, -0.075F, -1.875F)); + + PartDefinition bone180 = bone182.addOrReplaceChild("bone180", CubeListBuilder.create().texOffs(68, 86).addBox(-2.5F, 0.0F, -0.5F, 5.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-0.5F, -0.05F, -4.625F, 0.5236F, 0.0F, 0.0F)); + + PartDefinition bone178 = bone182.addOrReplaceChild("bone178", CubeListBuilder.create().texOffs(26, 51).addBox(0.1935F, -0.5F, -1.4809F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(3.25F, -0.55F, -4.375F, 0.0F, -0.48F, 0.0F)); + + PartDefinition bone214 = bone182.addOrReplaceChild("bone214", CubeListBuilder.create().texOffs(26, 51).addBox(-0.75F, -0.5F, -2.25F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(3.25F, -0.55F, -4.375F, 0.0F, -0.48F, 0.0F)); + + PartDefinition bone217 = bone182.addOrReplaceChild("bone217", CubeListBuilder.create().texOffs(26, 51).addBox(-0.75F, -0.5F, -0.75F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-3.5575F, -0.55F, -5.6714F, 0.0F, -0.48F, 0.0F)); + + PartDefinition bone175 = bone182.addOrReplaceChild("bone175", CubeListBuilder.create().texOffs(92, 13).addBox(0.0F, -1.0F, -2.0F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(5.0F, 0.45F, -1.875F, 0.0F, 0.7854F, 0.0F)); + + PartDefinition bone179 = bone182.addOrReplaceChild("bone179", CubeListBuilder.create().texOffs(21, 59).addBox(-0.5F, 0.0F, -1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-4.25F, -0.55F, -3.125F, -0.6109F, 0.0F, 0.0F)); + + PartDefinition bone210 = bone182.addOrReplaceChild("bone210", CubeListBuilder.create().texOffs(58, 72).addBox(-0.5F, -1.0F, 0.0F, 1.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(4.375F, 0.0F, -0.125F, 0.4363F, 0.0F, 0.0F)); + + PartDefinition bone211 = bone182.addOrReplaceChild("bone211", CubeListBuilder.create().texOffs(58, 72).mirror().addBox(-0.5F, -1.0F, 0.0F, 1.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(-4.375F, 0.0F, -0.125F, 0.4363F, 0.0F, 0.0F)); + + PartDefinition north_left = components.addOrReplaceChild("north_left", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -13.5F, 0.0F, 0.0F, 2.0944F, 0.0F)); + + PartDefinition bone183 = north_left.addOrReplaceChild("bone183", CubeListBuilder.create().texOffs(62, 32).addBox(-3.25F, 0.45F, -6.125F, 7.0F, 1.0F, 7.0F, new CubeDeformation(0.5F)) + .texOffs(0, 59).addBox(-3.5F, -0.2F, -6.375F, 7.0F, 1.0F, 7.0F, new CubeDeformation(0.0F)) + .texOffs(91, 82).addBox(0.5F, -0.55F, -5.875F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 3.0F, 15.875F, -0.4974F, 0.0F, 0.0F)); + + PartDefinition bone187 = bone183.addOrReplaceChild("bone187", CubeListBuilder.create().texOffs(79, 77).addBox(-2.25F, -0.5F, -2.0F, 5.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(6.25F, 0.4F, -1.375F, 0.0F, 0.2618F, 0.0F)); - PartDefinition bone187 = bone183.addOrReplaceChild("bone187", CubeListBuilder.create().texOffs(79, 77).addBox(-2.25F, -0.5F, -2.0F, 5.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(6.25F, 0.4F, -1.375F, 0.0F, 0.2618F, 0.0F)); + PartDefinition bone209 = bone183.addOrReplaceChild("bone209", CubeListBuilder.create().texOffs(76, 0).addBox(-1.25F, -0.5F, -3.0F, 4.0F, 1.0F, 5.0F, new CubeDeformation(0.0F)), PartPose.offset(-6.75F, 0.4F, -1.375F)); - PartDefinition bone209 = bone183.addOrReplaceChild("bone209", CubeListBuilder.create().texOffs(76, 0).addBox(-1.25F, -0.5F, -3.0F, 4.0F, 1.0F, 5.0F, new CubeDeformation(0.0F)), PartPose.offset(-6.75F, 0.4F, -1.375F)); + PartDefinition bone188 = bone183.addOrReplaceChild("bone188", CubeListBuilder.create().texOffs(38, 62).addBox(-1.0F, -0.25F, -0.5F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(2.75F, -0.25F, -6.875F, 0.0F, -0.5236F, 0.0F)); - PartDefinition bone188 = bone183.addOrReplaceChild("bone188", CubeListBuilder.create().texOffs(38, 62).addBox(-1.0F, -0.25F, -0.5F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(2.75F, -0.25F, -6.875F, 0.0F, -0.5236F, 0.0F)); + PartDefinition bone189 = bone188.addOrReplaceChild("bone189", CubeListBuilder.create().texOffs(64, 44).addBox(-1.25F, -0.5F, -1.0F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -0.5F, 0.0F, 0.0F, 0.3491F, 0.0F)); - PartDefinition bone189 = bone188.addOrReplaceChild("bone189", CubeListBuilder.create().texOffs(64, 44).addBox(-1.25F, -0.5F, -1.0F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -0.5F, 0.0F, 0.0F, 0.3491F, 0.0F)); + PartDefinition bone190 = bone183.addOrReplaceChild("bone190", CubeListBuilder.create().texOffs(38, 62).mirror().addBox(-1.0F, -0.25F, -0.5F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(-2.75F, -0.25F, -6.875F, 0.0F, 0.5236F, 0.0F)); - PartDefinition bone190 = bone183.addOrReplaceChild("bone190", CubeListBuilder.create().texOffs(38, 62).mirror().addBox(-1.0F, -0.25F, -0.5F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(-2.75F, -0.25F, -6.875F, 0.0F, 0.5236F, 0.0F)); + PartDefinition bone191 = bone190.addOrReplaceChild("bone191", CubeListBuilder.create().texOffs(62, 36).addBox(-0.75F, -0.25F, -1.0F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -0.5F, 0.0F, 0.0F, -0.3491F, 0.0F)); - PartDefinition bone191 = bone190.addOrReplaceChild("bone191", CubeListBuilder.create().texOffs(62, 36).addBox(-0.75F, -0.25F, -1.0F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -0.5F, 0.0F, 0.0F, -0.3491F, 0.0F)); + PartDefinition bone186 = bone183.addOrReplaceChild("bone186", CubeListBuilder.create().texOffs(60, 91).addBox(-1.25F, -0.5F, -0.75F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(51, 8).addBox(0.0F, -1.0F, -1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(-0.25F)) + .texOffs(91, 25).addBox(-0.75F, -0.5F, -1.25F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(6.5F, 0.05F, -0.625F, 0.0F, -0.5672F, 0.0F)); - PartDefinition bone186 = bone183.addOrReplaceChild("bone186", CubeListBuilder.create().texOffs(60, 91).addBox(-1.25F, -0.5F, -0.75F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(51, 8).addBox(0.0F, -1.0F, -1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(-0.25F)) - .texOffs(91, 25).addBox(-0.75F, -0.5F, -1.25F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(6.5F, 0.05F, -0.625F, 0.0F, -0.5672F, 0.0F)); + PartDefinition bone192 = bone183.addOrReplaceChild("bone192", CubeListBuilder.create().texOffs(0, 91).addBox(-1.0F, -0.5F, -1.0F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(51, 10).addBox(0.25F, -1.25F, -1.25F, 1.0F, 1.0F, 1.0F, new CubeDeformation(-0.25F)), PartPose.offsetAndRotation(-6.0F, 0.05F, -0.375F, 0.0F, 0.2618F, 0.0F)); - PartDefinition bone192 = bone183.addOrReplaceChild("bone192", CubeListBuilder.create().texOffs(0, 91).addBox(-1.0F, -0.5F, -1.0F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(51, 10).addBox(0.25F, -1.25F, -1.25F, 1.0F, 1.0F, 1.0F, new CubeDeformation(-0.25F)), PartPose.offsetAndRotation(-6.0F, 0.05F, -0.375F, 0.0F, 0.2618F, 0.0F)); + PartDefinition bone = bone183.addOrReplaceChild("bone", CubeListBuilder.create().texOffs(64, 48).addBox(-2.0F, -0.5F, -0.25F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-1.75F, -0.3F, -4.125F, 0.0F, 0.829F, 0.0F)); - PartDefinition bone = bone183.addOrReplaceChild("bone", CubeListBuilder.create().texOffs(64, 48).addBox(-2.0F, -0.5F, -0.25F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-1.75F, -0.3F, -4.125F, 0.0F, 0.829F, 0.0F)); + PartDefinition bone184 = bone183.addOrReplaceChild("bone184", CubeListBuilder.create().texOffs(64, 46).addBox(-1.25F, -0.5F, -0.75F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(1.5F, -0.8F, -4.875F)); - PartDefinition bone184 = bone183.addOrReplaceChild("bone184", CubeListBuilder.create().texOffs(64, 46).addBox(-1.25F, -0.5F, -0.75F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(1.5F, -0.8F, -4.875F)); + PartDefinition bone185 = bone183.addOrReplaceChild("bone185", CubeListBuilder.create().texOffs(64, 46).addBox(-1.25F, -0.5F, -1.0F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(1.25F, -0.55F, -1.625F, 0.0F, -0.6981F, 0.0F)); - PartDefinition bone185 = bone183.addOrReplaceChild("bone185", CubeListBuilder.create().texOffs(64, 46).addBox(-1.25F, -0.5F, -1.0F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(1.25F, -0.55F, -1.625F, 0.0F, -0.6981F, 0.0F)); + PartDefinition south = components.addOrReplaceChild("south", CubeListBuilder.create(), PartPose.offset(0.0F, -13.5F, 1.0F)); - PartDefinition south = components.addOrReplaceChild("south", CubeListBuilder.create(), PartPose.offset(0.0F, -13.5F, 1.0F)); + PartDefinition bone197 = south.addOrReplaceChild("bone197", CubeListBuilder.create().texOffs(33, 90).addBox(3.35F, -0.225F, -2.275F, 3.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)) + .texOffs(50, 86).addBox(-2.0F, -0.475F, -2.375F, 4.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)) + .texOffs(0, 38).addBox(2.0F, -0.075F, -2.375F, 1.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)) + .texOffs(34, 34).addBox(-3.0F, -0.075F, -2.375F, 1.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)) + .texOffs(86, 59).addBox(-2.5F, -0.475F, -4.875F, 5.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(9, 90).addBox(-6.0F, -0.075F, -5.125F, 3.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)) + .texOffs(69, 89).addBox(2.75F, -0.075F, -5.375F, 3.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)) + .texOffs(83, 36).addBox(-2.75F, -0.125F, -7.575F, 6.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(90, 66).addBox(-6.5F, -0.975F, -1.375F, 3.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(38, 59).addBox(-6.0F, -0.775F, -1.375F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(0.0F, 3.0F, 14.875F, -0.4974F, 0.0F, 0.0F)); - PartDefinition bone197 = south.addOrReplaceChild("bone197", CubeListBuilder.create().texOffs(33, 90).addBox(3.35F, -0.225F, -2.275F, 3.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)) - .texOffs(50, 86).addBox(-2.0F, -0.475F, -2.375F, 4.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)) - .texOffs(0, 38).addBox(2.0F, -0.075F, -2.375F, 1.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)) - .texOffs(34, 34).addBox(-3.0F, -0.075F, -2.375F, 1.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)) - .texOffs(86, 59).addBox(-2.5F, -0.475F, -4.875F, 5.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(9, 90).addBox(-6.0F, -0.075F, -5.125F, 3.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)) - .texOffs(69, 89).addBox(2.75F, -0.075F, -5.375F, 3.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)) - .texOffs(83, 36).addBox(-2.75F, -0.125F, -7.575F, 6.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(90, 66).addBox(-6.5F, -0.975F, -1.375F, 3.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(38, 59).addBox(-6.0F, -0.775F, -1.375F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(0.0F, 3.0F, 14.875F, -0.4974F, 0.0F, 0.0F)); + PartDefinition bone202 = bone197.addOrReplaceChild("bone202", CubeListBuilder.create().texOffs(54, 90).addBox(-1.0F, -0.5F, -1.0F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(5.25F, -0.475F, -0.375F, 0.0F, -0.6109F, 0.0F)); - PartDefinition bone202 = bone197.addOrReplaceChild("bone202", CubeListBuilder.create().texOffs(54, 90).addBox(-1.0F, -0.5F, -1.0F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(5.25F, -0.475F, -0.375F, 0.0F, -0.6109F, 0.0F)); + PartDefinition bone199 = bone202.addOrReplaceChild("bone199", CubeListBuilder.create().texOffs(18, 67).addBox(-0.75F, -0.25F, -5.25F, 1.0F, 1.0F, 5.0F, new CubeDeformation(-0.25F)) + .texOffs(54, 47).addBox(-1.0F, -0.25F, -5.25F, 2.0F, 1.0F, 2.0F, new CubeDeformation(-0.25F)) + .texOffs(26, 49).addBox(-0.5F, 0.0F, -1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -0.75F, 0.5F, -0.1309F, 0.0F, 0.0F)); - PartDefinition bone199 = bone202.addOrReplaceChild("bone199", CubeListBuilder.create().texOffs(18, 67).addBox(-0.75F, -0.25F, -5.25F, 1.0F, 1.0F, 5.0F, new CubeDeformation(-0.25F)) - .texOffs(54, 47).addBox(-1.0F, -0.25F, -5.25F, 2.0F, 1.0F, 2.0F, new CubeDeformation(-0.25F)) - .texOffs(26, 49).addBox(-0.5F, 0.0F, -1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -0.75F, 0.5F, -0.1309F, 0.0F, 0.0F)); + PartDefinition bone229 = bone197.addOrReplaceChild("bone229", CubeListBuilder.create().texOffs(86, 9).addBox(-2.0F, 0.0F, -3.0F, 4.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offset(-0.25F, -0.575F, 0.375F)); - PartDefinition bone229 = bone197.addOrReplaceChild("bone229", CubeListBuilder.create().texOffs(86, 9).addBox(-2.0F, 0.0F, -3.0F, 4.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offset(-0.25F, -0.575F, 0.375F)); + PartDefinition bone230 = bone197.addOrReplaceChild("bone230", CubeListBuilder.create().texOffs(80, 11).addBox(-0.5F, -0.5F, -1.5F, 1.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offset(-1.75F, -0.1F, -1.125F)); - PartDefinition bone230 = bone197.addOrReplaceChild("bone230", CubeListBuilder.create().texOffs(80, 11).addBox(-0.5F, -0.5F, -1.5F, 1.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offset(-1.75F, -0.1F, -1.125F)); + PartDefinition bone231 = bone197.addOrReplaceChild("bone231", CubeListBuilder.create().texOffs(80, 9).addBox(-1.5F, -0.5F, -0.5F, 3.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.25F, -0.1F, -2.125F)); - PartDefinition bone231 = bone197.addOrReplaceChild("bone231", CubeListBuilder.create().texOffs(80, 9).addBox(-1.5F, -0.5F, -0.5F, 3.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.25F, -0.1F, -2.125F)); + PartDefinition bone240 = bone197.addOrReplaceChild("bone240", CubeListBuilder.create().texOffs(96, 40).addBox(-1.5F, -0.5F, -0.5F, 3.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(-0.25F, 0.4F, -7.075F)); - PartDefinition bone240 = bone197.addOrReplaceChild("bone240", CubeListBuilder.create().texOffs(96, 40).addBox(-1.5F, -0.5F, -0.5F, 3.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(-0.25F, 0.4F, -7.075F)); + PartDefinition bone201 = bone197.addOrReplaceChild("bone201", CubeListBuilder.create().texOffs(64, 53).addBox(-4.5F, 0.0F, -2.0F, 5.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(1.75F, -0.125F, -6.075F, -0.4363F, 0.0F, 0.0F)); - PartDefinition bone201 = bone197.addOrReplaceChild("bone201", CubeListBuilder.create().texOffs(64, 53).addBox(-4.5F, 0.0F, -2.0F, 5.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(1.75F, -0.125F, -6.075F, -0.4363F, 0.0F, 0.0F)); + PartDefinition bone200 = bone197.addOrReplaceChild("bone200", CubeListBuilder.create().texOffs(0, 58).addBox(-0.5F, -1.0F, -1.0F, 1.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(0, 58).addBox(-3.5F, -1.0F, -1.0F, 1.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(0, 58).addBox(-2.0F, -1.0F, -1.0F, 1.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(1.5F, 0.025F, -3.975F, -0.7854F, 0.0F, 0.0F)); - PartDefinition bone200 = bone197.addOrReplaceChild("bone200", CubeListBuilder.create().texOffs(0, 58).addBox(-0.5F, -1.0F, -1.0F, 1.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(0, 58).addBox(-3.5F, -1.0F, -1.0F, 1.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(0, 58).addBox(-2.0F, -1.0F, -1.0F, 1.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(1.5F, 0.025F, -3.975F, -0.7854F, 0.0F, 0.0F)); + PartDefinition bone198 = bone197.addOrReplaceChild("bone198", CubeListBuilder.create().texOffs(62, 32).addBox(-1.0F, -2.5F, -0.75F, 2.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(0, 62).addBox(-1.0F, -2.5F, -0.25F, 2.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(32, 50).addBox(-1.5F, -3.25F, -0.5F, 3.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-5.0F, -0.475F, -0.375F, 1.0908F, 0.0F, 0.0F)); - PartDefinition bone198 = bone197.addOrReplaceChild("bone198", CubeListBuilder.create().texOffs(62, 32).addBox(-1.0F, -2.5F, -0.75F, 2.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(0, 62).addBox(-1.0F, -2.5F, -0.25F, 2.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(32, 50).addBox(-1.5F, -3.25F, -0.5F, 3.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-5.0F, -0.475F, -0.375F, 1.0908F, 0.0F, 0.0F)); + PartDefinition south_left = components.addOrReplaceChild("south_left", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -13.5F, 0.0F, 0.0F, 1.0472F, 0.0F)); - PartDefinition south_left = components.addOrReplaceChild("south_left", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -13.5F, 0.0F, 0.0F, 1.0472F, 0.0F)); + PartDefinition bone203 = south_left.addOrReplaceChild("bone203", CubeListBuilder.create().texOffs(83, 31).addBox(-0.25F, -0.475F, -3.375F, 3.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)) + .texOffs(16, 55).addBox(-0.75F, -0.475F, -4.275F, 6.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(89, 0).addBox(-1.25F, -0.225F, -7.375F, 3.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)) + .texOffs(87, 39).addBox(-1.5F, -0.325F, -7.125F, 3.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)) + .texOffs(89, 0).addBox(-4.75F, -0.225F, -6.625F, 3.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)) + .texOffs(32, 47).addBox(-4.25F, -1.225F, -6.125F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(82, 44).addBox(3.5F, -0.075F, -3.125F, 4.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)) + .texOffs(42, 69).addBox(3.75F, -0.175F, -2.875F, 3.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(6, 14).addBox(5.25F, -0.575F, -0.375F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(6, 14).addBox(3.75F, -0.575F, -0.375F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(82, 44).mirror().addBox(-7.5F, -0.075F, -3.125F, 4.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)).mirror(false) + .texOffs(66, 81).addBox(-7.5F, -0.225F, -3.125F, 4.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)) + .texOffs(6, 14).mirror().addBox(-7.0F, -0.475F, -0.625F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false) + .texOffs(34, 38).addBox(-2.5F, -0.725F, -2.875F, 1.0F, 1.0F, 3.0F, new CubeDeformation(0.25F)) + .texOffs(60, 86).addBox(-3.0F, -0.225F, -3.375F, 2.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 3.0F, 15.875F, -0.4974F, 0.0F, 0.0F)); - PartDefinition bone203 = south_left.addOrReplaceChild("bone203", CubeListBuilder.create().texOffs(83, 31).addBox(-0.25F, -0.475F, -3.375F, 3.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)) - .texOffs(16, 55).addBox(-0.75F, -0.475F, -4.275F, 6.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(89, 0).addBox(-1.25F, -0.225F, -7.375F, 3.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)) - .texOffs(87, 39).addBox(-1.5F, -0.325F, -7.125F, 3.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)) - .texOffs(89, 0).addBox(-4.75F, -0.225F, -6.625F, 3.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)) - .texOffs(32, 47).addBox(-4.25F, -1.225F, -6.125F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(82, 44).addBox(3.5F, -0.075F, -3.125F, 4.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)) - .texOffs(42, 69).addBox(3.75F, -0.175F, -2.875F, 3.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(6, 14).addBox(5.25F, -0.575F, -0.375F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(6, 14).addBox(3.75F, -0.575F, -0.375F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(82, 44).mirror().addBox(-7.5F, -0.075F, -3.125F, 4.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)).mirror(false) - .texOffs(66, 81).addBox(-7.5F, -0.225F, -3.125F, 4.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)) - .texOffs(6, 14).mirror().addBox(-7.0F, -0.475F, -0.625F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false) - .texOffs(34, 38).addBox(-2.5F, -0.725F, -2.875F, 1.0F, 1.0F, 3.0F, new CubeDeformation(0.25F)) - .texOffs(60, 86).addBox(-3.0F, -0.225F, -3.375F, 2.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 3.0F, 15.875F, -0.4974F, 0.0F, 0.0F)); + PartDefinition bone232 = bone203.addOrReplaceChild("bone232", CubeListBuilder.create().texOffs(83, 16).addBox(-1.5F, -0.5F, -2.0F, 3.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offset(1.25F, -0.025F, -1.375F)); - PartDefinition bone232 = bone203.addOrReplaceChild("bone232", CubeListBuilder.create().texOffs(83, 16).addBox(-1.5F, -0.5F, -2.0F, 3.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offset(1.25F, -0.025F, -1.375F)); + PartDefinition bone226 = bone203.addOrReplaceChild("bone226", CubeListBuilder.create().texOffs(62, 40).addBox(-0.5F, -0.5F, -1.25F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(1.25F, 0.075F, -5.375F)); - PartDefinition bone226 = bone203.addOrReplaceChild("bone226", CubeListBuilder.create().texOffs(62, 40).addBox(-0.5F, -0.5F, -1.25F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(1.25F, 0.075F, -5.375F)); + PartDefinition bone227 = bone203.addOrReplaceChild("bone227", CubeListBuilder.create().texOffs(62, 40).addBox(-0.5F, -0.5F, -1.3F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(0.25F, 0.075F, -6.325F)); - PartDefinition bone227 = bone203.addOrReplaceChild("bone227", CubeListBuilder.create().texOffs(62, 40).addBox(-0.5F, -0.5F, -1.3F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(0.25F, 0.075F, -6.325F)); + PartDefinition bone228 = bone203.addOrReplaceChild("bone228", CubeListBuilder.create().texOffs(62, 40).addBox(-0.5F, -0.5F, -1.25F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(-0.75F, 0.075F, -5.125F)); - PartDefinition bone228 = bone203.addOrReplaceChild("bone228", CubeListBuilder.create().texOffs(62, 40).addBox(-0.5F, -0.5F, -1.25F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(-0.75F, 0.075F, -5.125F)); + PartDefinition bone238 = bone203.addOrReplaceChild("bone238", CubeListBuilder.create().texOffs(32, 44).addBox(-1.0F, -0.5F, -1.0F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.25F)), PartPose.offset(-3.25F, -0.725F, -5.125F)); - PartDefinition bone238 = bone203.addOrReplaceChild("bone238", CubeListBuilder.create().texOffs(32, 44).addBox(-1.0F, -0.5F, -1.0F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.25F)), PartPose.offset(-3.25F, -0.725F, -5.125F)); + PartDefinition bone206 = bone203.addOrReplaceChild("bone206", CubeListBuilder.create().texOffs(54, 44).addBox(-1.0F, -0.5F, -1.0F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(44, 18).addBox(-1.25F, -0.75F, -0.75F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(3.5F, -0.475F, -5.875F, 0.0F, 0.48F, 0.0F)); - PartDefinition bone206 = bone203.addOrReplaceChild("bone206", CubeListBuilder.create().texOffs(54, 44).addBox(-1.0F, -0.5F, -1.0F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(44, 18).addBox(-1.25F, -0.75F, -0.75F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(3.5F, -0.475F, -5.875F, 0.0F, 0.48F, 0.0F)); + PartDefinition bone204 = bone203.addOrReplaceChild("bone204", CubeListBuilder.create().texOffs(54, 50).addBox(-1.0F, 0.0F, -0.75F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(5.0F, -0.575F, 0.125F, -0.4363F, 0.0F, 0.0F)); - PartDefinition bone204 = bone203.addOrReplaceChild("bone204", CubeListBuilder.create().texOffs(54, 50).addBox(-1.0F, 0.0F, -0.75F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(5.0F, -0.575F, 0.125F, -0.4363F, 0.0F, 0.0F)); + PartDefinition bone207 = bone203.addOrReplaceChild("bone207", CubeListBuilder.create().texOffs(16, 49).addBox(-0.5F, -0.5F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(-5.25F, 0.125F, -0.875F, 0.0F, -0.5236F, 0.0F)); - PartDefinition bone207 = bone203.addOrReplaceChild("bone207", CubeListBuilder.create().texOffs(16, 49).addBox(-0.5F, -0.5F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(-5.25F, 0.125F, -0.875F, 0.0F, -0.5236F, 0.0F)); + PartDefinition bone205 = bone203.addOrReplaceChild("bone205", CubeListBuilder.create().texOffs(78, 90).addBox(-1.5F, 0.0F, 0.0F, 2.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-2.0F, -0.725F, 0.375F, 0.6646F, -0.2494F, -0.0804F)); - PartDefinition bone205 = bone203.addOrReplaceChild("bone205", CubeListBuilder.create().texOffs(78, 90).addBox(-1.5F, 0.0F, 0.0F, 2.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-2.0F, -0.725F, 0.375F, 0.6646F, -0.2494F, -0.0804F)); + PartDefinition north_right = components.addOrReplaceChild("north_right", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -13.5F, 0.0F, 0.0F, -2.0944F, 0.0F)); - PartDefinition north_right = components.addOrReplaceChild("north_right", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -13.5F, 0.0F, 0.0F, -2.0944F, 0.0F)); + PartDefinition bone193 = north_right.addOrReplaceChild("bone193", CubeListBuilder.create().texOffs(75, 26).addBox(-3.0F, -0.8F, -5.475F, 6.0F, 1.0F, 4.0F, new CubeDeformation(0.25F)) + .texOffs(51, 8).addBox(-3.5F, -0.3F, -5.475F, 7.0F, 1.0F, 4.0F, new CubeDeformation(0.25F)) + .texOffs(21, 59).addBox(-3.0F, -0.3F, -5.975F, 6.0F, 1.0F, 5.0F, new CubeDeformation(0.25F)) + .texOffs(86, 6).addBox(-3.0F, -0.05F, -7.625F, 6.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(78, 69).addBox(-8.0F, -0.05F, -3.125F, 5.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)) + .texOffs(48, 57).addBox(-2.0F, -0.05F, -4.125F, 10.0F, 1.0F, 5.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 3.0F, 15.875F, -0.4974F, 0.0F, 0.0F)); - PartDefinition bone193 = north_right.addOrReplaceChild("bone193", CubeListBuilder.create().texOffs(75, 26).addBox(-3.0F, -0.8F, -5.475F, 6.0F, 1.0F, 4.0F, new CubeDeformation(0.25F)) - .texOffs(51, 8).addBox(-3.5F, -0.3F, -5.475F, 7.0F, 1.0F, 4.0F, new CubeDeformation(0.25F)) - .texOffs(21, 59).addBox(-3.0F, -0.3F, -5.975F, 6.0F, 1.0F, 5.0F, new CubeDeformation(0.25F)) - .texOffs(86, 6).addBox(-3.0F, -0.05F, -7.625F, 6.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(78, 69).addBox(-8.0F, -0.05F, -3.125F, 5.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)) - .texOffs(48, 57).addBox(-2.0F, -0.05F, -4.125F, 10.0F, 1.0F, 5.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 3.0F, 15.875F, -0.4974F, 0.0F, 0.0F)); + PartDefinition bone194 = bone193.addOrReplaceChild("bone194", CubeListBuilder.create().texOffs(44, 14).addBox(-1.0F, -1.0F, -1.0F, 2.0F, 2.0F, 2.0F, new CubeDeformation(-0.25F)), PartPose.offsetAndRotation(-5.25F, -0.05F, -2.375F, 0.0F, -0.3054F, 0.0F)); - PartDefinition bone194 = bone193.addOrReplaceChild("bone194", CubeListBuilder.create().texOffs(44, 14).addBox(-1.0F, -1.0F, -1.0F, 2.0F, 2.0F, 2.0F, new CubeDeformation(-0.25F)), PartPose.offsetAndRotation(-5.25F, -0.05F, -2.375F, 0.0F, -0.3054F, 0.0F)); + PartDefinition south_right = components.addOrReplaceChild("south_right", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -13.5F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition south_right = components.addOrReplaceChild("south_right", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -13.5F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone195 = south_right.addOrReplaceChild("bone195", CubeListBuilder.create().texOffs(0, 34).addBox(-6.5F, -0.05F, -7.475F, 13.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)) + .texOffs(0, 25).addBox(-6.5F, -0.3F, -7.475F, 13.0F, 1.0F, 8.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(0.0F, 3.0F, 15.875F, -0.4974F, 0.0F, 0.0F)); - PartDefinition bone195 = south_right.addOrReplaceChild("bone195", CubeListBuilder.create().texOffs(0, 34).addBox(-6.5F, -0.05F, -7.475F, 13.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)) - .texOffs(0, 25).addBox(-6.5F, -0.3F, -7.475F, 13.0F, 1.0F, 8.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(0.0F, 3.0F, 15.875F, -0.4974F, 0.0F, 0.0F)); + PartDefinition Monitor_1 = components.addOrReplaceChild("Monitor_1", CubeListBuilder.create().texOffs(110, 0).addBox(-4.0F, -8.0F, 10.2F, 8.0F, 5.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(112, 12).addBox(-3.5F, -7.5F, 10.45F, 7.0F, 4.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(108, 7).addBox(-5.0F, -7.5F, 9.95F, 1.0F, 4.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(107, 13).addBox(4.0F, -7.5F, 9.95F, 1.0F, 4.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(114, 7).addBox(-3.0F, -7.0F, 9.2F, 6.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -15.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); - PartDefinition Monitor_1 = components.addOrReplaceChild("Monitor_1", CubeListBuilder.create().texOffs(110, 0).addBox(-4.0F, -8.0F, 10.2F, 8.0F, 5.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(112, 12).addBox(-3.5F, -7.5F, 10.45F, 7.0F, 4.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(108, 7).addBox(-5.0F, -7.5F, 9.95F, 1.0F, 4.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(107, 13).addBox(4.0F, -7.5F, 9.95F, 1.0F, 4.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(114, 7).addBox(-3.0F, -7.0F, 9.2F, 6.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -15.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); + PartDefinition bone216 = Monitor_1.addOrReplaceChild("bone216", CubeListBuilder.create().texOffs(112, 18).addBox(-1.0F, 0.0F, -6.0F, 2.0F, 1.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -5.75F, 9.2F, 0.6981F, 0.0F, 0.0F)); - PartDefinition bone216 = Monitor_1.addOrReplaceChild("bone216", CubeListBuilder.create().texOffs(112, 18).addBox(-1.0F, 0.0F, -6.0F, 2.0F, 1.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -5.75F, 9.2F, 0.6981F, 0.0F, 0.0F)); + PartDefinition monitor_2 = components.addOrReplaceChild("monitor_2", CubeListBuilder.create().texOffs(110, 0).addBox(-4.0F, -8.0F, 10.2F, 8.0F, 5.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(112, 12).addBox(-3.5F, -7.5F, 10.45F, 7.0F, 4.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(108, 7).addBox(-5.0F, -7.5F, 9.95F, 1.0F, 4.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(107, 13).addBox(4.0F, -7.5F, 9.95F, 1.0F, 4.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(114, 7).addBox(-3.0F, -7.0F, 9.2F, 6.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -15.0F, 0.0F, 0.0F, 2.6616F, 0.0F)); - PartDefinition monitor_2 = components.addOrReplaceChild("monitor_2", CubeListBuilder.create().texOffs(110, 0).addBox(-4.0F, -8.0F, 10.2F, 8.0F, 5.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(112, 12).addBox(-3.5F, -7.5F, 10.45F, 7.0F, 4.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(108, 7).addBox(-5.0F, -7.5F, 9.95F, 1.0F, 4.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(107, 13).addBox(4.0F, -7.5F, 9.95F, 1.0F, 4.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(114, 7).addBox(-3.0F, -7.0F, 9.2F, 6.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -15.0F, 0.0F, 0.0F, 2.6616F, 0.0F)); + PartDefinition bone218 = monitor_2.addOrReplaceChild("bone218", CubeListBuilder.create().texOffs(112, 18).addBox(-1.0F, 0.0F, -6.0F, 2.0F, 1.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -5.75F, 9.2F, 0.6981F, 0.0F, 0.0F)); - PartDefinition bone218 = monitor_2.addOrReplaceChild("bone218", CubeListBuilder.create().texOffs(112, 18).addBox(-1.0F, 0.0F, -6.0F, 2.0F, 1.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -5.75F, 9.2F, 0.6981F, 0.0F, 0.0F)); + PartDefinition bone173 = bone181.addOrReplaceChild("bone173", CubeListBuilder.create(), PartPose.offset(0.0F, 0.0F, 0.0F)); - PartDefinition bone173 = bone181.addOrReplaceChild("bone173", CubeListBuilder.create(), PartPose.offset(0.0F, 0.0F, 0.0F)); + PartDefinition rotor_bottom_translate_2 = bone173.addOrReplaceChild("rotor_bottom_translate_2", CubeListBuilder.create().texOffs(81, 120).addBox(-3.0F, -30.25F, -3.0F, 6.0F, 2.0F, 6.0F, new CubeDeformation(0.0F)) + .texOffs(0, 117).addBox(-2.5F, -29.25F, -2.5F, 5.0F, 6.0F, 5.0F, new CubeDeformation(0.0F)) + .texOffs(22, 118).addBox(-4.0F, -26.75F, -4.0F, 8.0F, 2.0F, 8.0F, new CubeDeformation(0.0F)) + .texOffs(91, 101).addBox(-3.5F, -23.25F, -3.5F, 7.0F, 4.0F, 7.0F, new CubeDeformation(0.0F)) + .texOffs(21, 90).addBox(-0.5F, -35.0F, -0.5F, 1.0F, 11.0F, 1.0F, new CubeDeformation(0.25F)), PartPose.offset(0.0F, -4.75F, 0.0F)); - PartDefinition rotor_bottom_translate_2 = bone173.addOrReplaceChild("rotor_bottom_translate_2", CubeListBuilder.create().texOffs(81, 120).addBox(-3.0F, -30.25F, -3.0F, 6.0F, 2.0F, 6.0F, new CubeDeformation(0.0F)) - .texOffs(0, 117).addBox(-2.5F, -29.25F, -2.5F, 5.0F, 6.0F, 5.0F, new CubeDeformation(0.0F)) - .texOffs(22, 118).addBox(-4.0F, -26.75F, -4.0F, 8.0F, 2.0F, 8.0F, new CubeDeformation(0.0F)) - .texOffs(91, 101).addBox(-3.5F, -23.25F, -3.5F, 7.0F, 4.0F, 7.0F, new CubeDeformation(0.0F)) - .texOffs(21, 90).addBox(-0.5F, -35.0F, -0.5F, 1.0F, 11.0F, 1.0F, new CubeDeformation(0.25F)), PartPose.offset(0.0F, -4.75F, 0.0F)); + PartDefinition rotorbottom_glow2 = rotor_bottom_translate_2.addOrReplaceChild("rotorbottom_glow2", CubeListBuilder.create().texOffs(66, 119).addBox(-1.5F, -35.25F, -1.5F, 3.0F, 6.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.0F, 0.0F)); - PartDefinition rotorbottom_glow2 = rotor_bottom_translate_2.addOrReplaceChild("rotorbottom_glow2", CubeListBuilder.create().texOffs(66, 119).addBox(-1.5F, -35.25F, -1.5F, 3.0F, 6.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.0F, 0.0F)); + PartDefinition rotor_top_translate_2 = bone173.addOrReplaceChild("rotor_top_translate_2", CubeListBuilder.create().texOffs(65, 110).addBox(-3.0F, 27.75F, -3.0F, 6.0F, 1.0F, 6.0F, new CubeDeformation(0.0F)) + .texOffs(108, 116).addBox(-2.5F, 23.25F, -2.5F, 5.0F, 6.0F, 5.0F, new CubeDeformation(0.0F)) + .texOffs(96, 88).addBox(-4.0F, 24.25F, -4.0F, 8.0F, 2.0F, 8.0F, new CubeDeformation(0.0F)) + .texOffs(25, 106).addBox(-3.5F, 19.25F, -3.5F, 7.0F, 4.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -75.25F, 0.0F, 0.0F, -0.7854F, 0.0F)); - PartDefinition rotor_top_translate_2 = bone173.addOrReplaceChild("rotor_top_translate_2", CubeListBuilder.create().texOffs(65, 110).addBox(-3.0F, 27.75F, -3.0F, 6.0F, 1.0F, 6.0F, new CubeDeformation(0.0F)) - .texOffs(108, 116).addBox(-2.5F, 23.25F, -2.5F, 5.0F, 6.0F, 5.0F, new CubeDeformation(0.0F)) - .texOffs(96, 88).addBox(-4.0F, 24.25F, -4.0F, 8.0F, 2.0F, 8.0F, new CubeDeformation(0.0F)) - .texOffs(25, 106).addBox(-3.5F, 19.25F, -3.5F, 7.0F, 4.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -75.25F, 0.0F, 0.0F, -0.7854F, 0.0F)); + PartDefinition rotortop_glow2 = rotor_top_translate_2.addOrReplaceChild("rotortop_glow2", CubeListBuilder.create().texOffs(67, 98).addBox(-1.5F, 29.25F, -1.5F, 3.0F, 6.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.0F, 0.0F)); - PartDefinition rotortop_glow2 = rotor_top_translate_2.addOrReplaceChild("rotortop_glow2", CubeListBuilder.create().texOffs(67, 98).addBox(-1.5F, 29.25F, -1.5F, 3.0F, 6.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.0F, 0.0F)); + PartDefinition bone213 = rotor_top_translate_2.addOrReplaceChild("bone213", CubeListBuilder.create().texOffs(21, 90).addBox(-0.5F, -5.5F, -0.5F, 1.0F, 11.0F, 1.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(0.0F, 29.5F, 0.0F, 3.1416F, 0.0F, 0.0F)); - PartDefinition bone213 = rotor_top_translate_2.addOrReplaceChild("bone213", CubeListBuilder.create().texOffs(21, 90).addBox(-0.5F, -5.5F, -0.5F, 1.0F, 11.0F, 1.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(0.0F, 29.5F, 0.0F, 3.1416F, 0.0F, 0.0F)); + PartDefinition base_console2 = bone173.addOrReplaceChild("base_console2", CubeListBuilder.create(), PartPose.offset(0.0F, 0.0F, 0.0F)); - PartDefinition base_console2 = bone173.addOrReplaceChild("base_console2", CubeListBuilder.create(), PartPose.offset(0.0F, 0.0F, 0.0F)); + PartDefinition centre_column2 = base_console2.addOrReplaceChild("centre_column2", CubeListBuilder.create().texOffs(25, 85).addBox(-1.0F, -28.25F, -1.0F, 2.0F, 9.0F, 2.0F, new CubeDeformation(0.25F)), PartPose.offset(0.0F, -4.75F, 0.0F)); - PartDefinition centre_column2 = base_console2.addOrReplaceChild("centre_column2", CubeListBuilder.create().texOffs(25, 85).addBox(-1.0F, -28.25F, -1.0F, 2.0F, 9.0F, 2.0F, new CubeDeformation(0.25F)), PartPose.offset(0.0F, -4.75F, 0.0F)); + PartDefinition rotorbeam_glow2 = centre_column2.addOrReplaceChild("rotorbeam_glow2", CubeListBuilder.create().texOffs(46, 81).addBox(-0.5F, -25.0F, 3.625F, 1.0F, 17.0F, 1.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(0.0F, -18.75F, 0.0F, 0.0F, -0.5236F, 0.0F)); - PartDefinition rotorbeam_glow2 = centre_column2.addOrReplaceChild("rotorbeam_glow2", CubeListBuilder.create().texOffs(46, 81).addBox(-0.5F, -25.0F, 3.625F, 1.0F, 17.0F, 1.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(0.0F, -18.75F, 0.0F, 0.0F, -0.5236F, 0.0F)); + PartDefinition bone174 = rotorbeam_glow2.addOrReplaceChild("bone174", CubeListBuilder.create().texOffs(46, 81).addBox(-0.5F, -25.0F, 3.625F, 1.0F, 17.0F, 1.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone174 = rotorbeam_glow2.addOrReplaceChild("bone174", CubeListBuilder.create().texOffs(46, 81).addBox(-0.5F, -25.0F, 3.625F, 1.0F, 17.0F, 1.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone2 = bone174.addOrReplaceChild("bone2", CubeListBuilder.create().texOffs(46, 81).addBox(-0.5F, -25.0F, 3.625F, 1.0F, 17.0F, 1.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone2 = bone174.addOrReplaceChild("bone2", CubeListBuilder.create().texOffs(46, 81).addBox(-0.5F, -25.0F, 3.625F, 1.0F, 17.0F, 1.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone170 = bone2.addOrReplaceChild("bone170", CubeListBuilder.create().texOffs(46, 81).addBox(-0.5F, -25.0F, 3.625F, 1.0F, 17.0F, 1.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone170 = bone2.addOrReplaceChild("bone170", CubeListBuilder.create().texOffs(46, 81).addBox(-0.5F, -25.0F, 3.625F, 1.0F, 17.0F, 1.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone171 = bone170.addOrReplaceChild("bone171", CubeListBuilder.create().texOffs(46, 81).addBox(-0.5F, -25.0F, 3.625F, 1.0F, 17.0F, 1.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone171 = bone170.addOrReplaceChild("bone171", CubeListBuilder.create().texOffs(46, 81).addBox(-0.5F, -25.0F, 3.625F, 1.0F, 17.0F, 1.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone172 = bone171.addOrReplaceChild("bone172", CubeListBuilder.create().texOffs(46, 81).addBox(-0.5F, -25.0F, 3.625F, 1.0F, 17.0F, 1.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone172 = bone171.addOrReplaceChild("bone172", CubeListBuilder.create().texOffs(46, 81).addBox(-0.5F, -25.0F, 3.625F, 1.0F, 17.0F, 1.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition top_column2 = centre_column2.addOrReplaceChild("top_column2", CubeListBuilder.create(), PartPose.offset(0.0F, 0.0F, 0.0F)); - PartDefinition top_column2 = centre_column2.addOrReplaceChild("top_column2", CubeListBuilder.create(), PartPose.offset(0.0F, 0.0F, 0.0F)); + PartDefinition bone5 = top_column2.addOrReplaceChild("bone5", CubeListBuilder.create(), PartPose.offset(0.0F, -33.25F, 0.0F)); - PartDefinition bone5 = top_column2.addOrReplaceChild("bone5", CubeListBuilder.create(), PartPose.offset(0.0F, -33.25F, 0.0F)); + PartDefinition bone196 = bone5.addOrReplaceChild("bone196", CubeListBuilder.create().texOffs(16, 77).addBox(-3.5F, -6.5F, 5.075F, 7.0F, 4.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -18.0F, 0.0F)); - PartDefinition bone196 = bone5.addOrReplaceChild("bone196", CubeListBuilder.create().texOffs(16, 77).addBox(-3.5F, -6.5F, 5.075F, 7.0F, 4.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -18.0F, 0.0F)); + PartDefinition bone212 = bone196.addOrReplaceChild("bone212", CubeListBuilder.create().texOffs(16, 77).addBox(-3.5F, -6.5F, 5.075F, 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 bone212 = bone196.addOrReplaceChild("bone212", CubeListBuilder.create().texOffs(16, 77).addBox(-3.5F, -6.5F, 5.075F, 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 bone6 = bone212.addOrReplaceChild("bone6", CubeListBuilder.create().texOffs(16, 77).addBox(-3.5F, -6.5F, 5.075F, 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 bone6 = bone212.addOrReplaceChild("bone6", CubeListBuilder.create().texOffs(16, 77).addBox(-3.5F, -6.5F, 5.075F, 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 bone7 = bone6.addOrReplaceChild("bone7", CubeListBuilder.create().texOffs(16, 77).addBox(-3.5F, -6.5F, 5.075F, 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 bone7 = bone6.addOrReplaceChild("bone7", CubeListBuilder.create().texOffs(16, 77).addBox(-3.5F, -6.5F, 5.075F, 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 bone215 = bone7.addOrReplaceChild("bone215", CubeListBuilder.create().texOffs(16, 77).addBox(-3.5F, -6.5F, 5.075F, 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 bone215 = bone7.addOrReplaceChild("bone215", CubeListBuilder.create().texOffs(16, 77).addBox(-3.5F, -6.5F, 5.075F, 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 bone8 = bone215.addOrReplaceChild("bone8", CubeListBuilder.create().texOffs(16, 77).addBox(-3.5F, -6.5F, 5.075F, 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 bone8 = bone215.addOrReplaceChild("bone8", CubeListBuilder.create().texOffs(16, 77).addBox(-3.5F, -6.5F, 5.075F, 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 bone9 = bone5.addOrReplaceChild("bone9", CubeListBuilder.create().texOffs(48, 57).addBox(-0.5F, -6.5F, 6.875F, 1.0F, 4.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -18.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); - PartDefinition bone9 = bone5.addOrReplaceChild("bone9", CubeListBuilder.create().texOffs(48, 57).addBox(-0.5F, -6.5F, 6.875F, 1.0F, 4.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -18.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); + PartDefinition bone10 = bone9.addOrReplaceChild("bone10", CubeListBuilder.create().texOffs(48, 57).addBox(-0.5F, -6.5F, 6.875F, 1.0F, 4.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(48, 57).addBox(-0.5F, -6.5F, 6.875F, 1.0F, 4.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone219 = bone10.addOrReplaceChild("bone219", CubeListBuilder.create().texOffs(48, 57).addBox(-0.5F, -6.5F, 6.875F, 1.0F, 4.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone219 = bone10.addOrReplaceChild("bone219", CubeListBuilder.create().texOffs(48, 57).addBox(-0.5F, -6.5F, 6.875F, 1.0F, 4.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone220 = bone219.addOrReplaceChild("bone220", CubeListBuilder.create().texOffs(48, 57).addBox(-0.5F, -6.5F, 6.875F, 1.0F, 4.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone220 = bone219.addOrReplaceChild("bone220", CubeListBuilder.create().texOffs(48, 57).addBox(-0.5F, -6.5F, 6.875F, 1.0F, 4.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone221 = bone220.addOrReplaceChild("bone221", CubeListBuilder.create().texOffs(48, 57).addBox(-0.5F, -6.5F, 6.875F, 1.0F, 4.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone221 = bone220.addOrReplaceChild("bone221", CubeListBuilder.create().texOffs(48, 57).addBox(-0.5F, -6.5F, 6.875F, 1.0F, 4.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(48, 57).addBox(-0.5F, -6.5F, 6.875F, 1.0F, 4.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(48, 57).addBox(-0.5F, -6.5F, 6.875F, 1.0F, 4.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone3 = top_column2.addOrReplaceChild("bone3", CubeListBuilder.create(), PartPose.offset(0.0F, -36.75F, 0.0F)); - PartDefinition bone3 = top_column2.addOrReplaceChild("bone3", CubeListBuilder.create(), PartPose.offset(0.0F, -36.75F, 0.0F)); + PartDefinition bone4 = bone3.addOrReplaceChild("bone4", CubeListBuilder.create().texOffs(44, 14).addBox(-4.0F, -4.5F, -0.075F, 8.0F, 2.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -18.0F, 0.0F)); - PartDefinition bone4 = bone3.addOrReplaceChild("bone4", CubeListBuilder.create().texOffs(44, 14).addBox(-4.0F, -4.5F, -0.075F, 8.0F, 2.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -18.0F, 0.0F)); + PartDefinition bone157 = bone4.addOrReplaceChild("bone157", CubeListBuilder.create().texOffs(44, 14).addBox(-4.0F, -4.5F, -0.075F, 8.0F, 2.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone157 = bone4.addOrReplaceChild("bone157", CubeListBuilder.create().texOffs(44, 14).addBox(-4.0F, -4.5F, -0.075F, 8.0F, 2.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone158 = bone157.addOrReplaceChild("bone158", CubeListBuilder.create().texOffs(44, 14).addBox(-4.0F, -4.5F, -0.075F, 8.0F, 2.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone158 = bone157.addOrReplaceChild("bone158", CubeListBuilder.create().texOffs(44, 14).addBox(-4.0F, -4.5F, -0.075F, 8.0F, 2.0F, 8.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(44, 14).addBox(-4.0F, -4.5F, -0.075F, 8.0F, 2.0F, 8.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(44, 14).addBox(-4.0F, -4.5F, -0.075F, 8.0F, 2.0F, 8.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(44, 14).addBox(-4.0F, -4.5F, -0.075F, 8.0F, 2.0F, 8.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(44, 14).addBox(-4.0F, -4.5F, -0.075F, 8.0F, 2.0F, 8.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(44, 14).addBox(-4.0F, -4.5F, -0.075F, 8.0F, 2.0F, 8.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(44, 14).addBox(-4.0F, -4.5F, -0.075F, 8.0F, 2.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone162 = bone3.addOrReplaceChild("bone162", CubeListBuilder.create().texOffs(9, 8).addBox(-0.5F, -4.5F, 7.865F, 1.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -18.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); - PartDefinition bone162 = bone3.addOrReplaceChild("bone162", CubeListBuilder.create().texOffs(9, 8).addBox(-0.5F, -4.5F, 7.865F, 1.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -18.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); + PartDefinition bone163 = bone162.addOrReplaceChild("bone163", CubeListBuilder.create().texOffs(9, 8).addBox(-0.5F, -4.5F, 7.865F, 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 bone163 = bone162.addOrReplaceChild("bone163", CubeListBuilder.create().texOffs(9, 8).addBox(-0.5F, -4.5F, 7.865F, 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 bone164 = bone163.addOrReplaceChild("bone164", CubeListBuilder.create().texOffs(9, 8).addBox(-0.5F, -4.5F, 7.865F, 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 bone164 = bone163.addOrReplaceChild("bone164", CubeListBuilder.create().texOffs(9, 8).addBox(-0.5F, -4.5F, 7.865F, 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 bone165 = bone164.addOrReplaceChild("bone165", CubeListBuilder.create().texOffs(9, 8).addBox(-0.5F, -4.5F, 7.865F, 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 bone165 = bone164.addOrReplaceChild("bone165", CubeListBuilder.create().texOffs(9, 8).addBox(-0.5F, -4.5F, 7.865F, 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 bone166 = bone165.addOrReplaceChild("bone166", CubeListBuilder.create().texOffs(9, 8).addBox(-0.5F, -4.5F, 7.865F, 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 bone166 = bone165.addOrReplaceChild("bone166", CubeListBuilder.create().texOffs(9, 8).addBox(-0.5F, -4.5F, 7.865F, 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 bone167 = bone166.addOrReplaceChild("bone167", CubeListBuilder.create().texOffs(9, 8).addBox(-0.5F, -4.5F, 7.865F, 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 bone167 = bone166.addOrReplaceChild("bone167", CubeListBuilder.create().texOffs(9, 8).addBox(-0.5F, -4.5F, 7.865F, 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 bone223 = top_column2.addOrReplaceChild("bone223", CubeListBuilder.create(), PartPose.offset(0.0F, -32.75F, 0.0F)); - PartDefinition bone223 = top_column2.addOrReplaceChild("bone223", CubeListBuilder.create(), PartPose.offset(0.0F, -32.75F, 0.0F)); + PartDefinition bone224 = bone223.addOrReplaceChild("bone224", CubeListBuilder.create().texOffs(0, 67).addBox(-3.0F, -3.5F, 0.2F, 6.0F, 3.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -18.0F, 0.0F)); - PartDefinition bone224 = bone223.addOrReplaceChild("bone224", CubeListBuilder.create().texOffs(0, 67).addBox(-3.0F, -3.5F, 0.2F, 6.0F, 3.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -18.0F, 0.0F)); + PartDefinition bone225 = bone224.addOrReplaceChild("bone225", CubeListBuilder.create().texOffs(0, 67).addBox(-3.0F, -3.5F, 0.2F, 6.0F, 3.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone225 = bone224.addOrReplaceChild("bone225", CubeListBuilder.create().texOffs(0, 67).addBox(-3.0F, -3.5F, 0.2F, 6.0F, 3.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone11 = bone225.addOrReplaceChild("bone11", CubeListBuilder.create().texOffs(0, 67).addBox(-3.0F, -3.5F, 0.2F, 6.0F, 3.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone11 = bone225.addOrReplaceChild("bone11", CubeListBuilder.create().texOffs(0, 67).addBox(-3.0F, -3.5F, 0.2F, 6.0F, 3.0F, 6.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(0, 67).addBox(-3.0F, -3.5F, 0.2F, 6.0F, 3.0F, 6.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(0, 67).addBox(-3.0F, -3.5F, 0.2F, 6.0F, 3.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone176 = bone12.addOrReplaceChild("bone176", CubeListBuilder.create().texOffs(0, 67).addBox(-3.0F, -3.5F, 0.2F, 6.0F, 3.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone176 = bone12.addOrReplaceChild("bone176", CubeListBuilder.create().texOffs(0, 67).addBox(-3.0F, -3.5F, 0.2F, 6.0F, 3.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone177 = bone176.addOrReplaceChild("bone177", CubeListBuilder.create().texOffs(0, 67).addBox(-3.0F, -3.5F, 0.2F, 6.0F, 3.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone177 = bone176.addOrReplaceChild("bone177", CubeListBuilder.create().texOffs(0, 67).addBox(-3.0F, -3.5F, 0.2F, 6.0F, 3.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone13 = bone223.addOrReplaceChild("bone13", CubeListBuilder.create().texOffs(26, 43).addBox(-0.5F, -3.5F, 5.875F, 1.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -18.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); - PartDefinition bone13 = bone223.addOrReplaceChild("bone13", CubeListBuilder.create().texOffs(26, 43).addBox(-0.5F, -3.5F, 5.875F, 1.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -18.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); + PartDefinition bone14 = bone13.addOrReplaceChild("bone14", CubeListBuilder.create().texOffs(26, 43).addBox(-0.5F, -3.5F, 5.875F, 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 bone14 = bone13.addOrReplaceChild("bone14", CubeListBuilder.create().texOffs(26, 43).addBox(-0.5F, -3.5F, 5.875F, 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 bone15 = bone14.addOrReplaceChild("bone15", CubeListBuilder.create().texOffs(26, 43).addBox(-0.5F, -3.5F, 5.875F, 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 bone15 = bone14.addOrReplaceChild("bone15", CubeListBuilder.create().texOffs(26, 43).addBox(-0.5F, -3.5F, 5.875F, 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 bone233 = bone15.addOrReplaceChild("bone233", CubeListBuilder.create().texOffs(26, 43).addBox(-0.5F, -3.5F, 5.875F, 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 bone233 = bone15.addOrReplaceChild("bone233", CubeListBuilder.create().texOffs(26, 43).addBox(-0.5F, -3.5F, 5.875F, 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 bone234 = bone233.addOrReplaceChild("bone234", CubeListBuilder.create().texOffs(26, 43).addBox(-0.5F, -3.5F, 5.875F, 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 bone234 = bone233.addOrReplaceChild("bone234", CubeListBuilder.create().texOffs(26, 43).addBox(-0.5F, -3.5F, 5.875F, 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 bone235 = bone234.addOrReplaceChild("bone235", CubeListBuilder.create().texOffs(26, 43).addBox(-0.5F, -3.5F, 5.875F, 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 bone235 = bone234.addOrReplaceChild("bone235", CubeListBuilder.create().texOffs(26, 43).addBox(-0.5F, -3.5F, 5.875F, 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 bone208 = centre_column2.addOrReplaceChild("bone208", CubeListBuilder.create().texOffs(25, 85).addBox(-1.0F, -4.5F, -1.0F, 2.0F, 9.0F, 2.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(0.0F, -46.75F, 0.0F, 0.0F, 0.0F, -3.1416F)); - PartDefinition bone208 = centre_column2.addOrReplaceChild("bone208", CubeListBuilder.create().texOffs(25, 85).addBox(-1.0F, -4.5F, -1.0F, 2.0F, 9.0F, 2.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(0.0F, -46.75F, 0.0F, 0.0F, 0.0F, -3.1416F)); + PartDefinition bone236 = centre_column2.addOrReplaceChild("bone236", CubeListBuilder.create().texOffs(88, 49).addBox(-1.0F, -6.0F, 3.125F, 2.0F, 7.0F, 2.0F, new CubeDeformation(0.35F)), PartPose.offsetAndRotation(0.0F, -45.25F, 0.0F, 0.0F, -0.5236F, 0.0F)); - PartDefinition bone236 = centre_column2.addOrReplaceChild("bone236", CubeListBuilder.create().texOffs(88, 49).addBox(-1.0F, -6.0F, 3.125F, 2.0F, 7.0F, 2.0F, new CubeDeformation(0.35F)), PartPose.offsetAndRotation(0.0F, -45.25F, 0.0F, 0.0F, -0.5236F, 0.0F)); + PartDefinition bone237 = bone236.addOrReplaceChild("bone237", CubeListBuilder.create().texOffs(88, 49).addBox(-1.0F, -6.0F, 3.125F, 2.0F, 7.0F, 2.0F, new CubeDeformation(0.35F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone237 = bone236.addOrReplaceChild("bone237", CubeListBuilder.create().texOffs(88, 49).addBox(-1.0F, -6.0F, 3.125F, 2.0F, 7.0F, 2.0F, new CubeDeformation(0.35F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone16 = bone237.addOrReplaceChild("bone16", CubeListBuilder.create().texOffs(88, 49).addBox(-1.0F, -6.0F, 3.125F, 2.0F, 7.0F, 2.0F, new CubeDeformation(0.35F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone16 = bone237.addOrReplaceChild("bone16", CubeListBuilder.create().texOffs(88, 49).addBox(-1.0F, -6.0F, 3.125F, 2.0F, 7.0F, 2.0F, new CubeDeformation(0.35F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone17 = bone16.addOrReplaceChild("bone17", CubeListBuilder.create().texOffs(88, 49).addBox(-1.0F, -6.0F, 3.125F, 2.0F, 7.0F, 2.0F, new CubeDeformation(0.35F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone17 = bone16.addOrReplaceChild("bone17", CubeListBuilder.create().texOffs(88, 49).addBox(-1.0F, -6.0F, 3.125F, 2.0F, 7.0F, 2.0F, new CubeDeformation(0.35F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone168 = bone17.addOrReplaceChild("bone168", CubeListBuilder.create().texOffs(88, 49).addBox(-1.0F, -6.0F, 3.125F, 2.0F, 7.0F, 2.0F, new CubeDeformation(0.35F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone168 = bone17.addOrReplaceChild("bone168", CubeListBuilder.create().texOffs(88, 49).addBox(-1.0F, -6.0F, 3.125F, 2.0F, 7.0F, 2.0F, new CubeDeformation(0.35F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone169 = bone168.addOrReplaceChild("bone169", CubeListBuilder.create().texOffs(88, 49).addBox(-1.0F, -6.0F, 3.125F, 2.0F, 7.0F, 2.0F, new CubeDeformation(0.35F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone169 = bone168.addOrReplaceChild("bone169", CubeListBuilder.create().texOffs(88, 49).addBox(-1.0F, -6.0F, 3.125F, 2.0F, 7.0F, 2.0F, new CubeDeformation(0.35F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone18 = centre_column2.addOrReplaceChild("bone18", CubeListBuilder.create().texOffs(0, 14).addBox(-1.0F, -7.0F, 3.125F, 2.0F, 7.0F, 2.0F, new CubeDeformation(0.35F)), PartPose.offsetAndRotation(0.0F, -19.5F, 0.0F, 0.0F, -0.5236F, 0.0F)); - PartDefinition bone18 = centre_column2.addOrReplaceChild("bone18", CubeListBuilder.create().texOffs(0, 14).addBox(-1.0F, -7.0F, 3.125F, 2.0F, 7.0F, 2.0F, new CubeDeformation(0.35F)), PartPose.offsetAndRotation(0.0F, -19.5F, 0.0F, 0.0F, -0.5236F, 0.0F)); + PartDefinition bone19 = bone18.addOrReplaceChild("bone19", CubeListBuilder.create().texOffs(0, 14).addBox(-1.0F, -7.0F, 3.125F, 2.0F, 7.0F, 2.0F, new CubeDeformation(0.35F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone19 = bone18.addOrReplaceChild("bone19", CubeListBuilder.create().texOffs(0, 14).addBox(-1.0F, -7.0F, 3.125F, 2.0F, 7.0F, 2.0F, new CubeDeformation(0.35F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone20 = bone19.addOrReplaceChild("bone20", CubeListBuilder.create().texOffs(0, 14).addBox(-1.0F, -7.0F, 3.125F, 2.0F, 7.0F, 2.0F, new CubeDeformation(0.35F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone20 = bone19.addOrReplaceChild("bone20", CubeListBuilder.create().texOffs(0, 14).addBox(-1.0F, -7.0F, 3.125F, 2.0F, 7.0F, 2.0F, new CubeDeformation(0.35F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone21 = bone20.addOrReplaceChild("bone21", CubeListBuilder.create().texOffs(0, 14).addBox(-1.0F, -7.0F, 3.125F, 2.0F, 7.0F, 2.0F, new CubeDeformation(0.35F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone21 = bone20.addOrReplaceChild("bone21", CubeListBuilder.create().texOffs(0, 14).addBox(-1.0F, -7.0F, 3.125F, 2.0F, 7.0F, 2.0F, new CubeDeformation(0.35F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone22 = bone21.addOrReplaceChild("bone22", CubeListBuilder.create().texOffs(0, 14).addBox(-1.0F, -7.0F, 3.125F, 2.0F, 7.0F, 2.0F, new CubeDeformation(0.35F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone22 = bone21.addOrReplaceChild("bone22", CubeListBuilder.create().texOffs(0, 14).addBox(-1.0F, -7.0F, 3.125F, 2.0F, 7.0F, 2.0F, new CubeDeformation(0.35F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone23 = bone22.addOrReplaceChild("bone23", CubeListBuilder.create().texOffs(0, 14).addBox(-1.0F, -7.0F, 3.125F, 2.0F, 7.0F, 2.0F, new CubeDeformation(0.35F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone23 = bone22.addOrReplaceChild("bone23", CubeListBuilder.create().texOffs(0, 14).addBox(-1.0F, -7.0F, 3.125F, 2.0F, 7.0F, 2.0F, new CubeDeformation(0.35F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition base2 = base_console2.addOrReplaceChild("base2", CubeListBuilder.create(), PartPose.offset(0.0F, 0.0F, 0.0F)); - PartDefinition base2 = base_console2.addOrReplaceChild("base2", CubeListBuilder.create(), PartPose.offset(0.0F, 0.0F, 0.0F)); + PartDefinition base_glow2 = base2.addOrReplaceChild("base_glow2", CubeListBuilder.create().texOffs(0, 43).addBox(-3.0F, -7.0F, 4.95F, 6.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -3.0F, 0.0F)); - PartDefinition base_glow2 = base2.addOrReplaceChild("base_glow2", CubeListBuilder.create().texOffs(0, 43).addBox(-3.0F, -7.0F, 4.95F, 6.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -3.0F, 0.0F)); + PartDefinition bone24 = base_glow2.addOrReplaceChild("bone24", CubeListBuilder.create().texOffs(0, 43).addBox(-3.0F, -7.0F, 4.95F, 6.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone24 = base_glow2.addOrReplaceChild("bone24", CubeListBuilder.create().texOffs(0, 43).addBox(-3.0F, -7.0F, 4.95F, 6.0F, 7.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, 43).addBox(-3.0F, -7.0F, 4.95F, 6.0F, 7.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, 43).addBox(-3.0F, -7.0F, 4.95F, 6.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone26 = bone25.addOrReplaceChild("bone26", CubeListBuilder.create().texOffs(0, 43).addBox(-3.0F, -7.0F, 4.95F, 6.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone26 = bone25.addOrReplaceChild("bone26", CubeListBuilder.create().texOffs(0, 43).addBox(-3.0F, -7.0F, 4.95F, 6.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(0, 43).addBox(-3.0F, -7.0F, 4.95F, 6.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(0, 43).addBox(-3.0F, -7.0F, 4.95F, 6.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(0, 43).addBox(-3.0F, -7.0F, 4.95F, 6.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(0, 43).addBox(-3.0F, -7.0F, 4.95F, 6.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 = base2.addOrReplaceChild("bone29", CubeListBuilder.create().texOffs(0, 25).addBox(-1.0F, -7.0F, 6.3F, 2.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -3.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); - PartDefinition bone29 = base2.addOrReplaceChild("bone29", CubeListBuilder.create().texOffs(0, 25).addBox(-1.0F, -7.0F, 6.3F, 2.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -3.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); + PartDefinition bone30 = bone29.addOrReplaceChild("bone30", CubeListBuilder.create().texOffs(0, 25).addBox(-1.0F, -7.0F, 6.3F, 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 bone30 = bone29.addOrReplaceChild("bone30", CubeListBuilder.create().texOffs(0, 25).addBox(-1.0F, -7.0F, 6.3F, 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 bone31 = bone30.addOrReplaceChild("bone31", CubeListBuilder.create().texOffs(0, 25).addBox(-1.0F, -7.0F, 6.3F, 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 bone31 = bone30.addOrReplaceChild("bone31", CubeListBuilder.create().texOffs(0, 25).addBox(-1.0F, -7.0F, 6.3F, 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 bone32 = bone31.addOrReplaceChild("bone32", CubeListBuilder.create().texOffs(0, 25).addBox(-1.0F, -7.0F, 6.3F, 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 bone32 = bone31.addOrReplaceChild("bone32", CubeListBuilder.create().texOffs(0, 25).addBox(-1.0F, -7.0F, 6.3F, 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 bone33 = bone32.addOrReplaceChild("bone33", CubeListBuilder.create().texOffs(0, 25).addBox(-1.0F, -7.0F, 6.3F, 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 bone33 = bone32.addOrReplaceChild("bone33", CubeListBuilder.create().texOffs(0, 25).addBox(-1.0F, -7.0F, 6.3F, 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 bone34 = bone33.addOrReplaceChild("bone34", CubeListBuilder.create().texOffs(0, 25).addBox(-1.0F, -7.0F, 6.3F, 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 bone34 = bone33.addOrReplaceChild("bone34", CubeListBuilder.create().texOffs(0, 25).addBox(-1.0F, -7.0F, 6.3F, 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 bone35 = base2.addOrReplaceChild("bone35", CubeListBuilder.create().texOffs(76, 22).addBox(-4.0F, -2.0F, -1.05F, 8.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -1.0F, 7.0F)); - PartDefinition bone35 = base2.addOrReplaceChild("bone35", CubeListBuilder.create().texOffs(76, 22).addBox(-4.0F, -2.0F, -1.05F, 8.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -1.0F, 7.0F)); + PartDefinition bone36 = bone35.addOrReplaceChild("bone36", CubeListBuilder.create().texOffs(76, 22).addBox(-4.0F, -2.0F, 5.95F, 8.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, -7.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone36 = bone35.addOrReplaceChild("bone36", CubeListBuilder.create().texOffs(76, 22).addBox(-4.0F, -2.0F, 5.95F, 8.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, -7.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone37 = bone36.addOrReplaceChild("bone37", CubeListBuilder.create().texOffs(76, 22).addBox(-4.0F, -2.0F, 5.95F, 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 bone37 = bone36.addOrReplaceChild("bone37", CubeListBuilder.create().texOffs(76, 22).addBox(-4.0F, -2.0F, 5.95F, 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 bone38 = bone37.addOrReplaceChild("bone38", CubeListBuilder.create().texOffs(76, 22).addBox(-4.0F, -2.0F, 5.95F, 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 bone38 = bone37.addOrReplaceChild("bone38", CubeListBuilder.create().texOffs(76, 22).addBox(-4.0F, -2.0F, 5.95F, 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 bone39 = bone38.addOrReplaceChild("bone39", CubeListBuilder.create().texOffs(76, 22).addBox(-4.0F, -2.0F, 5.95F, 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 bone39 = bone38.addOrReplaceChild("bone39", CubeListBuilder.create().texOffs(76, 22).addBox(-4.0F, -2.0F, 5.95F, 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 bone40 = bone39.addOrReplaceChild("bone40", CubeListBuilder.create().texOffs(76, 22).addBox(-4.0F, -2.0F, 5.95F, 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 bone40 = bone39.addOrReplaceChild("bone40", CubeListBuilder.create().texOffs(76, 22).addBox(-4.0F, -2.0F, 5.95F, 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 bone41 = base2.addOrReplaceChild("bone41", CubeListBuilder.create().texOffs(32, 33).addBox(-5.0F, -1.0F, -8.325F, 10.0F, 1.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.0F, 7.0F)); - PartDefinition bone41 = base2.addOrReplaceChild("bone41", CubeListBuilder.create().texOffs(32, 33).addBox(-5.0F, -1.0F, -8.325F, 10.0F, 1.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.0F, 7.0F)); + PartDefinition bone42 = bone41.addOrReplaceChild("bone42", CubeListBuilder.create().texOffs(32, 33).addBox(-5.0F, -1.0F, -1.325F, 10.0F, 1.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, -7.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone42 = bone41.addOrReplaceChild("bone42", CubeListBuilder.create().texOffs(32, 33).addBox(-5.0F, -1.0F, -1.325F, 10.0F, 1.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, -7.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone43 = bone42.addOrReplaceChild("bone43", CubeListBuilder.create().texOffs(32, 33).addBox(-5.0F, -1.0F, -1.325F, 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 bone43 = bone42.addOrReplaceChild("bone43", CubeListBuilder.create().texOffs(32, 33).addBox(-5.0F, -1.0F, -1.325F, 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 bone44 = bone43.addOrReplaceChild("bone44", CubeListBuilder.create().texOffs(32, 33).addBox(-5.0F, -1.0F, -1.325F, 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 bone44 = bone43.addOrReplaceChild("bone44", CubeListBuilder.create().texOffs(32, 33).addBox(-5.0F, -1.0F, -1.325F, 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 bone45 = bone44.addOrReplaceChild("bone45", CubeListBuilder.create().texOffs(32, 33).addBox(-5.0F, -1.0F, -1.325F, 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 bone45 = bone44.addOrReplaceChild("bone45", CubeListBuilder.create().texOffs(32, 33).addBox(-5.0F, -1.0F, -1.325F, 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 bone46 = bone45.addOrReplaceChild("bone46", CubeListBuilder.create().texOffs(32, 33).addBox(-5.0F, -1.0F, -1.325F, 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 bone46 = bone45.addOrReplaceChild("bone46", CubeListBuilder.create().texOffs(32, 33).addBox(-5.0F, -1.0F, -1.325F, 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 bone47 = base_console2.addOrReplaceChild("bone47", CubeListBuilder.create(), PartPose.offset(0.0F, -1.75F, 0.0F)); - PartDefinition bone47 = base_console2.addOrReplaceChild("bone47", CubeListBuilder.create(), PartPose.offset(0.0F, -1.75F, 0.0F)); + PartDefinition bone48 = bone47.addOrReplaceChild("bone48", CubeListBuilder.create().texOffs(51, 0).addBox(-4.5F, -2.75F, 0.945F, 9.0F, 1.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -17.75F, 0.0F)); - PartDefinition bone48 = bone47.addOrReplaceChild("bone48", CubeListBuilder.create().texOffs(51, 0).addBox(-4.5F, -2.75F, 0.945F, 9.0F, 1.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -17.75F, 0.0F)); + PartDefinition bone49 = bone48.addOrReplaceChild("bone49", CubeListBuilder.create().texOffs(51, 0).addBox(-4.5F, -2.75F, 0.945F, 9.0F, 1.0F, 7.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(51, 0).addBox(-4.5F, -2.75F, 0.945F, 9.0F, 1.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone50 = bone49.addOrReplaceChild("bone50", CubeListBuilder.create().texOffs(51, 0).addBox(-4.5F, -2.75F, 0.945F, 9.0F, 1.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone50 = bone49.addOrReplaceChild("bone50", CubeListBuilder.create().texOffs(51, 0).addBox(-4.5F, -2.75F, 0.945F, 9.0F, 1.0F, 7.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(51, 0).addBox(-4.5F, -2.75F, 0.945F, 9.0F, 1.0F, 7.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(51, 0).addBox(-4.5F, -2.75F, 0.945F, 9.0F, 1.0F, 7.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(51, 0).addBox(-4.5F, -2.75F, 0.945F, 9.0F, 1.0F, 7.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(51, 0).addBox(-4.5F, -2.75F, 0.945F, 9.0F, 1.0F, 7.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(51, 0).addBox(-4.5F, -2.75F, 0.945F, 9.0F, 1.0F, 7.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(51, 0).addBox(-4.5F, -2.75F, 0.945F, 9.0F, 1.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone54 = bone47.addOrReplaceChild("bone54", CubeListBuilder.create().texOffs(68, 16).addBox(-0.5F, -1.775F, 7.89F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -18.75F, 0.0F, 0.0F, -0.5236F, 0.0F)); - PartDefinition bone54 = bone47.addOrReplaceChild("bone54", CubeListBuilder.create().texOffs(68, 16).addBox(-0.5F, -1.775F, 7.89F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -18.75F, 0.0F, 0.0F, -0.5236F, 0.0F)); + PartDefinition bone55 = bone54.addOrReplaceChild("bone55", CubeListBuilder.create().texOffs(68, 16).addBox(-0.5F, -1.775F, 7.89F, 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 bone55 = bone54.addOrReplaceChild("bone55", CubeListBuilder.create().texOffs(68, 16).addBox(-0.5F, -1.775F, 7.89F, 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 bone56 = bone55.addOrReplaceChild("bone56", CubeListBuilder.create().texOffs(68, 16).addBox(-0.5F, -1.775F, 7.89F, 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 bone56 = bone55.addOrReplaceChild("bone56", CubeListBuilder.create().texOffs(68, 16).addBox(-0.5F, -1.775F, 7.89F, 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 bone57 = bone56.addOrReplaceChild("bone57", CubeListBuilder.create().texOffs(68, 16).addBox(-0.5F, -1.775F, 7.89F, 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 bone57 = bone56.addOrReplaceChild("bone57", CubeListBuilder.create().texOffs(68, 16).addBox(-0.5F, -1.775F, 7.89F, 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 bone58 = bone57.addOrReplaceChild("bone58", CubeListBuilder.create().texOffs(68, 16).addBox(-0.5F, -1.775F, 7.89F, 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 bone58 = bone57.addOrReplaceChild("bone58", CubeListBuilder.create().texOffs(68, 16).addBox(-0.5F, -1.775F, 7.89F, 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 bone59 = bone58.addOrReplaceChild("bone59", CubeListBuilder.create().texOffs(68, 16).addBox(-0.5F, -1.775F, 7.89F, 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 bone59 = bone58.addOrReplaceChild("bone59", CubeListBuilder.create().texOffs(68, 16).addBox(-0.5F, -1.775F, 7.89F, 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 bone60 = base_console2.addOrReplaceChild("bone60", CubeListBuilder.create(), PartPose.offset(0.0F, -15.0F, 0.0F)); - PartDefinition bone60 = base_console2.addOrReplaceChild("bone60", CubeListBuilder.create(), PartPose.offset(0.0F, -15.0F, 0.0F)); + PartDefinition bone61 = bone60.addOrReplaceChild("bone61", CubeListBuilder.create().texOffs(0, 14).addBox(-8.5F, 0.775F, -12.0F, 17.0F, 1.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -0.5F, 19.425F, -0.4974F, 0.0F, 0.0F)); - PartDefinition bone61 = bone60.addOrReplaceChild("bone61", CubeListBuilder.create().texOffs(0, 14).addBox(-8.5F, 0.775F, -12.0F, 17.0F, 1.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -0.5F, 19.425F, -0.4974F, 0.0F, 0.0F)); + PartDefinition bone62 = bone60.addOrReplaceChild("bone62", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone62 = bone60.addOrReplaceChild("bone62", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone63 = bone62.addOrReplaceChild("bone63", CubeListBuilder.create().texOffs(0, 14).addBox(-8.5F, 0.775F, -12.0F, 17.0F, 1.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -0.5F, 19.425F, -0.4974F, 0.0F, 0.0F)); - PartDefinition bone63 = bone62.addOrReplaceChild("bone63", CubeListBuilder.create().texOffs(0, 14).addBox(-8.5F, 0.775F, -12.0F, 17.0F, 1.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -0.5F, 19.425F, -0.4974F, 0.0F, 0.0F)); + PartDefinition bone64 = bone62.addOrReplaceChild("bone64", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone64 = bone62.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(0, 14).addBox(-8.5F, 0.775F, -12.0F, 17.0F, 1.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -0.5F, 19.425F, -0.4974F, 0.0F, 0.0F)); - PartDefinition bone65 = bone64.addOrReplaceChild("bone65", CubeListBuilder.create().texOffs(0, 14).addBox(-8.5F, 0.775F, -12.0F, 17.0F, 1.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -0.5F, 19.425F, -0.4974F, 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 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(0, 14).addBox(-8.5F, 0.775F, -12.0F, 17.0F, 1.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -0.5F, 19.425F, -0.4974F, 0.0F, 0.0F)); - PartDefinition bone67 = bone66.addOrReplaceChild("bone67", CubeListBuilder.create().texOffs(0, 14).addBox(-8.5F, 0.775F, -12.0F, 17.0F, 1.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -0.5F, 19.425F, -0.4974F, 0.0F, 0.0F)); + PartDefinition bone68 = bone66.addOrReplaceChild("bone68", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone68 = bone66.addOrReplaceChild("bone68", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone69 = bone68.addOrReplaceChild("bone69", CubeListBuilder.create().texOffs(0, 14).addBox(-8.5F, 0.775F, -12.0F, 17.0F, 1.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -0.5F, 19.425F, -0.4974F, 0.0F, 0.0F)); - PartDefinition bone69 = bone68.addOrReplaceChild("bone69", CubeListBuilder.create().texOffs(0, 14).addBox(-8.5F, 0.775F, -12.0F, 17.0F, 1.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -0.5F, 19.425F, -0.4974F, 0.0F, 0.0F)); + PartDefinition bone70 = bone68.addOrReplaceChild("bone70", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone70 = bone68.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(0, 14).addBox(-8.5F, 0.775F, -12.0F, 17.0F, 1.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -0.5F, 19.425F, -0.4974F, 0.0F, 0.0F)); - PartDefinition bone71 = bone70.addOrReplaceChild("bone71", CubeListBuilder.create().texOffs(0, 14).addBox(-8.5F, 0.775F, -12.0F, 17.0F, 1.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -0.5F, 19.425F, -0.4974F, 0.0F, 0.0F)); + PartDefinition bone72 = base_console2.addOrReplaceChild("bone72", CubeListBuilder.create(), PartPose.offset(0.0F, -15.0F, 0.0F)); - PartDefinition bone72 = base_console2.addOrReplaceChild("bone72", CubeListBuilder.create(), PartPose.offset(0.0F, -15.0F, 0.0F)); + PartDefinition bone73 = bone72.addOrReplaceChild("bone73", CubeListBuilder.create().texOffs(34, 30).addBox(-10.0F, 0.1375F, -1.0F, 20.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(78, 74).addBox(-4.0F, 0.1375F, -11.5F, 8.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.0F, 17.975F, -0.4974F, 0.0F, 0.0F)); - PartDefinition bone73 = bone72.addOrReplaceChild("bone73", CubeListBuilder.create().texOffs(34, 30).addBox(-10.0F, 0.1375F, -1.0F, 20.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(78, 74).addBox(-4.0F, 0.1375F, -11.5F, 8.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.0F, 17.975F, -0.4974F, 0.0F, 0.0F)); + PartDefinition bone74 = bone73.addOrReplaceChild("bone74", CubeListBuilder.create().texOffs(34, 56).addBox(0.0F, 0.0375F, -3.0F, 1.0F, 1.0F, 12.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-5.6F, 0.1F, -8.75F, 0.0F, -0.48F, 0.0F)); - PartDefinition bone74 = bone73.addOrReplaceChild("bone74", CubeListBuilder.create().texOffs(34, 56).addBox(0.0F, 0.0375F, -3.0F, 1.0F, 1.0F, 12.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-5.6F, 0.1F, -8.75F, 0.0F, -0.48F, 0.0F)); + PartDefinition bone75 = bone73.addOrReplaceChild("bone75", CubeListBuilder.create().texOffs(50, 44).addBox(-1.0F, 0.0375F, -3.0F, 1.0F, 1.0F, 12.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(5.6F, 0.1F, -8.75F, 0.0F, 0.48F, 0.0F)); - PartDefinition bone75 = bone73.addOrReplaceChild("bone75", CubeListBuilder.create().texOffs(50, 44).addBox(-1.0F, 0.0375F, -3.0F, 1.0F, 1.0F, 12.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(5.6F, 0.1F, -8.75F, 0.0F, 0.48F, 0.0F)); + PartDefinition bone76 = bone72.addOrReplaceChild("bone76", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone76 = bone72.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(34, 30).addBox(-10.0F, 0.1375F, -1.0F, 20.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(78, 74).addBox(-4.0F, 0.1375F, -11.5F, 8.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.0F, 17.975F, -0.4974F, 0.0F, 0.0F)); - PartDefinition bone77 = bone76.addOrReplaceChild("bone77", CubeListBuilder.create().texOffs(34, 30).addBox(-10.0F, 0.1375F, -1.0F, 20.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(78, 74).addBox(-4.0F, 0.1375F, -11.5F, 8.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.0F, 17.975F, -0.4974F, 0.0F, 0.0F)); + PartDefinition bone78 = bone77.addOrReplaceChild("bone78", CubeListBuilder.create().texOffs(34, 56).addBox(0.0F, 0.0375F, -3.0F, 1.0F, 1.0F, 12.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-5.6F, 0.1F, -8.75F, 0.0F, -0.48F, 0.0F)); - PartDefinition bone78 = bone77.addOrReplaceChild("bone78", CubeListBuilder.create().texOffs(34, 56).addBox(0.0F, 0.0375F, -3.0F, 1.0F, 1.0F, 12.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-5.6F, 0.1F, -8.75F, 0.0F, -0.48F, 0.0F)); + PartDefinition bone79 = bone77.addOrReplaceChild("bone79", CubeListBuilder.create().texOffs(50, 44).addBox(-1.0F, 0.0375F, -3.0F, 1.0F, 1.0F, 12.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(5.6F, 0.1F, -8.75F, 0.0F, 0.48F, 0.0F)); - PartDefinition bone79 = bone77.addOrReplaceChild("bone79", CubeListBuilder.create().texOffs(50, 44).addBox(-1.0F, 0.0375F, -3.0F, 1.0F, 1.0F, 12.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(5.6F, 0.1F, -8.75F, 0.0F, 0.48F, 0.0F)); + PartDefinition bone80 = bone76.addOrReplaceChild("bone80", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone80 = bone76.addOrReplaceChild("bone80", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone81 = bone80.addOrReplaceChild("bone81", CubeListBuilder.create().texOffs(34, 30).addBox(-10.0F, 0.1375F, -1.0F, 20.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(78, 74).addBox(-4.0F, 0.1375F, -11.5F, 8.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.0F, 17.975F, -0.4974F, 0.0F, 0.0F)); - PartDefinition bone81 = bone80.addOrReplaceChild("bone81", CubeListBuilder.create().texOffs(34, 30).addBox(-10.0F, 0.1375F, -1.0F, 20.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(78, 74).addBox(-4.0F, 0.1375F, -11.5F, 8.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.0F, 17.975F, -0.4974F, 0.0F, 0.0F)); + PartDefinition bone82 = bone81.addOrReplaceChild("bone82", CubeListBuilder.create().texOffs(34, 56).addBox(0.0F, 0.0375F, -3.0F, 1.0F, 1.0F, 12.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-5.6F, 0.1F, -8.75F, 0.0F, -0.48F, 0.0F)); - PartDefinition bone82 = bone81.addOrReplaceChild("bone82", CubeListBuilder.create().texOffs(34, 56).addBox(0.0F, 0.0375F, -3.0F, 1.0F, 1.0F, 12.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-5.6F, 0.1F, -8.75F, 0.0F, -0.48F, 0.0F)); + PartDefinition bone83 = bone81.addOrReplaceChild("bone83", CubeListBuilder.create().texOffs(50, 44).addBox(-1.0F, 0.0375F, -3.0F, 1.0F, 1.0F, 12.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(5.6F, 0.1F, -8.75F, 0.0F, 0.48F, 0.0F)); - PartDefinition bone83 = bone81.addOrReplaceChild("bone83", CubeListBuilder.create().texOffs(50, 44).addBox(-1.0F, 0.0375F, -3.0F, 1.0F, 1.0F, 12.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(5.6F, 0.1F, -8.75F, 0.0F, 0.48F, 0.0F)); + PartDefinition bone84 = bone80.addOrReplaceChild("bone84", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone84 = bone80.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(34, 30).addBox(-10.0F, 0.1375F, -1.0F, 20.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(78, 74).addBox(-4.0F, 0.1375F, -11.5F, 8.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.0F, 17.975F, -0.4974F, 0.0F, 0.0F)); - PartDefinition bone85 = bone84.addOrReplaceChild("bone85", CubeListBuilder.create().texOffs(34, 30).addBox(-10.0F, 0.1375F, -1.0F, 20.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(78, 74).addBox(-4.0F, 0.1375F, -11.5F, 8.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.0F, 17.975F, -0.4974F, 0.0F, 0.0F)); + PartDefinition bone86 = bone85.addOrReplaceChild("bone86", CubeListBuilder.create().texOffs(34, 56).addBox(0.0F, 0.0375F, -3.0F, 1.0F, 1.0F, 12.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-5.6F, 0.1F, -8.75F, 0.0F, -0.48F, 0.0F)); - PartDefinition bone86 = bone85.addOrReplaceChild("bone86", CubeListBuilder.create().texOffs(34, 56).addBox(0.0F, 0.0375F, -3.0F, 1.0F, 1.0F, 12.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-5.6F, 0.1F, -8.75F, 0.0F, -0.48F, 0.0F)); + PartDefinition bone87 = bone85.addOrReplaceChild("bone87", CubeListBuilder.create().texOffs(50, 44).addBox(-1.0F, 0.0375F, -3.0F, 1.0F, 1.0F, 12.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(5.6F, 0.1F, -8.75F, 0.0F, 0.48F, 0.0F)); - PartDefinition bone87 = bone85.addOrReplaceChild("bone87", CubeListBuilder.create().texOffs(50, 44).addBox(-1.0F, 0.0375F, -3.0F, 1.0F, 1.0F, 12.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(5.6F, 0.1F, -8.75F, 0.0F, 0.48F, 0.0F)); + PartDefinition bone88 = bone84.addOrReplaceChild("bone88", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 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(34, 30).addBox(-10.0F, 0.1375F, -1.0F, 20.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(78, 74).addBox(-4.0F, 0.1375F, -11.5F, 8.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.0F, 17.975F, -0.4974F, 0.0F, 0.0F)); - PartDefinition bone89 = bone88.addOrReplaceChild("bone89", CubeListBuilder.create().texOffs(34, 30).addBox(-10.0F, 0.1375F, -1.0F, 20.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(78, 74).addBox(-4.0F, 0.1375F, -11.5F, 8.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.0F, 17.975F, -0.4974F, 0.0F, 0.0F)); + PartDefinition bone90 = bone89.addOrReplaceChild("bone90", CubeListBuilder.create().texOffs(34, 56).addBox(0.0F, 0.0375F, -3.0F, 1.0F, 1.0F, 12.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-5.6F, 0.1F, -8.75F, 0.0F, -0.48F, 0.0F)); - PartDefinition bone90 = bone89.addOrReplaceChild("bone90", CubeListBuilder.create().texOffs(34, 56).addBox(0.0F, 0.0375F, -3.0F, 1.0F, 1.0F, 12.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-5.6F, 0.1F, -8.75F, 0.0F, -0.48F, 0.0F)); + PartDefinition bone91 = bone89.addOrReplaceChild("bone91", CubeListBuilder.create().texOffs(50, 44).addBox(-1.0F, 0.0375F, -3.0F, 1.0F, 1.0F, 12.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(5.6F, 0.1F, -8.75F, 0.0F, 0.48F, 0.0F)); - PartDefinition bone91 = bone89.addOrReplaceChild("bone91", CubeListBuilder.create().texOffs(50, 44).addBox(-1.0F, 0.0375F, -3.0F, 1.0F, 1.0F, 12.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(5.6F, 0.1F, -8.75F, 0.0F, 0.48F, 0.0F)); + PartDefinition bone92 = bone88.addOrReplaceChild("bone92", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone92 = bone88.addOrReplaceChild("bone92", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone93 = bone92.addOrReplaceChild("bone93", CubeListBuilder.create().texOffs(34, 30).addBox(-10.0F, 0.1375F, -1.0F, 20.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(78, 74).addBox(-4.0F, 0.1375F, -11.5F, 8.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.0F, 17.975F, -0.4974F, 0.0F, 0.0F)); - PartDefinition bone93 = bone92.addOrReplaceChild("bone93", CubeListBuilder.create().texOffs(34, 30).addBox(-10.0F, 0.1375F, -1.0F, 20.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(78, 74).addBox(-4.0F, 0.1375F, -11.5F, 8.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.0F, 17.975F, -0.4974F, 0.0F, 0.0F)); + PartDefinition bone94 = bone93.addOrReplaceChild("bone94", CubeListBuilder.create().texOffs(34, 56).addBox(0.0F, 0.0375F, -3.0F, 1.0F, 1.0F, 12.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-5.6F, 0.1F, -8.75F, 0.0F, -0.48F, 0.0F)); - PartDefinition bone94 = bone93.addOrReplaceChild("bone94", CubeListBuilder.create().texOffs(34, 56).addBox(0.0F, 0.0375F, -3.0F, 1.0F, 1.0F, 12.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-5.6F, 0.1F, -8.75F, 0.0F, -0.48F, 0.0F)); + PartDefinition bone95 = bone93.addOrReplaceChild("bone95", CubeListBuilder.create().texOffs(50, 44).addBox(-1.0F, 0.0375F, -3.0F, 1.0F, 1.0F, 12.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(5.6F, 0.1F, -8.75F, 0.0F, 0.48F, 0.0F)); - PartDefinition bone95 = bone93.addOrReplaceChild("bone95", CubeListBuilder.create().texOffs(50, 44).addBox(-1.0F, 0.0375F, -3.0F, 1.0F, 1.0F, 12.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(5.6F, 0.1F, -8.75F, 0.0F, 0.48F, 0.0F)); + PartDefinition bone96 = base_console2.addOrReplaceChild("bone96", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -15.5F, 0.0F, 0.0F, -0.5236F, 0.0F)); - PartDefinition bone96 = base_console2.addOrReplaceChild("bone96", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -15.5F, 0.0F, 0.0F, -0.5236F, 0.0F)); + PartDefinition bone97 = bone96.addOrReplaceChild("bone97", CubeListBuilder.create().texOffs(16, 44).addBox(-0.5F, 0.0F, -14.0F, 1.0F, 1.0F, 14.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -0.5F, 20.875F, -0.4363F, 0.0F, 0.0F)); - PartDefinition bone97 = bone96.addOrReplaceChild("bone97", CubeListBuilder.create().texOffs(16, 44).addBox(-0.5F, 0.0F, -14.0F, 1.0F, 1.0F, 14.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -0.5F, 20.875F, -0.4363F, 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 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(16, 44).addBox(-0.5F, 0.0F, -14.0F, 1.0F, 1.0F, 14.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -0.5F, 20.875F, -0.4363F, 0.0F, 0.0F)); - PartDefinition bone99 = bone98.addOrReplaceChild("bone99", CubeListBuilder.create().texOffs(16, 44).addBox(-0.5F, 0.0F, -14.0F, 1.0F, 1.0F, 14.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -0.5F, 20.875F, -0.4363F, 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 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(16, 44).addBox(-0.5F, 0.0F, -14.0F, 1.0F, 1.0F, 14.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -0.5F, 20.875F, -0.4363F, 0.0F, 0.0F)); - PartDefinition bone101 = bone100.addOrReplaceChild("bone101", CubeListBuilder.create().texOffs(16, 44).addBox(-0.5F, 0.0F, -14.0F, 1.0F, 1.0F, 14.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -0.5F, 20.875F, -0.4363F, 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 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(16, 44).addBox(-0.5F, 0.0F, -14.0F, 1.0F, 1.0F, 14.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -0.5F, 20.875F, -0.4363F, 0.0F, 0.0F)); - PartDefinition bone103 = bone102.addOrReplaceChild("bone103", CubeListBuilder.create().texOffs(16, 44).addBox(-0.5F, 0.0F, -14.0F, 1.0F, 1.0F, 14.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -0.5F, 20.875F, -0.4363F, 0.0F, 0.0F)); + PartDefinition bone104 = bone102.addOrReplaceChild("bone104", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone104 = bone102.addOrReplaceChild("bone104", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone105 = bone104.addOrReplaceChild("bone105", CubeListBuilder.create().texOffs(16, 44).addBox(-0.5F, 0.0F, -14.0F, 1.0F, 1.0F, 14.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -0.5F, 20.875F, -0.4363F, 0.0F, 0.0F)); - PartDefinition bone105 = bone104.addOrReplaceChild("bone105", CubeListBuilder.create().texOffs(16, 44).addBox(-0.5F, 0.0F, -14.0F, 1.0F, 1.0F, 14.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -0.5F, 20.875F, -0.4363F, 0.0F, 0.0F)); + PartDefinition bone106 = bone104.addOrReplaceChild("bone106", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone106 = bone104.addOrReplaceChild("bone106", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone107 = bone106.addOrReplaceChild("bone107", CubeListBuilder.create().texOffs(16, 44).addBox(-0.5F, 0.0F, -14.0F, 1.0F, 1.0F, 14.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -0.5F, 20.875F, -0.4363F, 0.0F, 0.0F)); - PartDefinition bone107 = bone106.addOrReplaceChild("bone107", CubeListBuilder.create().texOffs(16, 44).addBox(-0.5F, 0.0F, -14.0F, 1.0F, 1.0F, 14.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -0.5F, 20.875F, -0.4363F, 0.0F, 0.0F)); + PartDefinition bone108 = base_console2.addOrReplaceChild("bone108", CubeListBuilder.create(), PartPose.offset(0.0F, -13.0F, 0.0F)); - PartDefinition bone108 = base_console2.addOrReplaceChild("bone108", CubeListBuilder.create(), PartPose.offset(0.0F, -13.0F, 0.0F)); + PartDefinition bone109 = bone108.addOrReplaceChild("bone109", CubeListBuilder.create().texOffs(0, 0).addBox(-10.0F, -1.0F, -13.0F, 19.0F, 1.0F, 13.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.5F, 0.0F, 17.375F, 0.3927F, 0.0F, 0.0F)); - PartDefinition bone109 = bone108.addOrReplaceChild("bone109", CubeListBuilder.create().texOffs(0, 0).addBox(-10.0F, -1.0F, -13.0F, 19.0F, 1.0F, 13.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.5F, 0.0F, 17.375F, 0.3927F, 0.0F, 0.0F)); + PartDefinition bone110 = bone108.addOrReplaceChild("bone110", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone110 = bone108.addOrReplaceChild("bone110", CubeListBuilder.create(), 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(-10.0F, -1.0F, -13.0F, 19.0F, 1.0F, 13.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.5F, 0.0F, 17.375F, 0.3927F, 0.0F, 0.0F)); - PartDefinition bone111 = bone110.addOrReplaceChild("bone111", CubeListBuilder.create().texOffs(0, 0).addBox(-10.0F, -1.0F, -13.0F, 19.0F, 1.0F, 13.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.5F, 0.0F, 17.375F, 0.3927F, 0.0F, 0.0F)); + PartDefinition bone112 = bone110.addOrReplaceChild("bone112", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone112 = bone110.addOrReplaceChild("bone112", CubeListBuilder.create(), 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(-10.0F, -1.0F, -13.0F, 19.0F, 1.0F, 13.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.5F, 0.0F, 17.375F, 0.3927F, 0.0F, 0.0F)); - PartDefinition bone113 = bone112.addOrReplaceChild("bone113", CubeListBuilder.create().texOffs(0, 0).addBox(-10.0F, -1.0F, -13.0F, 19.0F, 1.0F, 13.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.5F, 0.0F, 17.375F, 0.3927F, 0.0F, 0.0F)); + PartDefinition bone114 = bone112.addOrReplaceChild("bone114", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone114 = bone112.addOrReplaceChild("bone114", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone115 = bone114.addOrReplaceChild("bone115", CubeListBuilder.create().texOffs(0, 0).addBox(-10.0F, -1.0F, -13.0F, 19.0F, 1.0F, 13.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.5F, 0.0F, 17.375F, 0.3927F, 0.0F, 0.0F)); - PartDefinition bone115 = bone114.addOrReplaceChild("bone115", CubeListBuilder.create().texOffs(0, 0).addBox(-10.0F, -1.0F, -13.0F, 19.0F, 1.0F, 13.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.5F, 0.0F, 17.375F, 0.3927F, 0.0F, 0.0F)); + PartDefinition bone116 = bone114.addOrReplaceChild("bone116", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone116 = bone114.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(0, 0).addBox(-10.0F, -1.0F, -13.0F, 19.0F, 1.0F, 13.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.5F, 0.0F, 17.375F, 0.3927F, 0.0F, 0.0F)); - PartDefinition bone117 = bone116.addOrReplaceChild("bone117", CubeListBuilder.create().texOffs(0, 0).addBox(-10.0F, -1.0F, -13.0F, 19.0F, 1.0F, 13.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.5F, 0.0F, 17.375F, 0.3927F, 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 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(0, 0).addBox(-10.0F, -1.0F, -13.0F, 19.0F, 1.0F, 13.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.5F, 0.0F, 17.375F, 0.3927F, 0.0F, 0.0F)); - PartDefinition bone119 = bone118.addOrReplaceChild("bone119", CubeListBuilder.create().texOffs(0, 0).addBox(-10.0F, -1.0F, -13.0F, 19.0F, 1.0F, 13.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.5F, 0.0F, 17.375F, 0.3927F, 0.0F, 0.0F)); + PartDefinition bone120 = base_console2.addOrReplaceChild("bone120", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -13.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); - PartDefinition bone120 = base_console2.addOrReplaceChild("bone120", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -13.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); + PartDefinition bone121 = bone120.addOrReplaceChild("bone121", CubeListBuilder.create().texOffs(0, 43).addBox(-0.5F, -1.0F, -14.0F, 1.0F, 1.0F, 14.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 20.375F, 0.3491F, 0.0F, 0.0F)); - PartDefinition bone121 = bone120.addOrReplaceChild("bone121", CubeListBuilder.create().texOffs(0, 43).addBox(-0.5F, -1.0F, -14.0F, 1.0F, 1.0F, 14.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 20.375F, 0.3491F, 0.0F, 0.0F)); + PartDefinition bone122 = bone120.addOrReplaceChild("bone122", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone122 = bone120.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(0, 43).addBox(-0.5F, -1.0F, -14.0F, 1.0F, 1.0F, 14.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 20.375F, 0.3491F, 0.0F, 0.0F)); - PartDefinition bone123 = bone122.addOrReplaceChild("bone123", CubeListBuilder.create().texOffs(0, 43).addBox(-0.5F, -1.0F, -14.0F, 1.0F, 1.0F, 14.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 20.375F, 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 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(0, 43).addBox(-0.5F, -1.0F, -14.0F, 1.0F, 1.0F, 14.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 20.375F, 0.3491F, 0.0F, 0.0F)); - PartDefinition bone125 = bone124.addOrReplaceChild("bone125", CubeListBuilder.create().texOffs(0, 43).addBox(-0.5F, -1.0F, -14.0F, 1.0F, 1.0F, 14.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 20.375F, 0.3491F, 0.0F, 0.0F)); + PartDefinition bone126 = bone124.addOrReplaceChild("bone126", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone126 = bone124.addOrReplaceChild("bone126", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone127 = bone126.addOrReplaceChild("bone127", CubeListBuilder.create().texOffs(0, 43).addBox(-0.5F, -1.0F, -14.0F, 1.0F, 1.0F, 14.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 20.375F, 0.3491F, 0.0F, 0.0F)); - PartDefinition bone127 = bone126.addOrReplaceChild("bone127", CubeListBuilder.create().texOffs(0, 43).addBox(-0.5F, -1.0F, -14.0F, 1.0F, 1.0F, 14.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 20.375F, 0.3491F, 0.0F, 0.0F)); + PartDefinition bone128 = bone126.addOrReplaceChild("bone128", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone128 = bone126.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().texOffs(0, 43).addBox(-0.5F, -1.0F, -14.0F, 1.0F, 1.0F, 14.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 20.375F, 0.3491F, 0.0F, 0.0F)); - PartDefinition bone129 = bone128.addOrReplaceChild("bone129", CubeListBuilder.create().texOffs(0, 43).addBox(-0.5F, -1.0F, -14.0F, 1.0F, 1.0F, 14.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 20.375F, 0.3491F, 0.0F, 0.0F)); + PartDefinition bone130 = bone128.addOrReplaceChild("bone130", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone130 = bone128.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(0, 43).addBox(-0.5F, -1.0F, -14.0F, 1.0F, 1.0F, 14.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 20.375F, 0.3491F, 0.0F, 0.0F)); - PartDefinition bone131 = bone130.addOrReplaceChild("bone131", CubeListBuilder.create().texOffs(0, 43).addBox(-0.5F, -1.0F, -14.0F, 1.0F, 1.0F, 14.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 20.375F, 0.3491F, 0.0F, 0.0F)); + PartDefinition bone132 = base_console2.addOrReplaceChild("bone132", CubeListBuilder.create().texOffs(16, 43).addBox(-0.5F, -3.5F, 19.875F, 1.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -12.5F, 0.0F, 0.0F, -0.5236F, 0.0F)); - PartDefinition bone132 = base_console2.addOrReplaceChild("bone132", CubeListBuilder.create().texOffs(16, 43).addBox(-0.5F, -3.5F, 19.875F, 1.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -12.5F, 0.0F, 0.0F, -0.5236F, 0.0F)); + PartDefinition bone133 = bone132.addOrReplaceChild("bone133", CubeListBuilder.create().texOffs(16, 43).addBox(-0.5F, -3.5F, 19.875F, 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 bone133 = bone132.addOrReplaceChild("bone133", CubeListBuilder.create().texOffs(16, 43).addBox(-0.5F, -3.5F, 19.875F, 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 bone134 = bone133.addOrReplaceChild("bone134", CubeListBuilder.create().texOffs(16, 43).addBox(-0.5F, -3.5F, 19.875F, 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 bone134 = bone133.addOrReplaceChild("bone134", CubeListBuilder.create().texOffs(16, 43).addBox(-0.5F, -3.5F, 19.875F, 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 bone135 = bone134.addOrReplaceChild("bone135", CubeListBuilder.create().texOffs(16, 43).addBox(-0.5F, -3.5F, 19.875F, 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 bone135 = bone134.addOrReplaceChild("bone135", CubeListBuilder.create().texOffs(16, 43).addBox(-0.5F, -3.5F, 19.875F, 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 bone136 = bone135.addOrReplaceChild("bone136", CubeListBuilder.create().texOffs(16, 43).addBox(-0.5F, -3.5F, 19.875F, 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 bone136 = bone135.addOrReplaceChild("bone136", CubeListBuilder.create().texOffs(16, 43).addBox(-0.5F, -3.5F, 19.875F, 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 bone137 = bone136.addOrReplaceChild("bone137", CubeListBuilder.create().texOffs(16, 43).addBox(-0.5F, -3.5F, 19.875F, 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 bone137 = bone136.addOrReplaceChild("bone137", CubeListBuilder.create().texOffs(16, 43).addBox(-0.5F, -3.5F, 19.875F, 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 bone241 = base_console2.addOrReplaceChild("bone241", CubeListBuilder.create().texOffs(11, 77).addBox(-0.5F, -2.5F, 19.875F, 1.0F, 1.0F, 1.0F, new CubeDeformation(-0.025F)) + .texOffs(11, 79).addBox(-0.5F, -9.775F, 7.89F, 1.0F, 1.0F, 1.0F, new CubeDeformation(-0.025F)) + .texOffs(11, 81).addBox(-0.5F, -11.475F, 5.875F, 1.0F, 1.0F, 1.0F, new CubeDeformation(-0.025F)), PartPose.offsetAndRotation(0.0F, -12.5F, 0.0F, 0.0F, -0.5236F, 0.0F)); - PartDefinition bone241 = base_console2.addOrReplaceChild("bone241", CubeListBuilder.create().texOffs(11, 77).addBox(-0.5F, -2.5F, 19.875F, 1.0F, 1.0F, 1.0F, new CubeDeformation(-0.025F)) - .texOffs(11, 79).addBox(-0.5F, -9.775F, 7.89F, 1.0F, 1.0F, 1.0F, new CubeDeformation(-0.025F)) - .texOffs(11, 81).addBox(-0.5F, -11.475F, 5.875F, 1.0F, 1.0F, 1.0F, new CubeDeformation(-0.025F)), PartPose.offsetAndRotation(0.0F, -12.5F, 0.0F, 0.0F, -0.5236F, 0.0F)); + PartDefinition bone242 = bone241.addOrReplaceChild("bone242", CubeListBuilder.create().texOffs(11, 77).addBox(-0.5F, -2.5F, 19.875F, 1.0F, 1.0F, 1.0F, new CubeDeformation(-0.025F)) + .texOffs(11, 81).addBox(-0.5F, -11.475F, 5.875F, 1.0F, 1.0F, 1.0F, new CubeDeformation(-0.025F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone242 = bone241.addOrReplaceChild("bone242", CubeListBuilder.create().texOffs(11, 77).addBox(-0.5F, -2.5F, 19.875F, 1.0F, 1.0F, 1.0F, new CubeDeformation(-0.025F)) - .texOffs(11, 81).addBox(-0.5F, -11.475F, 5.875F, 1.0F, 1.0F, 1.0F, new CubeDeformation(-0.025F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone243 = bone242.addOrReplaceChild("bone243", CubeListBuilder.create().texOffs(11, 77).addBox(-0.5F, -2.5F, 19.875F, 1.0F, 1.0F, 1.0F, new CubeDeformation(-0.025F)) + .texOffs(11, 81).addBox(-0.5F, -11.475F, 5.875F, 1.0F, 1.0F, 1.0F, new CubeDeformation(-0.025F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone243 = bone242.addOrReplaceChild("bone243", CubeListBuilder.create().texOffs(11, 77).addBox(-0.5F, -2.5F, 19.875F, 1.0F, 1.0F, 1.0F, new CubeDeformation(-0.025F)) - .texOffs(11, 81).addBox(-0.5F, -11.475F, 5.875F, 1.0F, 1.0F, 1.0F, new CubeDeformation(-0.025F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone244 = bone243.addOrReplaceChild("bone244", CubeListBuilder.create().texOffs(11, 77).addBox(-0.5F, -2.5F, 19.875F, 1.0F, 1.0F, 1.0F, new CubeDeformation(-0.025F)) + .texOffs(11, 79).addBox(-0.5F, -9.775F, 7.89F, 1.0F, 1.0F, 1.0F, new CubeDeformation(-0.025F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone244 = bone243.addOrReplaceChild("bone244", CubeListBuilder.create().texOffs(11, 77).addBox(-0.5F, -2.5F, 19.875F, 1.0F, 1.0F, 1.0F, new CubeDeformation(-0.025F)) - .texOffs(11, 79).addBox(-0.5F, -9.775F, 7.89F, 1.0F, 1.0F, 1.0F, new CubeDeformation(-0.025F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone245 = bone244.addOrReplaceChild("bone245", CubeListBuilder.create().texOffs(11, 77).addBox(-0.5F, -2.5F, 19.875F, 1.0F, 1.0F, 1.0F, new CubeDeformation(-0.025F)) + .texOffs(11, 81).addBox(-0.5F, -11.475F, 5.875F, 1.0F, 1.0F, 1.0F, new CubeDeformation(-0.025F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone245 = bone244.addOrReplaceChild("bone245", CubeListBuilder.create().texOffs(11, 77).addBox(-0.5F, -2.5F, 19.875F, 1.0F, 1.0F, 1.0F, new CubeDeformation(-0.025F)) - .texOffs(11, 81).addBox(-0.5F, -11.475F, 5.875F, 1.0F, 1.0F, 1.0F, new CubeDeformation(-0.025F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone246 = bone245.addOrReplaceChild("bone246", CubeListBuilder.create().texOffs(11, 77).addBox(-0.5F, -2.5F, 19.875F, 1.0F, 1.0F, 1.0F, new CubeDeformation(-0.025F)) + .texOffs(11, 79).addBox(-0.5F, -9.775F, 7.89F, 1.0F, 1.0F, 1.0F, new CubeDeformation(-0.025F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone246 = bone245.addOrReplaceChild("bone246", CubeListBuilder.create().texOffs(11, 77).addBox(-0.5F, -2.5F, 19.875F, 1.0F, 1.0F, 1.0F, new CubeDeformation(-0.025F)) - .texOffs(11, 79).addBox(-0.5F, -9.775F, 7.89F, 1.0F, 1.0F, 1.0F, new CubeDeformation(-0.025F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone138 = base_console2.addOrReplaceChild("bone138", CubeListBuilder.create().texOffs(34, 25).addBox(-10.0F, -3.5F, 9.33F, 20.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -12.5F, 7.0F)); - PartDefinition bone138 = base_console2.addOrReplaceChild("bone138", CubeListBuilder.create().texOffs(34, 25).addBox(-10.0F, -3.5F, 9.33F, 20.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -12.5F, 7.0F)); + PartDefinition bone139 = bone138.addOrReplaceChild("bone139", CubeListBuilder.create().texOffs(34, 25).addBox(-10.0F, -3.5F, 16.33F, 20.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, -7.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone139 = bone138.addOrReplaceChild("bone139", CubeListBuilder.create().texOffs(34, 25).addBox(-10.0F, -3.5F, 16.33F, 20.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, -7.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone140 = bone139.addOrReplaceChild("bone140", CubeListBuilder.create().texOffs(34, 25).addBox(-10.0F, -3.5F, 16.33F, 20.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); - PartDefinition bone140 = bone139.addOrReplaceChild("bone140", CubeListBuilder.create().texOffs(34, 25).addBox(-10.0F, -3.5F, 16.33F, 20.0F, 3.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(34, 25).addBox(-10.0F, -3.5F, 16.33F, 20.0F, 3.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(34, 25).addBox(-10.0F, -3.5F, 16.33F, 20.0F, 3.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(34, 25).addBox(-10.0F, -3.5F, 16.33F, 20.0F, 3.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(34, 25).addBox(-10.0F, -3.5F, 16.33F, 20.0F, 3.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(34, 25).addBox(-10.0F, -3.5F, 16.33F, 20.0F, 3.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(34, 25).addBox(-10.0F, -3.5F, 16.33F, 20.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone144 = base_console2.addOrReplaceChild("bone144", CubeListBuilder.create(), PartPose.offset(0.0F, -4.0F, 0.0F)); - PartDefinition bone144 = base_console2.addOrReplaceChild("bone144", CubeListBuilder.create(), PartPose.offset(0.0F, -4.0F, 0.0F)); + PartDefinition bone145 = bone144.addOrReplaceChild("bone145", CubeListBuilder.create().texOffs(53, 63).addBox(-3.0F, -2.0F, -0.8F, 6.0F, 2.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -18.0F, 0.0F)); - PartDefinition bone145 = bone144.addOrReplaceChild("bone145", CubeListBuilder.create().texOffs(53, 63).addBox(-3.0F, -2.0F, -0.8F, 6.0F, 2.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -18.0F, 0.0F)); + PartDefinition bone146 = bone145.addOrReplaceChild("bone146", CubeListBuilder.create().texOffs(53, 63).addBox(-3.0F, -2.0F, -0.8F, 6.0F, 2.0F, 7.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(53, 63).addBox(-3.0F, -2.0F, -0.8F, 6.0F, 2.0F, 7.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(53, 63).addBox(-3.0F, -2.0F, -0.8F, 6.0F, 2.0F, 7.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(53, 63).addBox(-3.0F, -2.0F, -0.8F, 6.0F, 2.0F, 7.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(53, 63).addBox(-3.0F, -2.0F, -0.8F, 6.0F, 2.0F, 7.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(53, 63).addBox(-3.0F, -2.0F, -0.8F, 6.0F, 2.0F, 7.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(53, 63).addBox(-3.0F, -2.0F, -0.8F, 6.0F, 2.0F, 7.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(53, 63).addBox(-3.0F, -2.0F, -0.8F, 6.0F, 2.0F, 7.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(53, 63).addBox(-3.0F, -2.0F, -0.8F, 6.0F, 2.0F, 7.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(53, 63).addBox(-3.0F, -2.0F, -0.8F, 6.0F, 2.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F)); + PartDefinition bone151 = bone144.addOrReplaceChild("bone151", CubeListBuilder.create().texOffs(9, 0).addBox(-0.5F, -1.975F, 5.875F, 1.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -18.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); - PartDefinition bone151 = bone144.addOrReplaceChild("bone151", CubeListBuilder.create().texOffs(9, 0).addBox(-0.5F, -1.975F, 5.875F, 1.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -18.0F, 0.0F, 0.0F, -0.5236F, 0.0F)); + PartDefinition bone152 = bone151.addOrReplaceChild("bone152", CubeListBuilder.create().texOffs(9, 0).addBox(-0.5F, -1.975F, 5.875F, 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 bone152 = bone151.addOrReplaceChild("bone152", CubeListBuilder.create().texOffs(9, 0).addBox(-0.5F, -1.975F, 5.875F, 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 bone153 = bone152.addOrReplaceChild("bone153", CubeListBuilder.create().texOffs(9, 0).addBox(-0.5F, -1.975F, 5.875F, 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 bone153 = bone152.addOrReplaceChild("bone153", CubeListBuilder.create().texOffs(9, 0).addBox(-0.5F, -1.975F, 5.875F, 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 bone154 = bone153.addOrReplaceChild("bone154", CubeListBuilder.create().texOffs(9, 0).addBox(-0.5F, -1.975F, 5.875F, 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 bone154 = bone153.addOrReplaceChild("bone154", CubeListBuilder.create().texOffs(9, 0).addBox(-0.5F, -1.975F, 5.875F, 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 bone155 = bone154.addOrReplaceChild("bone155", CubeListBuilder.create().texOffs(9, 0).addBox(-0.5F, -1.975F, 5.875F, 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 bone155 = bone154.addOrReplaceChild("bone155", CubeListBuilder.create().texOffs(9, 0).addBox(-0.5F, -1.975F, 5.875F, 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 bone156 = bone155.addOrReplaceChild("bone156", CubeListBuilder.create().texOffs(9, 0).addBox(-0.5F, -1.975F, 5.875F, 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 bone156 = bone155.addOrReplaceChild("bone156", CubeListBuilder.create().texOffs(9, 0).addBox(-0.5F, -1.975F, 5.875F, 1.0F, 2.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); + } - 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) { - this.root().render(poseStack, vertexConsumer, 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) { + this.root().render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + } - @Override - public ModelPart root() { - return this.bone181; - } + @Override + public ModelPart root() { + return this.bone181; + } - @Override - public void setupAnim(Entity entity, float f, float g, float h, float i, float j) { + @Override + public void setupAnim(Entity entity, float f, float g, float h, float i, float j) { - } + } - @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); + @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()); + 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); - } else { - if (TRConfig.CLIENT.PLAY_CONSOLE_IDLE_ANIMATIONS.get() && globalConsoleBlock != null) { - this.animate(globalConsoleBlock.liveliness, LOOP, Minecraft.getInstance().player.tickCount); - } - } - } + if (globalConsoleBlock != null && globalConsoleBlock.getBlockState().getValue(GlobalConsoleBlock.POWERED)) { + if (reactions.isFlying()) { + this.animate(reactions.ROTOR_ANIMATION, FLIGHT, Minecraft.getInstance().player.tickCount); + } else { + if (TRConfig.CLIENT.PLAY_CONSOLE_IDLE_ANIMATIONS.get() && globalConsoleBlock != null) { + this.animate(globalConsoleBlock.liveliness, LOOP, Minecraft.getInstance().player.tickCount); + } + } + } - float rot = 1f - ( 2 * ((float)reactions.getThrottleStage() / TardisPilotingManager.MAX_THROTTLE_STAGE)); - this.throttle.xRot = rot; + float rot = 1f - (2 * ((float) reactions.getThrottleStage() / TardisPilotingManager.MAX_THROTTLE_STAGE)); + this.throttle.xRot = rot; - this.handbrake.yRot = reactions.isHandbrakeEngaged() ? 2f : -1f; + this.handbrake.yRot = reactions.isHandbrakeEngaged() ? 2f : -1f; - this.root().render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - } + this.root().render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + } - @Override - public ResourceLocation getDefaultTexture() { - return TOYOTA_TEXTURE; - } + @Override + public ResourceLocation getDefaultTexture() { + return TOYOTA_TEXTURE; + } - @Override - public ResourceLocation getConsoleTheme() { - return ConsoleTheme.TOYOTA.getId(); - } + @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 886102602..50e76540b 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 @@ -12,8 +12,6 @@ import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.model.geom.PartPose; import net.minecraft.client.model.geom.builders.*; -import net.minecraft.client.renderer.MultiBufferSource; -import net.minecraft.client.renderer.RenderType; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.entity.Entity; import net.minecraft.world.level.Level; @@ -28,2300 +26,2299 @@ public class VictorianConsoleModel extends HierarchicalModel implements ConsoleUnit { + 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(); + + 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"); + } - 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(); - - 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"); - } + public static LayerDefinition createBodyLayer() { + MeshDefinition meshdefinition = new MeshDefinition(); + PartDefinition partdefinition = meshdefinition.getRoot(); - 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 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 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 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 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 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 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 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 = 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 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 = 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 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 = 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 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 = 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 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 = 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 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 = 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 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 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 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 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 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 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 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 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 = 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 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 = 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 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 = 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 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 = 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 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 = 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 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 = 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 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 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 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 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 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 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 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 = 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 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 = 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 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 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 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_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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 = 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 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 = 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 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 = 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 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 = 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 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 = 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 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 = 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 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 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 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 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 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 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 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 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 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 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 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 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 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 = 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 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 = 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 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 = 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 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 = 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 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 = 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 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 = 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 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 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 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 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 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 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 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 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 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 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 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 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 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 = 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 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 = 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 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 = 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 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 = 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 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 = 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 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 = 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 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 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 = 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_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 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 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 = 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_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 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 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 = 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_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 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 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 = 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_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 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 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 = 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_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 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 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 = 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_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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 = 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 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 = 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 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 = 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 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 = 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 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 = 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 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 = 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 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 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 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 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 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 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 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 = 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 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 = 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 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 = 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 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 = 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 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 = 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 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 = 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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)); - 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); + } - 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); + } - @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); - } + @Override + public ModelPart root() { + return root; + } - @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 setupAnim(Entity entity, float f, float g, float h, float i, float j) { + } - } + @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()); - @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 && globalConsoleBlock.getBlockState().getValue(GlobalConsoleBlock.POWERED)) { + if (reactions.isFlying()) { + this.animate(reactions.ROTOR_ANIMATION, FLIGHT, Minecraft.getInstance().player.tickCount); + } else { + if (TRConfig.CLIENT.PLAY_CONSOLE_IDLE_ANIMATIONS.get() && globalConsoleBlock != null) { + this.animate(globalConsoleBlock.liveliness, IDLE, Minecraft.getInstance().player.tickCount); + } + } + } - if (globalConsoleBlock != null && globalConsoleBlock.getBlockState().getValue(GlobalConsoleBlock.POWERED)) { - if (reactions.isFlying()) { - this.animate(reactions.ROTOR_ANIMATION, FLIGHT, Minecraft.getInstance().player.tickCount); - } else { - if (TRConfig.CLIENT.PLAY_CONSOLE_IDLE_ANIMATIONS.get() && globalConsoleBlock != null) { - this.animate(globalConsoleBlock.liveliness, IDLE, Minecraft.getInstance().player.tickCount); - } - } - } + float rot = -1f + (2 * ((float) reactions.getThrottleStage() / TardisPilotingManager.MAX_THROTTLE_STAGE)); + throttle_control.xRot = rot; - 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); + } - this.root.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - } + @Override + public ResourceLocation getDefaultTexture() { + return VICTORIAN_TEXTURE; + } - @Override - public ResourceLocation getDefaultTexture() { - return VICTORIAN_TEXTURE; - } - - @Override - public ResourceLocation getConsoleTheme() { - return ConsoleTheme.VICTORIAN.getId(); - } + @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 index bdee36126..2cd940f81 100644 --- 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 @@ -8,558 +8,559 @@ /** * Made with Blockbench 4.9.4 * Exported for Minecraft version 1.19 or later with Mojang mappings + * * @author Author */ public class RefurbishedConsoleModelAnimation { - public static final AnimationDefinition FLIGHT = AnimationDefinition.Builder.withLength(6.0F).looping() - .addAnimation("bone345", new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0.0F, KeyframeAnimations.degreeVec(17.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM) - )) - .addAnimation("Rotor", new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0.0F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.04F, KeyframeAnimations.posVec(0.0F, 0.2978F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.08F, KeyframeAnimations.posVec(0.0F, 0.6435F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.16F, KeyframeAnimations.posVec(0.0F, 1.3561F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.2F, KeyframeAnimations.posVec(0.0F, 1.6914F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.24F, KeyframeAnimations.posVec(0.0F, 2.005F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.28F, KeyframeAnimations.posVec(0.0F, 2.2961F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.32F, KeyframeAnimations.posVec(0.0F, 2.5654F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.36F, KeyframeAnimations.posVec(0.0F, 2.8142F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.4F, KeyframeAnimations.posVec(0.0F, 3.044F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.44F, KeyframeAnimations.posVec(0.0F, 3.2563F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.48F, KeyframeAnimations.posVec(0.0F, 3.4527F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.52F, KeyframeAnimations.posVec(0.0F, 3.6344F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.56F, KeyframeAnimations.posVec(0.0F, 3.8026F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.6F, KeyframeAnimations.posVec(0.0F, 3.9583F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.64F, KeyframeAnimations.posVec(0.0F, 4.1027F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.8F, KeyframeAnimations.posVec(0.0F, 4.5809F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.0F, KeyframeAnimations.posVec(0.0F, 5.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.04F, KeyframeAnimations.posVec(0.0F, 5.0548F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.08F, KeyframeAnimations.posVec(0.0F, 5.0816F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.12F, KeyframeAnimations.posVec(0.0F, 5.0758F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.16F, KeyframeAnimations.posVec(0.0F, 5.0307F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.2F, KeyframeAnimations.posVec(0.0F, 4.9374F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.24F, KeyframeAnimations.posVec(0.0F, 4.7848F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.28F, KeyframeAnimations.posVec(0.0F, 4.5563F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.32F, KeyframeAnimations.posVec(0.0F, 4.228F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.36F, KeyframeAnimations.posVec(0.0F, 3.7641F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.4F, KeyframeAnimations.posVec(0.0F, 3.1125F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.44F, KeyframeAnimations.posVec(0.0F, 2.2049F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.48F, KeyframeAnimations.posVec(0.0F, 1.0098F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.52F, KeyframeAnimations.posVec(0.0F, -0.3243F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.56F, KeyframeAnimations.posVec(0.0F, -1.5127F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.6F, KeyframeAnimations.posVec(0.0F, -2.4365F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.64F, KeyframeAnimations.posVec(0.0F, -3.1296F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.68F, KeyframeAnimations.posVec(0.0F, -3.6509F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.72F, KeyframeAnimations.posVec(0.0F, -4.0454F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.76F, KeyframeAnimations.posVec(0.0F, -4.345F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.8F, KeyframeAnimations.posVec(0.0F, -4.5706F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.84F, KeyframeAnimations.posVec(0.0F, -4.7375F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.88F, KeyframeAnimations.posVec(0.0F, -4.8567F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.92F, KeyframeAnimations.posVec(0.0F, -4.9363F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.96F, KeyframeAnimations.posVec(0.0F, -4.9825F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.0F, KeyframeAnimations.posVec(0.0F, -5.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.04F, KeyframeAnimations.posVec(0.0F, -4.9992F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.08F, KeyframeAnimations.posVec(0.0F, -4.9877F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.12F, KeyframeAnimations.posVec(0.0F, -4.9648F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.16F, KeyframeAnimations.posVec(0.0F, -4.9299F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.2F, KeyframeAnimations.posVec(0.0F, -4.8826F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.24F, KeyframeAnimations.posVec(0.0F, -4.8222F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.28F, KeyframeAnimations.posVec(0.0F, -4.7479F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.32F, KeyframeAnimations.posVec(0.0F, -4.6588F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.36F, KeyframeAnimations.posVec(0.0F, -4.5543F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.4F, KeyframeAnimations.posVec(0.0F, -4.4331F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.44F, KeyframeAnimations.posVec(0.0F, -4.2944F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.48F, KeyframeAnimations.posVec(0.0F, -4.1369F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.52F, KeyframeAnimations.posVec(0.0F, -3.9593F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.56F, KeyframeAnimations.posVec(0.0F, -3.7602F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.6F, KeyframeAnimations.posVec(0.0F, -3.5381F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.64F, KeyframeAnimations.posVec(0.0F, -3.291F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.68F, KeyframeAnimations.posVec(0.0F, -3.0172F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.72F, KeyframeAnimations.posVec(0.0F, -2.7146F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.76F, KeyframeAnimations.posVec(0.0F, -2.3815F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.8F, KeyframeAnimations.posVec(0.0F, -2.0161F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.84F, KeyframeAnimations.posVec(0.0F, -1.6182F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.88F, KeyframeAnimations.posVec(0.0F, -1.1906F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.92F, KeyframeAnimations.posVec(0.0F, -0.7445F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.96F, KeyframeAnimations.posVec(0.0F, -0.3137F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.0F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.04F, KeyframeAnimations.posVec(0.0F, 0.2674F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.08F, KeyframeAnimations.posVec(0.0F, 0.6104F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.12F, KeyframeAnimations.posVec(0.0F, 0.9647F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.16F, KeyframeAnimations.posVec(0.0F, 1.3088F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.2F, KeyframeAnimations.posVec(0.0F, 1.6351F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.24F, KeyframeAnimations.posVec(0.0F, 1.9417F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.28F, KeyframeAnimations.posVec(0.0F, 2.2283F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.32F, KeyframeAnimations.posVec(0.0F, 2.4957F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.36F, KeyframeAnimations.posVec(0.0F, 2.745F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.4F, KeyframeAnimations.posVec(0.0F, 2.9772F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.44F, KeyframeAnimations.posVec(0.0F, 3.1935F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.48F, KeyframeAnimations.posVec(0.0F, 3.3949F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.52F, KeyframeAnimations.posVec(0.0F, 3.5824F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.56F, KeyframeAnimations.posVec(0.0F, 3.7569F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.6F, KeyframeAnimations.posVec(0.0F, 3.9191F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.64F, KeyframeAnimations.posVec(0.0F, 4.0698F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.68F, KeyframeAnimations.posVec(0.0F, 4.2096F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.84F, KeyframeAnimations.posVec(0.0F, 4.6716F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.0F, KeyframeAnimations.posVec(0.0F, 5.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.04F, KeyframeAnimations.posVec(0.0F, 5.0548F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.08F, KeyframeAnimations.posVec(0.0F, 5.0816F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.12F, KeyframeAnimations.posVec(0.0F, 5.0758F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.16F, KeyframeAnimations.posVec(0.0F, 5.0307F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.2F, KeyframeAnimations.posVec(0.0F, 4.9374F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.24F, KeyframeAnimations.posVec(0.0F, 4.7848F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.28F, KeyframeAnimations.posVec(0.0F, 4.5563F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.32F, KeyframeAnimations.posVec(0.0F, 4.228F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.36F, KeyframeAnimations.posVec(0.0F, 3.7641F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.4F, KeyframeAnimations.posVec(0.0F, 3.1125F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.44F, KeyframeAnimations.posVec(0.0F, 2.2049F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.48F, KeyframeAnimations.posVec(0.0F, 1.0098F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.52F, KeyframeAnimations.posVec(0.0F, -0.3243F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.56F, KeyframeAnimations.posVec(0.0F, -1.5127F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.6F, KeyframeAnimations.posVec(0.0F, -2.4365F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.64F, KeyframeAnimations.posVec(0.0F, -3.1296F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.68F, KeyframeAnimations.posVec(0.0F, -3.6509F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.72F, KeyframeAnimations.posVec(0.0F, -4.0454F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.76F, KeyframeAnimations.posVec(0.0F, -4.345F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.8F, KeyframeAnimations.posVec(0.0F, -4.5706F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.84F, KeyframeAnimations.posVec(0.0F, -4.7375F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.88F, KeyframeAnimations.posVec(0.0F, -4.8567F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.92F, KeyframeAnimations.posVec(0.0F, -4.9363F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.96F, KeyframeAnimations.posVec(0.0F, -4.9825F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.0F, KeyframeAnimations.posVec(0.0F, -5.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.08F, KeyframeAnimations.posVec(0.0F, -4.9894F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.12F, KeyframeAnimations.posVec(0.0F, -4.9687F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.16F, KeyframeAnimations.posVec(0.0F, -4.937F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.2F, KeyframeAnimations.posVec(0.0F, -4.8939F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.24F, KeyframeAnimations.posVec(0.0F, -4.8386F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.28F, KeyframeAnimations.posVec(0.0F, -4.7705F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.32F, KeyframeAnimations.posVec(0.0F, -4.6888F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.36F, KeyframeAnimations.posVec(0.0F, -4.5927F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.4F, KeyframeAnimations.posVec(0.0F, -4.4812F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.44F, KeyframeAnimations.posVec(0.0F, -4.3533F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.48F, KeyframeAnimations.posVec(0.0F, -4.208F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.52F, KeyframeAnimations.posVec(0.0F, -4.0438F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.56F, KeyframeAnimations.posVec(0.0F, -3.8593F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.6F, KeyframeAnimations.posVec(0.0F, -3.6528F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.64F, KeyframeAnimations.posVec(0.0F, -3.4224F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.68F, KeyframeAnimations.posVec(0.0F, -3.166F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.72F, KeyframeAnimations.posVec(0.0F, -2.8811F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.76F, KeyframeAnimations.posVec(0.0F, -2.5649F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.8F, KeyframeAnimations.posVec(0.0F, -2.2145F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.84F, KeyframeAnimations.posVec(0.0F, -1.8268F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.88F, KeyframeAnimations.posVec(0.0F, -1.3997F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.92F, KeyframeAnimations.posVec(0.0F, -0.9347F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.96F, KeyframeAnimations.posVec(0.0F, -0.4461F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(6.0F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR) - )) - .addAnimation("bone125", new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0.0F, KeyframeAnimations.degreeVec(17.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM) - )) - .addAnimation("bone132", new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0.0F, KeyframeAnimations.degreeVec(17.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM) - )) - .addAnimation("bone140", new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0.0F, KeyframeAnimations.degreeVec(17.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM) - )) - .addAnimation("bone142", new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0.0F, KeyframeAnimations.degreeVec(17.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM) - )) - .addAnimation("bone144", new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0.0F, KeyframeAnimations.degreeVec(17.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM) - )) - .addAnimation("bone135", new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0.0F, KeyframeAnimations.degreeVec(17.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM) - )) - .addAnimation("bone137", new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0.0F, KeyframeAnimations.degreeVec(17.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM) - )) - .addAnimation("bone139", new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0.0F, KeyframeAnimations.degreeVec(17.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM) - )) - .addAnimation("bone146", new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0.0F, KeyframeAnimations.degreeVec(17.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM) - )) - .addAnimation("bone148", new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0.0F, KeyframeAnimations.degreeVec(17.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM) - )) - .addAnimation("bone150", new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0.0F, KeyframeAnimations.degreeVec(17.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM) - )) - .addAnimation("bone352", new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0.0F, KeyframeAnimations.posVec(0.0F, -2.25F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(0.76F, KeyframeAnimations.posVec(0.0F, 11.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.48F, KeyframeAnimations.posVec(0.0F, -1.25F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.96F, KeyframeAnimations.posVec(0.0F, -1.25F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.72F, KeyframeAnimations.posVec(0.0F, 11.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.44F, KeyframeAnimations.posVec(0.0F, -1.25F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.92F, KeyframeAnimations.posVec(0.0F, -1.25F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.76F, KeyframeAnimations.posVec(0.0F, 11.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.56F, KeyframeAnimations.posVec(0.0F, -2.25F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.76F, KeyframeAnimations.posVec(0.0F, -2.75F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(6.0F, KeyframeAnimations.posVec(0.0F, -2.25F, 0.0F), AnimationChannel.Interpolations.LINEAR) - )) - .addAnimation("bone352", new AnimationChannel(AnimationChannel.Targets.SCALE, - new Keyframe(0.0F, KeyframeAnimations.scaleVec(1.0F, 0.5F, 1.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.76F, KeyframeAnimations.scaleVec(1.0F, 1.0F, 1.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.48F, KeyframeAnimations.scaleVec(1.0F, 0.5F, 1.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.96F, KeyframeAnimations.scaleVec(1.0F, 0.5F, 1.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.72F, KeyframeAnimations.scaleVec(1.0F, 1.0F, 1.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.44F, KeyframeAnimations.scaleVec(1.0F, 0.5F, 1.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.0F, KeyframeAnimations.scaleVec(1.0F, 0.5F, 1.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.76F, KeyframeAnimations.scaleVec(1.0F, 1.0F, 1.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.48F, KeyframeAnimations.scaleVec(1.0F, 0.5F, 1.0F), AnimationChannel.Interpolations.LINEAR) - )) - .addAnimation("bone358", new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0.0F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.0F, KeyframeAnimations.posVec(4.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.0F, KeyframeAnimations.posVec(4.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.24F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.241F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.24F, KeyframeAnimations.posVec(4.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(6.0F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.001F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM) - )) - .addAnimation("bone359", new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0.0F, KeyframeAnimations.posVec(2.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.0F, KeyframeAnimations.posVec(0.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.0F, KeyframeAnimations.posVec(0.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.001F, KeyframeAnimations.posVec(0.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.76F, KeyframeAnimations.posVec(4.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.76F, KeyframeAnimations.posVec(4.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.56F, KeyframeAnimations.posVec(2.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.561F, KeyframeAnimations.posVec(2.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.0F, KeyframeAnimations.posVec(2.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM) - )) - .addAnimation("bone287", new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(2.88F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR) - )) - .addAnimation("bone360", new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0.0F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.1F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.28F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.1F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.32F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.08F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.12F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.1F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.12F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.1F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.16F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.92F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.96F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.1F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.2F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.1F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.24F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.0F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.04F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.1F), AnimationChannel.Interpolations.LINEAR) - )) - .addAnimation("bone361", new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0.0F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.1F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.44F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.1F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.48F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.24F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.28F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.1F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.28F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.1F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.32F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.08F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.12F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.1F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.36F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.1F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.4F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.16F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.2F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.1F), AnimationChannel.Interpolations.LINEAR) - )) - .addAnimation("bone362", new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0.0F, KeyframeAnimations.posVec(0.0F, -0.1F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.56F, KeyframeAnimations.posVec(0.0F, -0.1F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.6F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.4F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.44F, KeyframeAnimations.posVec(0.0F, -0.1F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.4F, KeyframeAnimations.posVec(0.0F, -0.1F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.44F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.24F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.28F, KeyframeAnimations.posVec(0.0F, -0.1F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.48F, KeyframeAnimations.posVec(0.0F, -0.1F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.52F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.32F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.36F, KeyframeAnimations.posVec(0.0F, -0.1F, 0.0F), AnimationChannel.Interpolations.LINEAR) - )) - .addAnimation("bone363", new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0.0F, KeyframeAnimations.posVec(0.0F, -0.1F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.72F, KeyframeAnimations.posVec(0.0F, -0.1F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.76F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.56F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.6F, KeyframeAnimations.posVec(0.0F, -0.1F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.56F, KeyframeAnimations.posVec(0.0F, -0.1F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.6F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.4F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.44F, KeyframeAnimations.posVec(0.0F, -0.1F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.64F, KeyframeAnimations.posVec(0.0F, -0.1F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.68F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.48F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.52F, KeyframeAnimations.posVec(0.0F, -0.1F, 0.0F), AnimationChannel.Interpolations.LINEAR) - )) - .addAnimation("bone364", new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0.0F, KeyframeAnimations.posVec(0.0F, -0.1F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.88F, KeyframeAnimations.posVec(0.0F, -0.1F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.92F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.68F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.72F, KeyframeAnimations.posVec(0.0F, -0.1F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.72F, KeyframeAnimations.posVec(0.0F, -0.1F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.76F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.52F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.56F, KeyframeAnimations.posVec(0.0F, -0.1F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.8F, KeyframeAnimations.posVec(0.0F, -0.1F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.84F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.6F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.64F, KeyframeAnimations.posVec(0.0F, -0.1F, 0.0F), AnimationChannel.Interpolations.LINEAR) - )) - .build(); + public static final AnimationDefinition FLIGHT = AnimationDefinition.Builder.withLength(6.0F).looping() + .addAnimation("bone345", new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0.0F, KeyframeAnimations.degreeVec(17.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM) + )) + .addAnimation("Rotor", new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0.0F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.04F, KeyframeAnimations.posVec(0.0F, 0.2978F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.08F, KeyframeAnimations.posVec(0.0F, 0.6435F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.16F, KeyframeAnimations.posVec(0.0F, 1.3561F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.2F, KeyframeAnimations.posVec(0.0F, 1.6914F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.24F, KeyframeAnimations.posVec(0.0F, 2.005F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.28F, KeyframeAnimations.posVec(0.0F, 2.2961F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.32F, KeyframeAnimations.posVec(0.0F, 2.5654F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.36F, KeyframeAnimations.posVec(0.0F, 2.8142F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.4F, KeyframeAnimations.posVec(0.0F, 3.044F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.44F, KeyframeAnimations.posVec(0.0F, 3.2563F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.48F, KeyframeAnimations.posVec(0.0F, 3.4527F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.52F, KeyframeAnimations.posVec(0.0F, 3.6344F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.56F, KeyframeAnimations.posVec(0.0F, 3.8026F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.6F, KeyframeAnimations.posVec(0.0F, 3.9583F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.64F, KeyframeAnimations.posVec(0.0F, 4.1027F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.8F, KeyframeAnimations.posVec(0.0F, 4.5809F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.0F, KeyframeAnimations.posVec(0.0F, 5.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.04F, KeyframeAnimations.posVec(0.0F, 5.0548F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.08F, KeyframeAnimations.posVec(0.0F, 5.0816F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.12F, KeyframeAnimations.posVec(0.0F, 5.0758F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.16F, KeyframeAnimations.posVec(0.0F, 5.0307F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.2F, KeyframeAnimations.posVec(0.0F, 4.9374F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.24F, KeyframeAnimations.posVec(0.0F, 4.7848F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.28F, KeyframeAnimations.posVec(0.0F, 4.5563F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.32F, KeyframeAnimations.posVec(0.0F, 4.228F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.36F, KeyframeAnimations.posVec(0.0F, 3.7641F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.4F, KeyframeAnimations.posVec(0.0F, 3.1125F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.44F, KeyframeAnimations.posVec(0.0F, 2.2049F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.48F, KeyframeAnimations.posVec(0.0F, 1.0098F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.52F, KeyframeAnimations.posVec(0.0F, -0.3243F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.56F, KeyframeAnimations.posVec(0.0F, -1.5127F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.6F, KeyframeAnimations.posVec(0.0F, -2.4365F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.64F, KeyframeAnimations.posVec(0.0F, -3.1296F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.68F, KeyframeAnimations.posVec(0.0F, -3.6509F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.72F, KeyframeAnimations.posVec(0.0F, -4.0454F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.76F, KeyframeAnimations.posVec(0.0F, -4.345F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.8F, KeyframeAnimations.posVec(0.0F, -4.5706F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.84F, KeyframeAnimations.posVec(0.0F, -4.7375F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.88F, KeyframeAnimations.posVec(0.0F, -4.8567F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.92F, KeyframeAnimations.posVec(0.0F, -4.9363F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.96F, KeyframeAnimations.posVec(0.0F, -4.9825F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.0F, KeyframeAnimations.posVec(0.0F, -5.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.04F, KeyframeAnimations.posVec(0.0F, -4.9992F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.08F, KeyframeAnimations.posVec(0.0F, -4.9877F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.12F, KeyframeAnimations.posVec(0.0F, -4.9648F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.16F, KeyframeAnimations.posVec(0.0F, -4.9299F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.2F, KeyframeAnimations.posVec(0.0F, -4.8826F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.24F, KeyframeAnimations.posVec(0.0F, -4.8222F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.28F, KeyframeAnimations.posVec(0.0F, -4.7479F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.32F, KeyframeAnimations.posVec(0.0F, -4.6588F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.36F, KeyframeAnimations.posVec(0.0F, -4.5543F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.4F, KeyframeAnimations.posVec(0.0F, -4.4331F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.44F, KeyframeAnimations.posVec(0.0F, -4.2944F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.48F, KeyframeAnimations.posVec(0.0F, -4.1369F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.52F, KeyframeAnimations.posVec(0.0F, -3.9593F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.56F, KeyframeAnimations.posVec(0.0F, -3.7602F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.6F, KeyframeAnimations.posVec(0.0F, -3.5381F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.64F, KeyframeAnimations.posVec(0.0F, -3.291F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.68F, KeyframeAnimations.posVec(0.0F, -3.0172F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.72F, KeyframeAnimations.posVec(0.0F, -2.7146F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.76F, KeyframeAnimations.posVec(0.0F, -2.3815F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.8F, KeyframeAnimations.posVec(0.0F, -2.0161F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.84F, KeyframeAnimations.posVec(0.0F, -1.6182F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.88F, KeyframeAnimations.posVec(0.0F, -1.1906F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.92F, KeyframeAnimations.posVec(0.0F, -0.7445F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.96F, KeyframeAnimations.posVec(0.0F, -0.3137F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.0F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.04F, KeyframeAnimations.posVec(0.0F, 0.2674F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.08F, KeyframeAnimations.posVec(0.0F, 0.6104F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.12F, KeyframeAnimations.posVec(0.0F, 0.9647F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.16F, KeyframeAnimations.posVec(0.0F, 1.3088F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.2F, KeyframeAnimations.posVec(0.0F, 1.6351F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.24F, KeyframeAnimations.posVec(0.0F, 1.9417F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.28F, KeyframeAnimations.posVec(0.0F, 2.2283F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.32F, KeyframeAnimations.posVec(0.0F, 2.4957F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.36F, KeyframeAnimations.posVec(0.0F, 2.745F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.4F, KeyframeAnimations.posVec(0.0F, 2.9772F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.44F, KeyframeAnimations.posVec(0.0F, 3.1935F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.48F, KeyframeAnimations.posVec(0.0F, 3.3949F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.52F, KeyframeAnimations.posVec(0.0F, 3.5824F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.56F, KeyframeAnimations.posVec(0.0F, 3.7569F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.6F, KeyframeAnimations.posVec(0.0F, 3.9191F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.64F, KeyframeAnimations.posVec(0.0F, 4.0698F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.68F, KeyframeAnimations.posVec(0.0F, 4.2096F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.84F, KeyframeAnimations.posVec(0.0F, 4.6716F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.0F, KeyframeAnimations.posVec(0.0F, 5.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.04F, KeyframeAnimations.posVec(0.0F, 5.0548F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.08F, KeyframeAnimations.posVec(0.0F, 5.0816F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.12F, KeyframeAnimations.posVec(0.0F, 5.0758F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.16F, KeyframeAnimations.posVec(0.0F, 5.0307F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.2F, KeyframeAnimations.posVec(0.0F, 4.9374F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.24F, KeyframeAnimations.posVec(0.0F, 4.7848F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.28F, KeyframeAnimations.posVec(0.0F, 4.5563F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.32F, KeyframeAnimations.posVec(0.0F, 4.228F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.36F, KeyframeAnimations.posVec(0.0F, 3.7641F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.4F, KeyframeAnimations.posVec(0.0F, 3.1125F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.44F, KeyframeAnimations.posVec(0.0F, 2.2049F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.48F, KeyframeAnimations.posVec(0.0F, 1.0098F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.52F, KeyframeAnimations.posVec(0.0F, -0.3243F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.56F, KeyframeAnimations.posVec(0.0F, -1.5127F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.6F, KeyframeAnimations.posVec(0.0F, -2.4365F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.64F, KeyframeAnimations.posVec(0.0F, -3.1296F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.68F, KeyframeAnimations.posVec(0.0F, -3.6509F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.72F, KeyframeAnimations.posVec(0.0F, -4.0454F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.76F, KeyframeAnimations.posVec(0.0F, -4.345F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.8F, KeyframeAnimations.posVec(0.0F, -4.5706F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.84F, KeyframeAnimations.posVec(0.0F, -4.7375F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.88F, KeyframeAnimations.posVec(0.0F, -4.8567F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.92F, KeyframeAnimations.posVec(0.0F, -4.9363F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.96F, KeyframeAnimations.posVec(0.0F, -4.9825F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.0F, KeyframeAnimations.posVec(0.0F, -5.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.08F, KeyframeAnimations.posVec(0.0F, -4.9894F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.12F, KeyframeAnimations.posVec(0.0F, -4.9687F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.16F, KeyframeAnimations.posVec(0.0F, -4.937F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.2F, KeyframeAnimations.posVec(0.0F, -4.8939F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.24F, KeyframeAnimations.posVec(0.0F, -4.8386F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.28F, KeyframeAnimations.posVec(0.0F, -4.7705F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.32F, KeyframeAnimations.posVec(0.0F, -4.6888F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.36F, KeyframeAnimations.posVec(0.0F, -4.5927F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.4F, KeyframeAnimations.posVec(0.0F, -4.4812F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.44F, KeyframeAnimations.posVec(0.0F, -4.3533F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.48F, KeyframeAnimations.posVec(0.0F, -4.208F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.52F, KeyframeAnimations.posVec(0.0F, -4.0438F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.56F, KeyframeAnimations.posVec(0.0F, -3.8593F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.6F, KeyframeAnimations.posVec(0.0F, -3.6528F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.64F, KeyframeAnimations.posVec(0.0F, -3.4224F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.68F, KeyframeAnimations.posVec(0.0F, -3.166F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.72F, KeyframeAnimations.posVec(0.0F, -2.8811F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.76F, KeyframeAnimations.posVec(0.0F, -2.5649F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.8F, KeyframeAnimations.posVec(0.0F, -2.2145F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.84F, KeyframeAnimations.posVec(0.0F, -1.8268F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.88F, KeyframeAnimations.posVec(0.0F, -1.3997F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.92F, KeyframeAnimations.posVec(0.0F, -0.9347F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.96F, KeyframeAnimations.posVec(0.0F, -0.4461F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(6.0F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR) + )) + .addAnimation("bone125", new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0.0F, KeyframeAnimations.degreeVec(17.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM) + )) + .addAnimation("bone132", new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0.0F, KeyframeAnimations.degreeVec(17.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM) + )) + .addAnimation("bone140", new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0.0F, KeyframeAnimations.degreeVec(17.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM) + )) + .addAnimation("bone142", new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0.0F, KeyframeAnimations.degreeVec(17.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM) + )) + .addAnimation("bone144", new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0.0F, KeyframeAnimations.degreeVec(17.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM) + )) + .addAnimation("bone135", new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0.0F, KeyframeAnimations.degreeVec(17.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM) + )) + .addAnimation("bone137", new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0.0F, KeyframeAnimations.degreeVec(17.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM) + )) + .addAnimation("bone139", new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0.0F, KeyframeAnimations.degreeVec(17.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM) + )) + .addAnimation("bone146", new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0.0F, KeyframeAnimations.degreeVec(17.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM) + )) + .addAnimation("bone148", new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0.0F, KeyframeAnimations.degreeVec(17.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM) + )) + .addAnimation("bone150", new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0.0F, KeyframeAnimations.degreeVec(17.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM) + )) + .addAnimation("bone352", new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0.0F, KeyframeAnimations.posVec(0.0F, -2.25F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(0.76F, KeyframeAnimations.posVec(0.0F, 11.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.48F, KeyframeAnimations.posVec(0.0F, -1.25F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.96F, KeyframeAnimations.posVec(0.0F, -1.25F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.72F, KeyframeAnimations.posVec(0.0F, 11.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.44F, KeyframeAnimations.posVec(0.0F, -1.25F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.92F, KeyframeAnimations.posVec(0.0F, -1.25F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.76F, KeyframeAnimations.posVec(0.0F, 11.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.56F, KeyframeAnimations.posVec(0.0F, -2.25F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.76F, KeyframeAnimations.posVec(0.0F, -2.75F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(6.0F, KeyframeAnimations.posVec(0.0F, -2.25F, 0.0F), AnimationChannel.Interpolations.LINEAR) + )) + .addAnimation("bone352", new AnimationChannel(AnimationChannel.Targets.SCALE, + new Keyframe(0.0F, KeyframeAnimations.scaleVec(1.0F, 0.5F, 1.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.76F, KeyframeAnimations.scaleVec(1.0F, 1.0F, 1.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.48F, KeyframeAnimations.scaleVec(1.0F, 0.5F, 1.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.96F, KeyframeAnimations.scaleVec(1.0F, 0.5F, 1.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.72F, KeyframeAnimations.scaleVec(1.0F, 1.0F, 1.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.44F, KeyframeAnimations.scaleVec(1.0F, 0.5F, 1.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.0F, KeyframeAnimations.scaleVec(1.0F, 0.5F, 1.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.76F, KeyframeAnimations.scaleVec(1.0F, 1.0F, 1.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.48F, KeyframeAnimations.scaleVec(1.0F, 0.5F, 1.0F), AnimationChannel.Interpolations.LINEAR) + )) + .addAnimation("bone358", new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0.0F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.0F, KeyframeAnimations.posVec(4.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.0F, KeyframeAnimations.posVec(4.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.24F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.241F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.24F, KeyframeAnimations.posVec(4.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(6.0F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.001F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM) + )) + .addAnimation("bone359", new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0.0F, KeyframeAnimations.posVec(2.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.0F, KeyframeAnimations.posVec(0.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.0F, KeyframeAnimations.posVec(0.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.001F, KeyframeAnimations.posVec(0.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.76F, KeyframeAnimations.posVec(4.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.76F, KeyframeAnimations.posVec(4.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.56F, KeyframeAnimations.posVec(2.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.561F, KeyframeAnimations.posVec(2.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.0F, KeyframeAnimations.posVec(2.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM) + )) + .addAnimation("bone287", new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(2.88F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR) + )) + .addAnimation("bone360", new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0.0F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.1F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.28F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.1F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.32F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.08F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.12F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.1F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.12F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.1F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.16F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.92F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.96F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.1F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.2F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.1F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.24F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.0F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.04F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.1F), AnimationChannel.Interpolations.LINEAR) + )) + .addAnimation("bone361", new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0.0F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.1F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.44F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.1F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.48F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.24F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.28F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.1F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.28F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.1F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.32F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.08F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.12F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.1F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.36F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.1F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.4F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.16F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.2F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.1F), AnimationChannel.Interpolations.LINEAR) + )) + .addAnimation("bone362", new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0.0F, KeyframeAnimations.posVec(0.0F, -0.1F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.56F, KeyframeAnimations.posVec(0.0F, -0.1F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.6F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.4F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.44F, KeyframeAnimations.posVec(0.0F, -0.1F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.4F, KeyframeAnimations.posVec(0.0F, -0.1F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.44F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.24F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.28F, KeyframeAnimations.posVec(0.0F, -0.1F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.48F, KeyframeAnimations.posVec(0.0F, -0.1F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.52F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.32F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.36F, KeyframeAnimations.posVec(0.0F, -0.1F, 0.0F), AnimationChannel.Interpolations.LINEAR) + )) + .addAnimation("bone363", new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0.0F, KeyframeAnimations.posVec(0.0F, -0.1F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.72F, KeyframeAnimations.posVec(0.0F, -0.1F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.76F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.56F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.6F, KeyframeAnimations.posVec(0.0F, -0.1F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.56F, KeyframeAnimations.posVec(0.0F, -0.1F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.6F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.4F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.44F, KeyframeAnimations.posVec(0.0F, -0.1F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.64F, KeyframeAnimations.posVec(0.0F, -0.1F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.68F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.48F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.52F, KeyframeAnimations.posVec(0.0F, -0.1F, 0.0F), AnimationChannel.Interpolations.LINEAR) + )) + .addAnimation("bone364", new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0.0F, KeyframeAnimations.posVec(0.0F, -0.1F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.88F, KeyframeAnimations.posVec(0.0F, -0.1F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.92F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.68F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.72F, KeyframeAnimations.posVec(0.0F, -0.1F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.72F, KeyframeAnimations.posVec(0.0F, -0.1F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.76F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.52F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.56F, KeyframeAnimations.posVec(0.0F, -0.1F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.8F, KeyframeAnimations.posVec(0.0F, -0.1F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.84F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.6F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.64F, KeyframeAnimations.posVec(0.0F, -0.1F, 0.0F), AnimationChannel.Interpolations.LINEAR) + )) + .build(); - public static final AnimationDefinition IDLE = AnimationDefinition.Builder.withLength(6.0F).looping() - .addAnimation("bone151", new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0.0F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.0F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.32F, KeyframeAnimations.degreeVec(0.0F, -7.5F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.76F, KeyframeAnimations.degreeVec(0.0F, 12.5F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.64F, KeyframeAnimations.degreeVec(0.0F, 7.5F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.0F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM) - )) - .addAnimation("bone346", new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0.76F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.8F, KeyframeAnimations.degreeVec(0.0F, 1.1925F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.84F, KeyframeAnimations.degreeVec(0.0F, 3.1369F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.88F, KeyframeAnimations.degreeVec(0.0F, 5.3061F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.16F, KeyframeAnimations.degreeVec(0.0F, 21.4852F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.36F, KeyframeAnimations.degreeVec(0.0F, 32.2721F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.52F, KeyframeAnimations.degreeVec(0.0F, 39.8798F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.68F, KeyframeAnimations.degreeVec(0.0F, 46.2212F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.72F, KeyframeAnimations.degreeVec(0.0F, 47.5596F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.76F, KeyframeAnimations.degreeVec(0.0F, 48.7823F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.8F, KeyframeAnimations.degreeVec(0.0F, 49.8791F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.84F, KeyframeAnimations.degreeVec(0.0F, 50.8381F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.88F, KeyframeAnimations.degreeVec(0.0F, 51.646F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.92F, KeyframeAnimations.degreeVec(0.0F, 52.2869F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.96F, KeyframeAnimations.degreeVec(0.0F, 52.7425F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.0F, KeyframeAnimations.degreeVec(0.0F, 52.9881F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.04F, KeyframeAnimations.degreeVec(0.0F, 53.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.2F, KeyframeAnimations.degreeVec(0.0F, 53.0504F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.24F, KeyframeAnimations.degreeVec(0.0F, 53.279F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.28F, KeyframeAnimations.degreeVec(0.0F, 53.6213F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.32F, KeyframeAnimations.degreeVec(0.0F, 54.0835F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.52F, KeyframeAnimations.degreeVec(0.0F, 57.2967F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.72F, KeyframeAnimations.degreeVec(0.0F, 59.4329F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.24F, KeyframeAnimations.degreeVec(0.0F, 60.2778F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.36F, KeyframeAnimations.degreeVec(0.0F, 60.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.52F, KeyframeAnimations.degreeVec(0.0F, 59.0022F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.68F, KeyframeAnimations.degreeVec(0.0F, 56.77F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.8F, KeyframeAnimations.degreeVec(0.0F, 54.1548F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.84F, KeyframeAnimations.degreeVec(0.0F, 53.0834F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.88F, KeyframeAnimations.degreeVec(0.0F, 51.906F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.92F, KeyframeAnimations.degreeVec(0.0F, 50.6168F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.96F, KeyframeAnimations.degreeVec(0.0F, 49.2136F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.0F, KeyframeAnimations.degreeVec(0.0F, 47.6926F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.04F, KeyframeAnimations.degreeVec(0.0F, 46.0501F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.08F, KeyframeAnimations.degreeVec(0.0F, 44.2829F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.12F, KeyframeAnimations.degreeVec(0.0F, 42.3912F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.16F, KeyframeAnimations.degreeVec(0.0F, 40.3719F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.2F, KeyframeAnimations.degreeVec(0.0F, 38.2279F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.24F, KeyframeAnimations.degreeVec(0.0F, 35.9621F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.28F, KeyframeAnimations.degreeVec(0.0F, 33.5808F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.52F, KeyframeAnimations.degreeVec(0.0F, 17.7354F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.6F, KeyframeAnimations.degreeVec(0.0F, 12.5428F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.64F, KeyframeAnimations.degreeVec(0.0F, 10.1405F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.68F, KeyframeAnimations.degreeVec(0.0F, 7.9226F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.72F, KeyframeAnimations.degreeVec(0.0F, 5.9274F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.76F, KeyframeAnimations.degreeVec(0.0F, 4.1847F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.8F, KeyframeAnimations.degreeVec(0.0F, 2.7165F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.84F, KeyframeAnimations.degreeVec(0.0F, 1.5379F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.88F, KeyframeAnimations.degreeVec(0.0F, 0.6554F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.92F, KeyframeAnimations.degreeVec(0.0F, 0.069F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.96F, KeyframeAnimations.degreeVec(0.0F, -0.2285F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.0F, KeyframeAnimations.degreeVec(0.0F, -0.2472F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.04F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR) - )) - .addAnimation("bone346", new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0.76F, KeyframeAnimations.posVec(0.0F, 0.5F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.28F, KeyframeAnimations.posVec(0.0F, 0.2127F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.8F, KeyframeAnimations.posVec(0.0F, -0.2667F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.12F, KeyframeAnimations.posVec(0.0F, -0.4679F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.28F, KeyframeAnimations.posVec(0.0F, -0.5F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.44F, KeyframeAnimations.posVec(0.0F, -0.4577F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.48F, KeyframeAnimations.posVec(0.0F, -0.4258F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.52F, KeyframeAnimations.posVec(0.0F, -0.3762F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.56F, KeyframeAnimations.posVec(0.0F, -0.2968F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.64F, KeyframeAnimations.posVec(0.0F, -0.0605F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.68F, KeyframeAnimations.posVec(0.0F, 0.007F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.72F, KeyframeAnimations.posVec(0.0F, 0.0424F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.76F, KeyframeAnimations.posVec(0.0F, 0.0598F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.04F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR) - )) - .addAnimation("bone348", new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0.8F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.84F, KeyframeAnimations.degreeVec(0.0F, 0.7691F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.36F, KeyframeAnimations.degreeVec(0.0F, 17.4003F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.88F, KeyframeAnimations.degreeVec(0.0F, 33.7542F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.24F, KeyframeAnimations.degreeVec(0.0F, 43.7688F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.48F, KeyframeAnimations.degreeVec(0.0F, 49.2736F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.64F, KeyframeAnimations.degreeVec(0.0F, 51.9646F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.68F, KeyframeAnimations.degreeVec(0.0F, 52.4351F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.72F, KeyframeAnimations.degreeVec(0.0F, 52.7886F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.76F, KeyframeAnimations.degreeVec(0.0F, 52.9932F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.8F, KeyframeAnimations.degreeVec(0.0F, 53.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.96F, KeyframeAnimations.degreeVec(0.0F, 53.0504F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.0F, KeyframeAnimations.degreeVec(0.0F, 53.279F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.04F, KeyframeAnimations.degreeVec(0.0F, 53.6213F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.08F, KeyframeAnimations.degreeVec(0.0F, 54.0835F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.28F, KeyframeAnimations.degreeVec(0.0F, 57.2967F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.48F, KeyframeAnimations.degreeVec(0.0F, 59.4329F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.0F, KeyframeAnimations.degreeVec(0.0F, 60.2778F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.12F, KeyframeAnimations.degreeVec(0.0F, 60.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.28F, KeyframeAnimations.degreeVec(0.0F, 59.0022F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.44F, KeyframeAnimations.degreeVec(0.0F, 56.77F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.56F, KeyframeAnimations.degreeVec(0.0F, 54.1548F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.6F, KeyframeAnimations.degreeVec(0.0F, 53.0834F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.64F, KeyframeAnimations.degreeVec(0.0F, 51.906F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.68F, KeyframeAnimations.degreeVec(0.0F, 50.6168F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.72F, KeyframeAnimations.degreeVec(0.0F, 49.2136F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.76F, KeyframeAnimations.degreeVec(0.0F, 47.6926F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.8F, KeyframeAnimations.degreeVec(0.0F, 46.0501F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.84F, KeyframeAnimations.degreeVec(0.0F, 44.2829F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.88F, KeyframeAnimations.degreeVec(0.0F, 42.3912F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.92F, KeyframeAnimations.degreeVec(0.0F, 40.3719F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.96F, KeyframeAnimations.degreeVec(0.0F, 38.2279F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.0F, KeyframeAnimations.degreeVec(0.0F, 35.9621F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.04F, KeyframeAnimations.degreeVec(0.0F, 33.5808F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.28F, KeyframeAnimations.degreeVec(0.0F, 17.7354F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.36F, KeyframeAnimations.degreeVec(0.0F, 12.5428F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.4F, KeyframeAnimations.degreeVec(0.0F, 10.1405F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.44F, KeyframeAnimations.degreeVec(0.0F, 7.9226F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.48F, KeyframeAnimations.degreeVec(0.0F, 5.9274F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.52F, KeyframeAnimations.degreeVec(0.0F, 4.1847F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.56F, KeyframeAnimations.degreeVec(0.0F, 2.7165F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.6F, KeyframeAnimations.degreeVec(0.0F, 1.5379F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.64F, KeyframeAnimations.degreeVec(0.0F, 0.6554F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.68F, KeyframeAnimations.degreeVec(0.0F, 0.069F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.72F, KeyframeAnimations.degreeVec(0.0F, -0.2285F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.76F, KeyframeAnimations.degreeVec(0.0F, -0.2472F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.8F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR) - )) - .addAnimation("bone348", new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0.0F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.24F, KeyframeAnimations.posVec(0.0F, -0.0726F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.4F, KeyframeAnimations.posVec(0.0F, -0.0296F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.44F, KeyframeAnimations.posVec(0.0F, 0.0069F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.48F, KeyframeAnimations.posVec(0.0F, 0.0606F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.52F, KeyframeAnimations.posVec(0.0F, 0.1343F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.6F, KeyframeAnimations.posVec(0.0F, 0.3063F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.64F, KeyframeAnimations.posVec(0.0F, 0.3744F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.68F, KeyframeAnimations.posVec(0.0F, 0.4245F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.72F, KeyframeAnimations.posVec(0.0F, 0.46F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.8F, KeyframeAnimations.posVec(0.0F, 0.5F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.32F, KeyframeAnimations.posVec(0.0F, 0.3411F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.84F, KeyframeAnimations.posVec(0.0F, 0.0517F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.36F, KeyframeAnimations.posVec(0.0F, -0.2431F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.88F, KeyframeAnimations.posVec(0.0F, -0.4744F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.04F, KeyframeAnimations.posVec(0.0F, -0.5F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.2F, KeyframeAnimations.posVec(0.0F, -0.4577F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.24F, KeyframeAnimations.posVec(0.0F, -0.4258F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.28F, KeyframeAnimations.posVec(0.0F, -0.3762F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.32F, KeyframeAnimations.posVec(0.0F, -0.2968F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.4F, KeyframeAnimations.posVec(0.0F, -0.0605F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.44F, KeyframeAnimations.posVec(0.0F, 0.007F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.48F, KeyframeAnimations.posVec(0.0F, 0.0424F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.52F, KeyframeAnimations.posVec(0.0F, 0.0598F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.8F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR) - )) - .addAnimation("bone349", new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0.0F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.16F, KeyframeAnimations.degreeVec(0.0F, -0.1757F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.36F, KeyframeAnimations.degreeVec(0.0F, -2.0988F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.72F, KeyframeAnimations.degreeVec(0.0F, -8.5463F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.24F, KeyframeAnimations.degreeVec(0.0F, -21.3374F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.76F, KeyframeAnimations.degreeVec(0.0F, -35.3062F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.24F, KeyframeAnimations.degreeVec(0.0F, -47.2309F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.56F, KeyframeAnimations.degreeVec(0.0F, -53.751F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.84F, KeyframeAnimations.degreeVec(0.0F, -57.9147F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.04F, KeyframeAnimations.degreeVec(0.0F, -59.6611F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.12F, KeyframeAnimations.degreeVec(0.0F, -60.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.28F, KeyframeAnimations.degreeVec(0.0F, -59.701F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.32F, KeyframeAnimations.degreeVec(0.0F, -59.3855F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.36F, KeyframeAnimations.degreeVec(0.0F, -58.97F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.4F, KeyframeAnimations.degreeVec(0.0F, -58.4534F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.44F, KeyframeAnimations.degreeVec(0.0F, -57.8346F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.48F, KeyframeAnimations.degreeVec(0.0F, -57.1126F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.52F, KeyframeAnimations.degreeVec(0.0F, -56.286F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.56F, KeyframeAnimations.degreeVec(0.0F, -55.356F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.6F, KeyframeAnimations.degreeVec(0.0F, -54.3236F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.64F, KeyframeAnimations.degreeVec(0.0F, -53.1903F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.8F, KeyframeAnimations.degreeVec(0.0F, -47.6858F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.28F, KeyframeAnimations.degreeVec(0.0F, -25.1688F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.48F, KeyframeAnimations.degreeVec(0.0F, -15.7824F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.64F, KeyframeAnimations.degreeVec(0.0F, -9.3384F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.8F, KeyframeAnimations.degreeVec(0.0F, -4.1567F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.96F, KeyframeAnimations.degreeVec(0.0F, -0.3476F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.12F, KeyframeAnimations.degreeVec(0.0F, 2.0949F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.28F, KeyframeAnimations.degreeVec(0.0F, 3.2436F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.44F, KeyframeAnimations.degreeVec(0.0F, 3.2038F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.64F, KeyframeAnimations.degreeVec(0.0F, 1.6511F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.76F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR) - )) - .addAnimation("bone349", new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0.0F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.52F, KeyframeAnimations.posVec(0.0F, 0.2059F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.04F, KeyframeAnimations.posVec(0.0F, 0.4291F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.24F, KeyframeAnimations.posVec(0.0F, 0.5F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.76F, KeyframeAnimations.posVec(0.0F, 0.2638F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.28F, KeyframeAnimations.posVec(0.0F, -0.1502F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.72F, KeyframeAnimations.posVec(0.0F, -0.4373F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.96F, KeyframeAnimations.posVec(0.0F, -0.5F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.16F, KeyframeAnimations.posVec(0.0F, -0.4449F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.48F, KeyframeAnimations.posVec(0.0F, -0.1034F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.68F, KeyframeAnimations.posVec(0.0F, 0.048F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.04F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.56F, KeyframeAnimations.posVec(0.0F, -0.1421F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.08F, KeyframeAnimations.posVec(0.0F, -0.1491F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.6F, KeyframeAnimations.posVec(0.0F, -0.0721F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.88F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR) - )) - .addAnimation("bone351", new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0.72F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.76F, KeyframeAnimations.degreeVec(0.0F, -0.3713F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.28F, KeyframeAnimations.degreeVec(0.0F, -8.1244F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.8F, KeyframeAnimations.degreeVec(0.0F, -15.5848F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.32F, KeyframeAnimations.degreeVec(0.0F, -22.1175F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.84F, KeyframeAnimations.degreeVec(0.0F, -27.2567F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.28F, KeyframeAnimations.degreeVec(0.0F, -29.8766F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.32F, KeyframeAnimations.degreeVec(0.0F, -30.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.6F, KeyframeAnimations.degreeVec(0.0F, -29.955F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.8F, KeyframeAnimations.degreeVec(0.0F, -28.7057F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.0F, KeyframeAnimations.degreeVec(0.0F, -26.1284F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.16F, KeyframeAnimations.degreeVec(0.0F, -22.8973F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.36F, KeyframeAnimations.degreeVec(0.0F, -17.2705F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.6F, KeyframeAnimations.degreeVec(0.0F, -9.0777F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.76F, KeyframeAnimations.degreeVec(0.0F, -4.2377F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.8F, KeyframeAnimations.degreeVec(0.0F, -3.2541F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.84F, KeyframeAnimations.degreeVec(0.0F, -2.3795F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.88F, KeyframeAnimations.degreeVec(0.0F, -1.6173F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.92F, KeyframeAnimations.degreeVec(0.0F, -0.9678F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.96F, KeyframeAnimations.degreeVec(0.0F, -0.4297F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.0F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR) - )) - .addAnimation("bone351", new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0.0F, KeyframeAnimations.posVec(0.0F, 0.5F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(0.52F, KeyframeAnimations.posVec(0.0F, 0.4729F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.04F, KeyframeAnimations.posVec(0.0F, 0.3829F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.56F, KeyframeAnimations.posVec(0.0F, 0.28F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.08F, KeyframeAnimations.posVec(0.0F, 0.1741F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.6F, KeyframeAnimations.posVec(0.0F, 0.0732F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.12F, KeyframeAnimations.posVec(0.0F, 0.0007F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.16F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.36F, KeyframeAnimations.posVec(0.0F, 0.0278F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.52F, KeyframeAnimations.posVec(0.0F, 0.1278F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.56F, KeyframeAnimations.posVec(0.0F, 0.1329F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.92F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.44F, KeyframeAnimations.posVec(0.0F, -0.0605F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.96F, KeyframeAnimations.posVec(0.0F, 0.0904F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.48F, KeyframeAnimations.posVec(0.0F, 0.3354F, 0.0F), AnimationChannel.Interpolations.LINEAR), - new Keyframe(5.84F, KeyframeAnimations.posVec(0.0F, 0.5F, 0.0F), AnimationChannel.Interpolations.LINEAR) - )) - .build(); + public static final AnimationDefinition IDLE = AnimationDefinition.Builder.withLength(6.0F).looping() + .addAnimation("bone151", new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0.0F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.0F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.32F, KeyframeAnimations.degreeVec(0.0F, -7.5F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.76F, KeyframeAnimations.degreeVec(0.0F, 12.5F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.64F, KeyframeAnimations.degreeVec(0.0F, 7.5F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.0F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM) + )) + .addAnimation("bone346", new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0.76F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.8F, KeyframeAnimations.degreeVec(0.0F, 1.1925F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.84F, KeyframeAnimations.degreeVec(0.0F, 3.1369F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.88F, KeyframeAnimations.degreeVec(0.0F, 5.3061F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.16F, KeyframeAnimations.degreeVec(0.0F, 21.4852F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.36F, KeyframeAnimations.degreeVec(0.0F, 32.2721F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.52F, KeyframeAnimations.degreeVec(0.0F, 39.8798F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.68F, KeyframeAnimations.degreeVec(0.0F, 46.2212F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.72F, KeyframeAnimations.degreeVec(0.0F, 47.5596F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.76F, KeyframeAnimations.degreeVec(0.0F, 48.7823F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.8F, KeyframeAnimations.degreeVec(0.0F, 49.8791F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.84F, KeyframeAnimations.degreeVec(0.0F, 50.8381F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.88F, KeyframeAnimations.degreeVec(0.0F, 51.646F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.92F, KeyframeAnimations.degreeVec(0.0F, 52.2869F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.96F, KeyframeAnimations.degreeVec(0.0F, 52.7425F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.0F, KeyframeAnimations.degreeVec(0.0F, 52.9881F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.04F, KeyframeAnimations.degreeVec(0.0F, 53.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.2F, KeyframeAnimations.degreeVec(0.0F, 53.0504F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.24F, KeyframeAnimations.degreeVec(0.0F, 53.279F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.28F, KeyframeAnimations.degreeVec(0.0F, 53.6213F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.32F, KeyframeAnimations.degreeVec(0.0F, 54.0835F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.52F, KeyframeAnimations.degreeVec(0.0F, 57.2967F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.72F, KeyframeAnimations.degreeVec(0.0F, 59.4329F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.24F, KeyframeAnimations.degreeVec(0.0F, 60.2778F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.36F, KeyframeAnimations.degreeVec(0.0F, 60.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.52F, KeyframeAnimations.degreeVec(0.0F, 59.0022F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.68F, KeyframeAnimations.degreeVec(0.0F, 56.77F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.8F, KeyframeAnimations.degreeVec(0.0F, 54.1548F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.84F, KeyframeAnimations.degreeVec(0.0F, 53.0834F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.88F, KeyframeAnimations.degreeVec(0.0F, 51.906F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.92F, KeyframeAnimations.degreeVec(0.0F, 50.6168F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.96F, KeyframeAnimations.degreeVec(0.0F, 49.2136F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.0F, KeyframeAnimations.degreeVec(0.0F, 47.6926F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.04F, KeyframeAnimations.degreeVec(0.0F, 46.0501F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.08F, KeyframeAnimations.degreeVec(0.0F, 44.2829F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.12F, KeyframeAnimations.degreeVec(0.0F, 42.3912F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.16F, KeyframeAnimations.degreeVec(0.0F, 40.3719F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.2F, KeyframeAnimations.degreeVec(0.0F, 38.2279F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.24F, KeyframeAnimations.degreeVec(0.0F, 35.9621F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.28F, KeyframeAnimations.degreeVec(0.0F, 33.5808F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.52F, KeyframeAnimations.degreeVec(0.0F, 17.7354F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.6F, KeyframeAnimations.degreeVec(0.0F, 12.5428F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.64F, KeyframeAnimations.degreeVec(0.0F, 10.1405F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.68F, KeyframeAnimations.degreeVec(0.0F, 7.9226F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.72F, KeyframeAnimations.degreeVec(0.0F, 5.9274F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.76F, KeyframeAnimations.degreeVec(0.0F, 4.1847F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.8F, KeyframeAnimations.degreeVec(0.0F, 2.7165F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.84F, KeyframeAnimations.degreeVec(0.0F, 1.5379F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.88F, KeyframeAnimations.degreeVec(0.0F, 0.6554F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.92F, KeyframeAnimations.degreeVec(0.0F, 0.069F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.96F, KeyframeAnimations.degreeVec(0.0F, -0.2285F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.0F, KeyframeAnimations.degreeVec(0.0F, -0.2472F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.04F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR) + )) + .addAnimation("bone346", new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0.76F, KeyframeAnimations.posVec(0.0F, 0.5F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.28F, KeyframeAnimations.posVec(0.0F, 0.2127F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.8F, KeyframeAnimations.posVec(0.0F, -0.2667F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.12F, KeyframeAnimations.posVec(0.0F, -0.4679F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.28F, KeyframeAnimations.posVec(0.0F, -0.5F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.44F, KeyframeAnimations.posVec(0.0F, -0.4577F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.48F, KeyframeAnimations.posVec(0.0F, -0.4258F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.52F, KeyframeAnimations.posVec(0.0F, -0.3762F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.56F, KeyframeAnimations.posVec(0.0F, -0.2968F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.64F, KeyframeAnimations.posVec(0.0F, -0.0605F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.68F, KeyframeAnimations.posVec(0.0F, 0.007F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.72F, KeyframeAnimations.posVec(0.0F, 0.0424F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.76F, KeyframeAnimations.posVec(0.0F, 0.0598F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.04F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR) + )) + .addAnimation("bone348", new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0.8F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.84F, KeyframeAnimations.degreeVec(0.0F, 0.7691F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.36F, KeyframeAnimations.degreeVec(0.0F, 17.4003F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.88F, KeyframeAnimations.degreeVec(0.0F, 33.7542F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.24F, KeyframeAnimations.degreeVec(0.0F, 43.7688F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.48F, KeyframeAnimations.degreeVec(0.0F, 49.2736F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.64F, KeyframeAnimations.degreeVec(0.0F, 51.9646F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.68F, KeyframeAnimations.degreeVec(0.0F, 52.4351F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.72F, KeyframeAnimations.degreeVec(0.0F, 52.7886F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.76F, KeyframeAnimations.degreeVec(0.0F, 52.9932F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.8F, KeyframeAnimations.degreeVec(0.0F, 53.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.96F, KeyframeAnimations.degreeVec(0.0F, 53.0504F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.0F, KeyframeAnimations.degreeVec(0.0F, 53.279F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.04F, KeyframeAnimations.degreeVec(0.0F, 53.6213F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.08F, KeyframeAnimations.degreeVec(0.0F, 54.0835F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.28F, KeyframeAnimations.degreeVec(0.0F, 57.2967F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.48F, KeyframeAnimations.degreeVec(0.0F, 59.4329F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.0F, KeyframeAnimations.degreeVec(0.0F, 60.2778F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.12F, KeyframeAnimations.degreeVec(0.0F, 60.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.28F, KeyframeAnimations.degreeVec(0.0F, 59.0022F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.44F, KeyframeAnimations.degreeVec(0.0F, 56.77F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.56F, KeyframeAnimations.degreeVec(0.0F, 54.1548F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.6F, KeyframeAnimations.degreeVec(0.0F, 53.0834F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.64F, KeyframeAnimations.degreeVec(0.0F, 51.906F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.68F, KeyframeAnimations.degreeVec(0.0F, 50.6168F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.72F, KeyframeAnimations.degreeVec(0.0F, 49.2136F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.76F, KeyframeAnimations.degreeVec(0.0F, 47.6926F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.8F, KeyframeAnimations.degreeVec(0.0F, 46.0501F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.84F, KeyframeAnimations.degreeVec(0.0F, 44.2829F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.88F, KeyframeAnimations.degreeVec(0.0F, 42.3912F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.92F, KeyframeAnimations.degreeVec(0.0F, 40.3719F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.96F, KeyframeAnimations.degreeVec(0.0F, 38.2279F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.0F, KeyframeAnimations.degreeVec(0.0F, 35.9621F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.04F, KeyframeAnimations.degreeVec(0.0F, 33.5808F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.28F, KeyframeAnimations.degreeVec(0.0F, 17.7354F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.36F, KeyframeAnimations.degreeVec(0.0F, 12.5428F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.4F, KeyframeAnimations.degreeVec(0.0F, 10.1405F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.44F, KeyframeAnimations.degreeVec(0.0F, 7.9226F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.48F, KeyframeAnimations.degreeVec(0.0F, 5.9274F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.52F, KeyframeAnimations.degreeVec(0.0F, 4.1847F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.56F, KeyframeAnimations.degreeVec(0.0F, 2.7165F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.6F, KeyframeAnimations.degreeVec(0.0F, 1.5379F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.64F, KeyframeAnimations.degreeVec(0.0F, 0.6554F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.68F, KeyframeAnimations.degreeVec(0.0F, 0.069F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.72F, KeyframeAnimations.degreeVec(0.0F, -0.2285F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.76F, KeyframeAnimations.degreeVec(0.0F, -0.2472F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.8F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR) + )) + .addAnimation("bone348", new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0.0F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.24F, KeyframeAnimations.posVec(0.0F, -0.0726F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.4F, KeyframeAnimations.posVec(0.0F, -0.0296F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.44F, KeyframeAnimations.posVec(0.0F, 0.0069F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.48F, KeyframeAnimations.posVec(0.0F, 0.0606F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.52F, KeyframeAnimations.posVec(0.0F, 0.1343F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.6F, KeyframeAnimations.posVec(0.0F, 0.3063F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.64F, KeyframeAnimations.posVec(0.0F, 0.3744F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.68F, KeyframeAnimations.posVec(0.0F, 0.4245F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.72F, KeyframeAnimations.posVec(0.0F, 0.46F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.8F, KeyframeAnimations.posVec(0.0F, 0.5F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.32F, KeyframeAnimations.posVec(0.0F, 0.3411F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.84F, KeyframeAnimations.posVec(0.0F, 0.0517F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.36F, KeyframeAnimations.posVec(0.0F, -0.2431F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.88F, KeyframeAnimations.posVec(0.0F, -0.4744F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.04F, KeyframeAnimations.posVec(0.0F, -0.5F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.2F, KeyframeAnimations.posVec(0.0F, -0.4577F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.24F, KeyframeAnimations.posVec(0.0F, -0.4258F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.28F, KeyframeAnimations.posVec(0.0F, -0.3762F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.32F, KeyframeAnimations.posVec(0.0F, -0.2968F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.4F, KeyframeAnimations.posVec(0.0F, -0.0605F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.44F, KeyframeAnimations.posVec(0.0F, 0.007F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.48F, KeyframeAnimations.posVec(0.0F, 0.0424F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.52F, KeyframeAnimations.posVec(0.0F, 0.0598F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.8F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR) + )) + .addAnimation("bone349", new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0.0F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.16F, KeyframeAnimations.degreeVec(0.0F, -0.1757F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.36F, KeyframeAnimations.degreeVec(0.0F, -2.0988F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.72F, KeyframeAnimations.degreeVec(0.0F, -8.5463F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.24F, KeyframeAnimations.degreeVec(0.0F, -21.3374F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.76F, KeyframeAnimations.degreeVec(0.0F, -35.3062F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.24F, KeyframeAnimations.degreeVec(0.0F, -47.2309F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.56F, KeyframeAnimations.degreeVec(0.0F, -53.751F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.84F, KeyframeAnimations.degreeVec(0.0F, -57.9147F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.04F, KeyframeAnimations.degreeVec(0.0F, -59.6611F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.12F, KeyframeAnimations.degreeVec(0.0F, -60.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.28F, KeyframeAnimations.degreeVec(0.0F, -59.701F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.32F, KeyframeAnimations.degreeVec(0.0F, -59.3855F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.36F, KeyframeAnimations.degreeVec(0.0F, -58.97F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.4F, KeyframeAnimations.degreeVec(0.0F, -58.4534F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.44F, KeyframeAnimations.degreeVec(0.0F, -57.8346F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.48F, KeyframeAnimations.degreeVec(0.0F, -57.1126F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.52F, KeyframeAnimations.degreeVec(0.0F, -56.286F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.56F, KeyframeAnimations.degreeVec(0.0F, -55.356F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.6F, KeyframeAnimations.degreeVec(0.0F, -54.3236F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.64F, KeyframeAnimations.degreeVec(0.0F, -53.1903F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.8F, KeyframeAnimations.degreeVec(0.0F, -47.6858F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.28F, KeyframeAnimations.degreeVec(0.0F, -25.1688F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.48F, KeyframeAnimations.degreeVec(0.0F, -15.7824F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.64F, KeyframeAnimations.degreeVec(0.0F, -9.3384F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.8F, KeyframeAnimations.degreeVec(0.0F, -4.1567F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.96F, KeyframeAnimations.degreeVec(0.0F, -0.3476F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.12F, KeyframeAnimations.degreeVec(0.0F, 2.0949F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.28F, KeyframeAnimations.degreeVec(0.0F, 3.2436F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.44F, KeyframeAnimations.degreeVec(0.0F, 3.2038F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.64F, KeyframeAnimations.degreeVec(0.0F, 1.6511F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.76F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR) + )) + .addAnimation("bone349", new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0.0F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.52F, KeyframeAnimations.posVec(0.0F, 0.2059F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.04F, KeyframeAnimations.posVec(0.0F, 0.4291F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.24F, KeyframeAnimations.posVec(0.0F, 0.5F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.76F, KeyframeAnimations.posVec(0.0F, 0.2638F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.28F, KeyframeAnimations.posVec(0.0F, -0.1502F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.72F, KeyframeAnimations.posVec(0.0F, -0.4373F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.96F, KeyframeAnimations.posVec(0.0F, -0.5F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.16F, KeyframeAnimations.posVec(0.0F, -0.4449F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.48F, KeyframeAnimations.posVec(0.0F, -0.1034F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.68F, KeyframeAnimations.posVec(0.0F, 0.048F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.04F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.56F, KeyframeAnimations.posVec(0.0F, -0.1421F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.08F, KeyframeAnimations.posVec(0.0F, -0.1491F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.6F, KeyframeAnimations.posVec(0.0F, -0.0721F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.88F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR) + )) + .addAnimation("bone351", new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0.72F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.76F, KeyframeAnimations.degreeVec(0.0F, -0.3713F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.28F, KeyframeAnimations.degreeVec(0.0F, -8.1244F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.8F, KeyframeAnimations.degreeVec(0.0F, -15.5848F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.32F, KeyframeAnimations.degreeVec(0.0F, -22.1175F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.84F, KeyframeAnimations.degreeVec(0.0F, -27.2567F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.28F, KeyframeAnimations.degreeVec(0.0F, -29.8766F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.32F, KeyframeAnimations.degreeVec(0.0F, -30.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.6F, KeyframeAnimations.degreeVec(0.0F, -29.955F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.8F, KeyframeAnimations.degreeVec(0.0F, -28.7057F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.0F, KeyframeAnimations.degreeVec(0.0F, -26.1284F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.16F, KeyframeAnimations.degreeVec(0.0F, -22.8973F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.36F, KeyframeAnimations.degreeVec(0.0F, -17.2705F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.6F, KeyframeAnimations.degreeVec(0.0F, -9.0777F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.76F, KeyframeAnimations.degreeVec(0.0F, -4.2377F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.8F, KeyframeAnimations.degreeVec(0.0F, -3.2541F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.84F, KeyframeAnimations.degreeVec(0.0F, -2.3795F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.88F, KeyframeAnimations.degreeVec(0.0F, -1.6173F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.92F, KeyframeAnimations.degreeVec(0.0F, -0.9678F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.96F, KeyframeAnimations.degreeVec(0.0F, -0.4297F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.0F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR) + )) + .addAnimation("bone351", new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0.0F, KeyframeAnimations.posVec(0.0F, 0.5F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(0.52F, KeyframeAnimations.posVec(0.0F, 0.4729F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.04F, KeyframeAnimations.posVec(0.0F, 0.3829F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.56F, KeyframeAnimations.posVec(0.0F, 0.28F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.08F, KeyframeAnimations.posVec(0.0F, 0.1741F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.6F, KeyframeAnimations.posVec(0.0F, 0.0732F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.12F, KeyframeAnimations.posVec(0.0F, 0.0007F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.16F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.36F, KeyframeAnimations.posVec(0.0F, 0.0278F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.52F, KeyframeAnimations.posVec(0.0F, 0.1278F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.56F, KeyframeAnimations.posVec(0.0F, 0.1329F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.92F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.44F, KeyframeAnimations.posVec(0.0F, -0.0605F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.96F, KeyframeAnimations.posVec(0.0F, 0.0904F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.48F, KeyframeAnimations.posVec(0.0F, 0.3354F, 0.0F), AnimationChannel.Interpolations.LINEAR), + new Keyframe(5.84F, KeyframeAnimations.posVec(0.0F, 0.5F, 0.0F), AnimationChannel.Interpolations.LINEAR) + )) + .build(); } \ No newline at end of file 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 index 76c34e7dc..43ac04473 100644 --- 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 @@ -11,32 +11,32 @@ public class ArtronPillarBlockModel extends HierarchicalModel { - private final ModelPart root; - private final ModelPart bb_main; + private final ModelPart root; + private final ModelPart bb_main; - public ArtronPillarBlockModel(ModelPart root) { - this.root = root; - this.bb_main = root.getChild("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(); + 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)); + 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); - } + return LayerDefinition.create(meshdefinition, 128, 128); + } - @Override - public ModelPart root() { - return this.root; - } + @Override + public ModelPart root() { + return this.root; + } - @Override - public void setupAnim(Entity entity, float f, float g, float h, float i, float j) { + @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/BigBenDoorModel.java b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/BigBenDoorModel.java index 65ae3beab..7db9b7d7c 100644 --- a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/BigBenDoorModel.java +++ b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/BigBenDoorModel.java @@ -10,76 +10,76 @@ import whocraft.tardis_refined.common.blockentity.door.GlobalDoorBlockEntity; public class BigBenDoorModel extends ShellDoorModel { - private final ModelPart root; - private final ModelPart door; - private final ModelPart bone27; - private final ModelPart bone5; - private final ModelPart bone2; - private final ModelPart bb_main; + private final ModelPart root; + private final ModelPart door; + private final ModelPart bone27; + private final ModelPart bone5; + private final ModelPart bone2; + private final ModelPart bb_main; - @Override - public void setDoorPosition(boolean open) { - this.door.yRot = (open) ? -275f : 0; - } + public BigBenDoorModel(ModelPart root) { + this.root = root; + this.door = root.getChild("door"); + this.bone27 = root.getChild("bone27"); + this.bone5 = root.getChild("bone5"); + this.bone2 = root.getChild("bone2"); + this.bb_main = root.getChild("bb_main"); + } - public BigBenDoorModel(ModelPart root) { - this.root = root; - this.door = root.getChild("door"); - this.bone27 = root.getChild("bone27"); - this.bone5 = root.getChild("bone5"); - this.bone2 = root.getChild("bone2"); - this.bb_main = root.getChild("bb_main"); - } + public static LayerDefinition createBodyLayer() { + MeshDefinition meshdefinition = new MeshDefinition(); + PartDefinition partdefinition = meshdefinition.getRoot(); - public static LayerDefinition createBodyLayer() { - MeshDefinition meshdefinition = new MeshDefinition(); - PartDefinition partdefinition = meshdefinition.getRoot(); + PartDefinition door = partdefinition.addOrReplaceChild("door", CubeListBuilder.create().texOffs(0, 61).addBox(-0.025F, -17.0F, 0.0F, 14.0F, 34.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(35, 37).addBox(-0.025F, -17.0F, 0.5F, 14.0F, 34.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(-6.975F, 7.0F, 5.5F)); - PartDefinition door = partdefinition.addOrReplaceChild("door", CubeListBuilder.create().texOffs(0, 61).addBox(-0.025F, -17.0F, 0.0F, 14.0F, 34.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(35, 37).addBox(-0.025F, -17.0F, 0.5F, 14.0F, 34.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(-6.975F, 7.0F, 5.5F)); + PartDefinition bone27 = partdefinition.addOrReplaceChild("bone27", CubeListBuilder.create().texOffs(66, 21).addBox(-6.0F, -6.0F, 0.0F, 12.0F, 12.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -19.0F, 5.0F)); - PartDefinition bone27 = partdefinition.addOrReplaceChild("bone27", CubeListBuilder.create().texOffs(66, 21).addBox(-6.0F, -6.0F, 0.0F, 12.0F, 12.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -19.0F, 5.0F)); + PartDefinition bone5 = partdefinition.addOrReplaceChild("bone5", CubeListBuilder.create().texOffs(81, 72).addBox(-11.0F, -38.0F, -9.0F, 5.0F, 5.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 24.0F, 13.0F)); - PartDefinition bone5 = partdefinition.addOrReplaceChild("bone5", CubeListBuilder.create().texOffs(81, 72).addBox(-11.0F, -38.0F, -9.0F, 5.0F, 5.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 24.0F, 13.0F)); + PartDefinition bone6 = bone5.addOrReplaceChild("bone6", CubeListBuilder.create().texOffs(66, 35).addBox(-10.5F, -18.0F, -9.0F, 4.0F, 18.0F, 4.0F, new CubeDeformation(0.0F)) + .texOffs(31, 73).addBox(-10.0F, -34.0F, -8.0F, 3.0F, 16.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.0F, 0.0F)); - PartDefinition bone6 = bone5.addOrReplaceChild("bone6", CubeListBuilder.create().texOffs(66, 35).addBox(-10.5F, -18.0F, -9.0F, 4.0F, 18.0F, 4.0F, new CubeDeformation(0.0F)) - .texOffs(31, 73).addBox(-10.0F, -34.0F, -8.0F, 3.0F, 16.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.0F, 0.0F)); + PartDefinition bone7 = bone5.addOrReplaceChild("bone7", CubeListBuilder.create().texOffs(44, 73).addBox(-10.0F, -47.0F, -8.0F, 4.0F, 9.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.0F, 0.0F)); - PartDefinition bone7 = bone5.addOrReplaceChild("bone7", CubeListBuilder.create().texOffs(44, 73).addBox(-10.0F, -47.0F, -8.0F, 4.0F, 9.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.0F, 0.0F)); + PartDefinition bone8 = bone5.addOrReplaceChild("bone8", CubeListBuilder.create().texOffs(62, 72).addBox(-11.0F, -51.0F, -9.0F, 5.0F, 10.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -6.0F, 0.0F)); - PartDefinition bone8 = bone5.addOrReplaceChild("bone8", CubeListBuilder.create().texOffs(62, 72).addBox(-11.0F, -51.0F, -9.0F, 5.0F, 10.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -6.0F, 0.0F)); + PartDefinition bone2 = partdefinition.addOrReplaceChild("bone2", CubeListBuilder.create().texOffs(81, 72).mirror().addBox(6.0F, -38.0F, -9.0F, 5.0F, 5.0F, 4.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offset(0.0F, 24.0F, 13.0F)); - PartDefinition bone2 = partdefinition.addOrReplaceChild("bone2", CubeListBuilder.create().texOffs(81, 72).mirror().addBox(6.0F, -38.0F, -9.0F, 5.0F, 5.0F, 4.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offset(0.0F, 24.0F, 13.0F)); + PartDefinition bone3 = bone2.addOrReplaceChild("bone3", CubeListBuilder.create().texOffs(66, 35).mirror().addBox(6.5F, -18.0F, -9.0F, 4.0F, 18.0F, 4.0F, new CubeDeformation(0.0F)).mirror(false) + .texOffs(31, 73).mirror().addBox(7.0F, -34.0F, -8.0F, 3.0F, 16.0F, 3.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offset(0.0F, 0.0F, 0.0F)); - PartDefinition bone3 = bone2.addOrReplaceChild("bone3", CubeListBuilder.create().texOffs(66, 35).mirror().addBox(6.5F, -18.0F, -9.0F, 4.0F, 18.0F, 4.0F, new CubeDeformation(0.0F)).mirror(false) - .texOffs(31, 73).mirror().addBox(7.0F, -34.0F, -8.0F, 3.0F, 16.0F, 3.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offset(0.0F, 0.0F, 0.0F)); + PartDefinition bone4 = bone2.addOrReplaceChild("bone4", CubeListBuilder.create().texOffs(44, 73).mirror().addBox(6.0F, -47.0F, -8.0F, 4.0F, 9.0F, 3.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offset(0.0F, 0.0F, 0.0F)); - PartDefinition bone4 = bone2.addOrReplaceChild("bone4", CubeListBuilder.create().texOffs(44, 73).mirror().addBox(6.0F, -47.0F, -8.0F, 4.0F, 9.0F, 3.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offset(0.0F, 0.0F, 0.0F)); + PartDefinition bone9 = bone2.addOrReplaceChild("bone9", CubeListBuilder.create().texOffs(62, 72).mirror().addBox(6.0F, -51.0F, -9.0F, 5.0F, 10.0F, 4.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offset(0.0F, -6.0F, 0.0F)); - PartDefinition bone9 = bone2.addOrReplaceChild("bone9", CubeListBuilder.create().texOffs(62, 72).mirror().addBox(6.0F, -51.0F, -9.0F, 5.0F, 10.0F, 4.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offset(0.0F, -6.0F, 0.0F)); + PartDefinition bb_main = partdefinition.addOrReplaceChild("bb_main", CubeListBuilder.create().texOffs(66, 65).addBox(-6.0F, -36.975F, 4.0F, 12.0F, 3.0F, 3.0F, new CubeDeformation(0.0F)) + .texOffs(66, 58).addBox(-6.0F, -52.0F, 4.0F, 12.0F, 3.0F, 3.0F, new CubeDeformation(0.0F)) + .texOffs(66, 0).addBox(-8.0F, -71.0F, 5.0F, 16.0F, 19.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(0, 0).addBox(-7.0F, -57.0F, 5.0F, 14.0F, 57.0F, 3.0F, new CubeDeformation(0.0F)) + .texOffs(35, 0).addBox(-7.0F, -35.0F, 6.25F, 14.0F, 35.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 24.0F, 0.0F)); - PartDefinition bb_main = partdefinition.addOrReplaceChild("bb_main", CubeListBuilder.create().texOffs(66, 65).addBox(-6.0F, -36.975F, 4.0F, 12.0F, 3.0F, 3.0F, new CubeDeformation(0.0F)) - .texOffs(66, 58).addBox(-6.0F, -52.0F, 4.0F, 12.0F, 3.0F, 3.0F, new CubeDeformation(0.0F)) - .texOffs(66, 0).addBox(-8.0F, -71.0F, 5.0F, 16.0F, 19.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(0, 0).addBox(-7.0F, -57.0F, 5.0F, 14.0F, 57.0F, 3.0F, new CubeDeformation(0.0F)) - .texOffs(35, 0).addBox(-7.0F, -35.0F, 6.25F, 14.0F, 35.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 24.0F, 0.0F)); + ShellModel.addMaterializationPart(partdefinition); - ShellModel.addMaterializationPart(partdefinition); + return LayerDefinition.create(meshdefinition, 128, 128); + } - return LayerDefinition.create(meshdefinition, 128, 128); - } + @Override + public void setDoorPosition(boolean open) { + this.door.yRot = (open) ? -275f : 0; + } - @Override - public void renderInteriorDoor(GlobalDoorBlockEntity doorBlockEntity, boolean open, boolean isBaseModel, PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) { - door.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - bone27.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - bone5.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - bone2.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - bb_main.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - } + @Override + public void renderInteriorDoor(GlobalDoorBlockEntity doorBlockEntity, boolean open, boolean isBaseModel, PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) { + door.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + bone27.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + bone5.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + bone2.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + bb_main.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + } - @Override - public ModelPart root() { - return this.root; - } + @Override + public ModelPart root() { + return this.root; + } } \ 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 a72634e0b..cd1ca9bf9 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 @@ -10,60 +10,57 @@ public class BriefcaseDoorModel extends ShellDoorModel { - private final ModelPart root; - private final ModelPart door_open; - private final ModelPart door_closed; - private final ModelPart bb_main; + private final ModelPart root; + private final ModelPart door_open; + private final ModelPart door_closed; + private final ModelPart bb_main; - private boolean isDoorOpen; + private boolean isDoorOpen; - @Override - public void setDoorPosition(boolean open) { - this.isDoorOpen = open; - } + public BriefcaseDoorModel(ModelPart root) { + this.root = root; + this.door_open = root.getChild("door_open"); + this.door_closed = root.getChild("door_closed"); + this.bb_main = root.getChild("bb_main"); + } + public static LayerDefinition createBodyLayer() { + MeshDefinition meshdefinition = new MeshDefinition(); + PartDefinition partdefinition = meshdefinition.getRoot(); - public BriefcaseDoorModel(ModelPart root) { - this.root = root; - this.door_open = root.getChild("door_open"); - this.door_closed = root.getChild("door_closed"); - this.bb_main = root.getChild("bb_main"); - } + 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)); - public static LayerDefinition createBodyLayer() { - MeshDefinition meshdefinition = new MeshDefinition(); - PartDefinition partdefinition = meshdefinition.getRoot(); + 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 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 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)); - 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)); + ShellModel.addMaterializationPart(partdefinition); - 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)); + return LayerDefinition.create(meshdefinition, 128, 128); + } - 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)); + @Override + public void setDoorPosition(boolean open) { + this.isDoorOpen = open; + } - ShellModel.addMaterializationPart(partdefinition); + @Override + public void renderInteriorDoor(GlobalDoorBlockEntity doorBlockEntity, boolean open, boolean isBaseModel, PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) { + if (isDoorOpen) { + door_open.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + } else { + door_closed.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + } - return LayerDefinition.create(meshdefinition, 128, 128); - } + bb_main.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + } - - @Override - public void renderInteriorDoor(GlobalDoorBlockEntity doorBlockEntity, boolean open, boolean isBaseModel, PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) { - if (isDoorOpen) { - door_open.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - } else { - door_closed.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - } - - bb_main.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - } - - @Override - public ModelPart root() { - return root; - } + @Override + public ModelPart root() { + return root; + } } \ No newline at end of file diff --git a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/BulkHeadDoorModel.java b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/BulkHeadDoorModel.java index 66667cfd0..aa3c359fb 100644 --- a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/BulkHeadDoorModel.java +++ b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/BulkHeadDoorModel.java @@ -12,55 +12,55 @@ public class BulkHeadDoorModel extends HierarchicalModel { - private final ModelPart root; - private final ModelPart right; - private final ModelPart left; + private final ModelPart root; + private final ModelPart right; + private final ModelPart left; - public BulkHeadDoorModel(ModelPart root) { - this.root = root.getChild("root"); - this.right = this.root.getChild("right"); - this.left = this.root.getChild("left"); - } + public BulkHeadDoorModel(ModelPart root) { + this.root = root.getChild("root"); + this.right = this.root.getChild("right"); + this.left = this.root.getChild("left"); + } - public static LayerDefinition createBodyLayer() { - MeshDefinition meshdefinition = new MeshDefinition(); - PartDefinition partdefinition = meshdefinition.getRoot(); + public static LayerDefinition createBodyLayer() { + MeshDefinition meshdefinition = new MeshDefinition(); + PartDefinition partdefinition = meshdefinition.getRoot(); - PartDefinition root = partdefinition.addOrReplaceChild("root", CubeListBuilder.create(), PartPose.offset(0.0F, 0.0F, 16.0F)); + PartDefinition root = partdefinition.addOrReplaceChild("root", CubeListBuilder.create(), PartPose.offset(0.0F, 0.0F, 16.0F)); - PartDefinition right = root.addOrReplaceChild("right", CubeListBuilder.create().texOffs(64, 54).addBox(0.0F, -48.0F, -19.0F, 24.0F, 48.0F, 6.0F, new CubeDeformation(0.0F)) - .texOffs(0, 56).addBox(0.0F, -48.0F, -20.0F, 24.0F, 48.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 24.0F, 0.0F)); + PartDefinition right = root.addOrReplaceChild("right", CubeListBuilder.create().texOffs(64, 54).addBox(0.0F, -48.0F, -19.0F, 24.0F, 48.0F, 6.0F, new CubeDeformation(0.0F)) + .texOffs(0, 56).addBox(0.0F, -48.0F, -20.0F, 24.0F, 48.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 24.0F, 0.0F)); - PartDefinition left = root.addOrReplaceChild("left", CubeListBuilder.create().texOffs(64, 0).addBox(-24.0F, -48.0F, -19.0F, 24.0F, 48.0F, 6.0F, new CubeDeformation(0.0F)) - .texOffs(0, 0).addBox(-24.0F, -48.0F, -20.0F, 24.0F, 48.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 24.0F, 0.0F)); + PartDefinition left = root.addOrReplaceChild("left", CubeListBuilder.create().texOffs(64, 0).addBox(-24.0F, -48.0F, -19.0F, 24.0F, 48.0F, 6.0F, new CubeDeformation(0.0F)) + .texOffs(0, 0).addBox(-24.0F, -48.0F, -20.0F, 24.0F, 48.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 24.0F, 0.0F)); - return LayerDefinition.create(meshdefinition, 128, 128); - } + 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); - } + @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 ModelPart root() { + return root; + } - @Override - public void setupAnim(Entity entity, float f, float g, float h, float i, float j) { + @Override + public void setupAnim(Entity entity, float f, float g, float h, float i, float j) { - } + } - public void setDoorPosition(BlockState state) { - if (state.getValue(BulkHeadDoorBlock.OPEN)) { - right.x = 20f; - left.x = -20f; - } else { - right.x = 0f; - left.x = 0f; - } - } + public void setDoorPosition(BlockState state) { + if (state.getValue(BulkHeadDoorBlock.OPEN)) { + right.x = 20f; + left.x = -20f; + } else { + right.x = 0f; + left.x = 0f; + } + } } \ No newline at end of file diff --git a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/DrifterDoorModel.java b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/DrifterDoorModel.java index 137ed72a3..cb9783369 100644 --- a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/DrifterDoorModel.java +++ b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/DrifterDoorModel.java @@ -12,68 +12,67 @@ public class DrifterDoorModel extends ShellDoorModel { - private final ModelPart door_closed; - private final ModelPart door_open; - private final ModelPart main; - private final ModelPart root; + private final ModelPart door_closed; + private final ModelPart door_open; + private final ModelPart main; + private final ModelPart root; + boolean isDoorOpen = false; - public DrifterDoorModel(ModelPart root) { - this.root = root; - this.door_closed = root.getChild("door_closed"); - this.door_open = root.getChild("door_open"); - this.main = root.getChild("main"); - } + public DrifterDoorModel(ModelPart root) { + this.root = root; + this.door_closed = root.getChild("door_closed"); + this.door_open = root.getChild("door_open"); + this.main = root.getChild("main"); + } - public static LayerDefinition createBodyLayer() { - MeshDefinition meshdefinition = new MeshDefinition(); - PartDefinition partdefinition = meshdefinition.getRoot(); + public static LayerDefinition createBodyLayer() { + MeshDefinition meshdefinition = new MeshDefinition(); + PartDefinition partdefinition = meshdefinition.getRoot(); - PartDefinition door_closed = partdefinition.addOrReplaceChild("door_closed", CubeListBuilder.create().texOffs(33, 77).addBox(-7.0F, -32.0F, 6.25F, 14.0F, 30.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(0, 77).addBox(-7.5F, -32.5F, 6.75F, 15.0F, 31.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 24.0F, -0.5F)); + PartDefinition door_closed = partdefinition.addOrReplaceChild("door_closed", CubeListBuilder.create().texOffs(33, 77).addBox(-7.0F, -32.0F, 6.25F, 14.0F, 30.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(0, 77).addBox(-7.5F, -32.5F, 6.75F, 15.0F, 31.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 24.0F, -0.5F)); - PartDefinition door_open = partdefinition.addOrReplaceChild("door_open", CubeListBuilder.create().texOffs(33, 36).addBox(-7.0F, -32.0F, 6.25F, 14.0F, 30.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(0, 36).addBox(-7.5F, -32.5F, 6.75F, 15.0F, 31.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 24.0F, -0.5F)); + PartDefinition door_open = partdefinition.addOrReplaceChild("door_open", CubeListBuilder.create().texOffs(33, 36).addBox(-7.0F, -32.0F, 6.25F, 14.0F, 30.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(0, 36).addBox(-7.5F, -32.5F, 6.75F, 15.0F, 31.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 24.0F, -0.5F)); - PartDefinition main = partdefinition.addOrReplaceChild("main", CubeListBuilder.create().texOffs(41, 9).addBox(-7.4F, -2.5F, 4.0F, 1.0F, 3.0F, 3.0F, new CubeDeformation(0.0F)) - .texOffs(0, 0).addBox(-9.5F, -34.025F, 7.025F, 19.0F, 34.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(64, 46).addBox(-7.0F, -2.0F, 4.5F, 14.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(41, 9).addBox(6.4F, -2.5F, 4.0F, 1.0F, 3.0F, 3.0F, new CubeDeformation(0.0F)) - .texOffs(64, 9).mirror().addBox(7.5F, -34.0F, 6.0F, 2.0F, 34.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false) - .texOffs(41, 0).addBox(-9.5F, -34.0F, 6.0F, 19.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(64, 9).addBox(-9.5F, -34.0F, 6.0F, 2.0F, 34.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 24.0F, 0.0F)); + PartDefinition main = partdefinition.addOrReplaceChild("main", CubeListBuilder.create().texOffs(41, 9).addBox(-7.4F, -2.5F, 4.0F, 1.0F, 3.0F, 3.0F, new CubeDeformation(0.0F)) + .texOffs(0, 0).addBox(-9.5F, -34.025F, 7.025F, 19.0F, 34.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(64, 46).addBox(-7.0F, -2.0F, 4.5F, 14.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(41, 9).addBox(6.4F, -2.5F, 4.0F, 1.0F, 3.0F, 3.0F, new CubeDeformation(0.0F)) + .texOffs(64, 9).mirror().addBox(7.5F, -34.0F, 6.0F, 2.0F, 34.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false) + .texOffs(41, 0).addBox(-9.5F, -34.0F, 6.0F, 19.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(64, 9).addBox(-9.5F, -34.0F, 6.0F, 2.0F, 34.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 24.0F, 0.0F)); - PartDefinition bone = main.addOrReplaceChild("bone", CubeListBuilder.create().texOffs(41, 5).addBox(-9.5F, 0.0F, -2.0F, 19.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -34.0F, 6.0F, 0.7418F, 0.0F, 0.0F)); + PartDefinition bone = main.addOrReplaceChild("bone", CubeListBuilder.create().texOffs(41, 5).addBox(-9.5F, 0.0F, -2.0F, 19.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -34.0F, 6.0F, 0.7418F, 0.0F, 0.0F)); - ShellModel.addMaterializationPart(partdefinition); + ShellModel.addMaterializationPart(partdefinition); - return LayerDefinition.create(meshdefinition, 128, 128); - } + return LayerDefinition.create(meshdefinition, 128, 128); + } - boolean isDoorOpen = false; + @Override + public void renderInteriorDoor(GlobalDoorBlockEntity doorBlockEntity, boolean open, boolean isBaseModel, PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) { + door_open.visible = isDoorOpen; + door_closed.visible = !isDoorOpen; - @Override - public void renderInteriorDoor(GlobalDoorBlockEntity doorBlockEntity, boolean open, boolean isBaseModel, PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) { - door_open.visible = isDoorOpen; - door_closed.visible = !isDoorOpen; + door_open.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + door_closed.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + main.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + } - door_open.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - door_closed.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - main.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - } + @Override + public ModelPart root() { + return root; + } - @Override - public ModelPart root() { - return root; - } + @Override + public void setDoorPosition(boolean open) { + this.isDoorOpen = open; + } - @Override - public void setDoorPosition(boolean open) { - this.isDoorOpen = open; - } + @Override + public void setupAnim(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) { - @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/door/interior/FactoryDoorModel.java b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/FactoryDoorModel.java index 7a0ce3117..78daee3c4 100644 --- a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/FactoryDoorModel.java +++ b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/FactoryDoorModel.java @@ -11,66 +11,66 @@ public class FactoryDoorModel extends ShellDoorModel { - private final ModelPart root; - private final ModelPart leftDoor; - private final ModelPart rightDoor; - - public FactoryDoorModel(ModelPart root) { - this.root = root; - this.leftDoor = this.root.getChild("left_door"); - 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); - } - - @Override - public void renderInteriorDoor(GlobalDoorBlockEntity doorBlockEntity, boolean open, boolean isBaseModel, 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) { - - } - - @Override - public void setDoorPosition(boolean open) { - if (open) { - this.leftDoor.yRot = -250f; - this.rightDoor.yRot = 250f; - } else { - this.leftDoor.yRot = 0; - this.rightDoor.yRot = 0; - } - } + private final ModelPart root; + private final ModelPart leftDoor; + private final ModelPart rightDoor; + + public FactoryDoorModel(ModelPart root) { + this.root = root; + this.leftDoor = this.root.getChild("left_door"); + 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); + } + + @Override + public void renderInteriorDoor(GlobalDoorBlockEntity doorBlockEntity, boolean open, boolean isBaseModel, 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) { + + } + + @Override + public void setDoorPosition(boolean open) { + if (open) { + this.leftDoor.yRot = -250f; + this.rightDoor.yRot = 250f; + } else { + this.leftDoor.yRot = 0; + this.rightDoor.yRot = 0; + } + } } \ No newline at end of file diff --git a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/GroeningDoorModel.java b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/GroeningDoorModel.java index b9587ed1b..cc9a3cc2f 100644 --- a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/GroeningDoorModel.java +++ b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/GroeningDoorModel.java @@ -17,11 +17,6 @@ public class GroeningDoorModel extends ShellDoorModel { private final ModelPart bone2; private final ModelPart bb_main; - @Override - public void setDoorPosition(boolean open) { - this.door.yRot = (open) ? -275f : 0; - } - public GroeningDoorModel(ModelPart root) { this.root = root; this.door = root.getChild("door"); @@ -53,6 +48,10 @@ public static LayerDefinition createBodyLayer() { return LayerDefinition.create(meshdefinition, 128, 128); } + @Override + public void setDoorPosition(boolean open) { + this.door.yRot = (open) ? -275f : 0; + } @Override public void renderToBuffer(PoseStack poseStack, VertexConsumer vertexConsumer, 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/door/interior/GrowthDoorModel.java b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/GrowthDoorModel.java index e1b0a0f6d..5fca89455 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 @@ -10,59 +10,58 @@ import whocraft.tardis_refined.common.blockentity.door.GlobalDoorBlockEntity; public class GrowthDoorModel extends ShellDoorModel { - private final ModelPart root; - private final ModelPart door_closed; - private final ModelPart door_open; - private final ModelPart bb_main; - - public GrowthDoorModel(ModelPart root) { - this.root = root; - this.door_closed = root.getChild("door_closed"); - this.door_open = root.getChild("door_open"); - 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); - } - - boolean isDoorOpen = false; - - @Override - public void renderInteriorDoor(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; - door_open.visible = isDoorOpen; - - door_closed.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - door_open.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - - bb_main.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - } - - @Override - public ModelPart root() { - return root; - } - - @Override - public void setDoorPosition(boolean open) { - this.isDoorOpen = open; - } + private final ModelPart root; + private final ModelPart door_closed; + private final ModelPart door_open; + private final ModelPart bb_main; + boolean isDoorOpen = false; + + public GrowthDoorModel(ModelPart root) { + this.root = root; + this.door_closed = root.getChild("door_closed"); + this.door_open = root.getChild("door_open"); + 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 renderInteriorDoor(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; + door_open.visible = isDoorOpen; + + door_closed.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + door_open.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + + bb_main.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + } + + @Override + public ModelPart root() { + return root; + } + + @Override + public void setDoorPosition(boolean open) { + this.isDoorOpen = open; + } } \ No newline at end of file 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 f688e0eb6..0c08a68c0 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 @@ -11,66 +11,66 @@ public class HalfBakedDoorModel extends ShellDoorModel { - private final ModelPart root; - private final ModelPart leftDoor; - private final ModelPart rightDoor; - - public HalfBakedDoorModel(ModelPart root) { - this.root = root; - this.leftDoor = this.root.getChild("left_door"); - 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); - } - - @Override - public void renderInteriorDoor(GlobalDoorBlockEntity doorBlockEntity, boolean open, boolean isBaseModel, 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) { - - } - - @Override - public void setDoorPosition(boolean open) { - if (open) { - this.leftDoor.yRot = -250f; - this.rightDoor.yRot = 250f; - } else { - this.leftDoor.yRot = 0; - this.rightDoor.yRot = 0; - } - } + private final ModelPart root; + private final ModelPart leftDoor; + private final ModelPart rightDoor; + + public HalfBakedDoorModel(ModelPart root) { + this.root = root; + this.leftDoor = this.root.getChild("left_door"); + 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); + } + + @Override + public void renderInteriorDoor(GlobalDoorBlockEntity doorBlockEntity, boolean open, boolean isBaseModel, 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) { + + } + + @Override + public void setDoorPosition(boolean open) { + if (open) { + this.leftDoor.yRot = -250f; + this.rightDoor.yRot = 250f; + } else { + this.leftDoor.yRot = 0; + this.rightDoor.yRot = 0; + } + } } \ No newline at end of file diff --git a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/HieroglyphShellDoor.java b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/HieroglyphShellDoor.java index cb143f8b4..6045c8a28 100644 --- a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/HieroglyphShellDoor.java +++ b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/HieroglyphShellDoor.java @@ -7,7 +7,7 @@ import net.minecraft.client.model.geom.builders.*; import whocraft.tardis_refined.common.blockentity.door.GlobalDoorBlockEntity; -public class HieroglyphShellDoor extends ShellDoorModel{ +public class HieroglyphShellDoor extends ShellDoorModel { private final ModelPart root; private final ModelPart door_closed; @@ -90,7 +90,6 @@ public static LayerDefinition createBodyLayer() { } - @Override public void renderInteriorDoor(GlobalDoorBlockEntity doorBlockEntity, boolean open, boolean isBaseModel, PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) { door_closed.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); diff --git a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/LiftShellDoorModel.java b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/LiftShellDoorModel.java index 54ae367e6..b30a18bcc 100644 --- a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/LiftShellDoorModel.java +++ b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/LiftShellDoorModel.java @@ -11,6 +11,7 @@ public class LiftShellDoorModel extends ShellDoorModel { private final ModelPart bone28; private final ModelPart doorOpen, doorClosed; + public boolean isDoorOpen = false; public LiftShellDoorModel(ModelPart modelPart) { this.bone28 = modelPart.getChild("bone28"); @@ -83,7 +84,6 @@ public static LayerDefinition createBodyLayer() { return LayerDefinition.create(meshdefinition, 128, 128); } - @Override public void renderInteriorDoor(GlobalDoorBlockEntity doorBlockEntity, boolean open, boolean isBaseModel, PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) { bone28.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); @@ -91,8 +91,6 @@ public void renderInteriorDoor(GlobalDoorBlockEntity doorBlockEntity, boolean op doorClosed.visible = !isDoorOpen; } - public boolean isDoorOpen = false; - @Override public void setDoorPosition(boolean open) { isDoorOpen = open; diff --git a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/MysticDoorModel.java b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/MysticDoorModel.java index 7a6605535..f946f6fe2 100644 --- a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/MysticDoorModel.java +++ b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/MysticDoorModel.java @@ -9,7 +9,7 @@ import whocraft.tardis_refined.common.blockentity.door.GlobalDoorBlockEntity; public class MysticDoorModel extends ShellDoorModel { - + private final ModelPart right_door; private final ModelPart left_door; private final ModelPart root_door; @@ -63,7 +63,8 @@ public static LayerDefinition createBodyLayer() { 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); left_door.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - root_door.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); } + root_door.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + } @Override public void renderInteriorDoor(GlobalDoorBlockEntity doorBlockEntity, boolean open, boolean isBaseModel, PoseStack poseStack, VertexConsumer vertexConsumer, 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/door/interior/NukaDoorModel.java b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/NukaDoorModel.java index 8140d9f7d..a05353de4 100644 --- a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/NukaDoorModel.java +++ b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/NukaDoorModel.java @@ -11,68 +11,68 @@ import whocraft.tardis_refined.common.blockentity.door.GlobalDoorBlockEntity; public class NukaDoorModel extends ShellDoorModel { - private final ModelPart root; - private final ModelPart left_door; - private final ModelPart right_door; - private final ModelPart bb_main; + private final ModelPart root; + private final ModelPart left_door; + private final ModelPart right_door; + private final ModelPart bb_main; - public NukaDoorModel(ModelPart root) { - this.root = root; - this.left_door = root.getChild("left_door"); - this.right_door = root.getChild("right_door"); - this.bb_main = root.getChild("bb_main"); - } + public NukaDoorModel(ModelPart root) { + this.root = root; + this.left_door = root.getChild("left_door"); + this.right_door = root.getChild("right_door"); + this.bb_main = root.getChild("bb_main"); + } - public static LayerDefinition createBodyLayer() { - MeshDefinition meshdefinition = new MeshDefinition(); - PartDefinition partdefinition = meshdefinition.getRoot(); + public static LayerDefinition createBodyLayer() { + MeshDefinition meshdefinition = new MeshDefinition(); + PartDefinition partdefinition = meshdefinition.getRoot(); - PartDefinition left_door = partdefinition.addOrReplaceChild("left_door", CubeListBuilder.create().texOffs(19, 47).addBox(0.0F, -16.0F, -1.0F, 8.0F, 32.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(-8.0F, 8.0F, 7.0F)); + PartDefinition left_door = partdefinition.addOrReplaceChild("left_door", CubeListBuilder.create().texOffs(19, 47).addBox(0.0F, -16.0F, -1.0F, 8.0F, 32.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(-8.0F, 8.0F, 7.0F)); - PartDefinition right_door = partdefinition.addOrReplaceChild("right_door", CubeListBuilder.create().texOffs(0, 47).addBox(-8.0F, -16.0F, -1.0F, 8.0F, 32.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(8.0F, 8.0F, 7.0F)); + PartDefinition right_door = partdefinition.addOrReplaceChild("right_door", CubeListBuilder.create().texOffs(0, 47).addBox(-8.0F, -16.0F, -1.0F, 8.0F, 32.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(8.0F, 8.0F, 7.0F)); - PartDefinition bb_main = partdefinition.addOrReplaceChild("bb_main", CubeListBuilder.create().texOffs(0, 39).addBox(-11.5F, -35.0625F, 4.5F, 23.0F, 3.0F, 4.0F, new CubeDeformation(0.125F)) - .texOffs(0, 0).addBox(-11.5F, -35.0F, 6.5F, 23.0F, 35.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 24.0F, 0.0F)); + PartDefinition bb_main = partdefinition.addOrReplaceChild("bb_main", CubeListBuilder.create().texOffs(0, 39).addBox(-11.5F, -35.0625F, 4.5F, 23.0F, 3.0F, 4.0F, new CubeDeformation(0.125F)) + .texOffs(0, 0).addBox(-11.5F, -35.0F, 6.5F, 23.0F, 35.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 24.0F, 0.0F)); - PartDefinition cube_r1 = bb_main.addOrReplaceChild("cube_r1", CubeListBuilder.create().texOffs(38, 47).addBox(-1.5F, -36.5F, -1.5F, 3.0F, 35.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-9.5F, 1.5F, 6.5F, 0.0F, 0.7854F, 0.0F)); + PartDefinition cube_r1 = bb_main.addOrReplaceChild("cube_r1", CubeListBuilder.create().texOffs(38, 47).addBox(-1.5F, -36.5F, -1.5F, 3.0F, 35.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-9.5F, 1.5F, 6.5F, 0.0F, 0.7854F, 0.0F)); - PartDefinition cube_r2 = bb_main.addOrReplaceChild("cube_r2", CubeListBuilder.create().texOffs(51, 47).addBox(-1.5F, -36.5F, -1.5F, 3.0F, 35.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(9.5F, 1.5F, 6.5F, 0.0F, -0.7854F, 0.0F)); + PartDefinition cube_r2 = bb_main.addOrReplaceChild("cube_r2", CubeListBuilder.create().texOffs(51, 47).addBox(-1.5F, -36.5F, -1.5F, 3.0F, 35.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(9.5F, 1.5F, 6.5F, 0.0F, -0.7854F, 0.0F)); - ShellModel.addMaterializationPart(partdefinition); + ShellModel.addMaterializationPart(partdefinition); - return LayerDefinition.create(meshdefinition, 128, 128); - } + 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); - } + @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 renderInteriorDoor(GlobalDoorBlockEntity doorBlockEntity, boolean open, boolean isBaseModel, 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 renderInteriorDoor(GlobalDoorBlockEntity doorBlockEntity, boolean open, boolean isBaseModel, 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 ModelPart root() { + return root; + } - @Override - public void setupAnim(Entity entity, float f, float g, float h, float i, float j) { + @Override + public void setupAnim(Entity entity, float f, float g, float h, float i, float j) { - } + } - @Override - public void setDoorPosition(boolean open) { - if (open) { - this.left_door.yRot = -250f; - this.right_door.yRot = 250f; - } else { - this.left_door.yRot = 0; - this.right_door.yRot = 0; - } - } + @Override + public void setDoorPosition(boolean open) { + if (open) { + this.left_door.yRot = -250f; + this.right_door.yRot = 250f; + } else { + this.left_door.yRot = 0; + this.right_door.yRot = 0; + } + } } \ No newline at end of file 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 index 98a776e6d..1c52bc1dd 100644 --- 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 @@ -11,99 +11,99 @@ 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; + 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 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(); + 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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)); + 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); + ShellModel.addMaterializationPart(partdefinition); - return LayerDefinition.create(meshdefinition, 128, 128); - } + return LayerDefinition.create(meshdefinition, 128, 128); + } - @Override - public void renderInteriorDoor(GlobalDoorBlockEntity doorBlockEntity, boolean open, boolean isBaseModel, PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) { - 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 renderInteriorDoor(GlobalDoorBlockEntity doorBlockEntity, boolean open, boolean isBaseModel, PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) { + 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 ModelPart root() { - return root; - } + @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 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; - } + @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/PathfinderDoorModel.java b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/PathfinderDoorModel.java index 7178f8ee7..2ce823ac0 100644 --- a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/PathfinderDoorModel.java +++ b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/PathfinderDoorModel.java @@ -9,78 +9,76 @@ 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; -import whocraft.tardis_refined.common.blockentity.shell.GlobalShellBlockEntity; public class PathfinderDoorModel extends ShellDoorModel { - // This layer location should be baked with EntityRendererProvider.Context in the entity renderer and passed into this model's constructor + // This layer location should be baked with EntityRendererProvider.Context in the entity renderer and passed into this model's constructor - private final ModelPart root; - private final ModelPart bone3; - private final ModelPart r_door; - private final ModelPart l_door; - private final ModelPart bb_main; + private final ModelPart root; + private final ModelPart bone3; + private final ModelPart r_door; + private final ModelPart l_door; + private final ModelPart bb_main; - public PathfinderDoorModel(ModelPart root) { - this.root = root; - this.bone3 = root.getChild("bone3"); - this.r_door = root.getChild("r_door"); - this.l_door = root.getChild("l_door"); - this.bb_main = root.getChild("bb_main"); - } + public PathfinderDoorModel(ModelPart root) { + this.root = root; + this.bone3 = root.getChild("bone3"); + this.r_door = root.getChild("r_door"); + this.l_door = root.getChild("l_door"); + this.bb_main = root.getChild("bb_main"); + } - public static LayerDefinition createBodyLayer() { - MeshDefinition meshdefinition = new MeshDefinition(); - PartDefinition partdefinition = meshdefinition.getRoot(); + 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 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_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 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 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 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 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 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)); + 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)); - return LayerDefinition.create(meshdefinition, 128, 128); - } + return LayerDefinition.create(meshdefinition, 128, 128); + } - @Override - public void renderInteriorDoor(GlobalDoorBlockEntity doorBlockEntity, boolean open, boolean isBaseModel, PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) { - bone3.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - l_door.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - r_door.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - bb_main.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - } + @Override + public void renderInteriorDoor(GlobalDoorBlockEntity doorBlockEntity, boolean open, boolean isBaseModel, PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) { + bone3.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + l_door.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + r_door.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + bb_main.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + } - @Override - public ModelPart root() { - return this.root; - } + @Override + public ModelPart root() { + return this.root; + } - @Override - public void setupAnim(Entity entity, float f, float g, float h, float i, float j) { + @Override + public void setupAnim(Entity entity, float f, float g, float h, float i, float j) { - } + } - @Override - public void setDoorPosition(boolean open) { - this.l_door.yRot = (open) ? -275f : 0; - this.r_door.yRot = (open) ? 275f : 0; - } + @Override + public void setDoorPosition(boolean open) { + this.l_door.yRot = (open) ? -275f : 0; + this.r_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/PhoneBoothDoorModel.java b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/PhoneBoothDoorModel.java index 5bb6c0f2c..8a39be896 100644 --- a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/PhoneBoothDoorModel.java +++ b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/PhoneBoothDoorModel.java @@ -13,67 +13,67 @@ public class PhoneBoothDoorModel extends ShellDoorModel { - private final ModelPart Door2; - private final ModelPart bone5; - private final ModelPart bone10; - private final ModelPart bb_main; - private final ModelPart root; - - public PhoneBoothDoorModel(ModelPart root) { - this.root = root; - this.Door2 = root.getChild("Door2"); - this.bone5 = root.getChild("bone5"); - this.bone10 = root.getChild("bone10"); - this.bb_main = root.getChild("bb_main"); - } - - public static LayerDefinition createBodyLayer() { - MeshDefinition meshdefinition = new MeshDefinition(); - PartDefinition partdefinition = meshdefinition.getRoot(); - - PartDefinition Door2 = partdefinition.addOrReplaceChild("Door2", CubeListBuilder.create().texOffs(0, 0).addBox(-14.0F, -15.25F, -0.5F, 14.0F, 34.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(40, 33).addBox(-14.0F, -17.25F, -1.5F, 14.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(40, 37).addBox(-13.0F, -3.75F, -1.3F, 3.0F, 5.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(18, 47).addBox(-13.1F, -3.25F, -3.0F, 1.0F, 4.0F, 3.0F, new CubeDeformation(0.0F)) - .texOffs(31, 0).addBox(-13.5F, -14.25F, -1.0F, 13.0F, 25.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(7.0F, 5.25F, 7.5F)); - - PartDefinition bone5 = partdefinition.addOrReplaceChild("bone5", CubeListBuilder.create().texOffs(0, 36).addBox(34.5F, -18.0F, 14.0F, 2.0F, 36.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(18, 36).addBox(34.5F, 9.75F, 13.95F, 2.0F, 8.0F, 2.0F, new CubeDeformation(0.25F)) - .texOffs(9, 47).addBox(34.5F, -18.75F, 13.95F, 2.0F, 5.0F, 2.0F, new CubeDeformation(0.25F)), PartPose.offset(-27.5F, 6.0F, -8.0F)); - - PartDefinition bone10 = partdefinition.addOrReplaceChild("bone10", CubeListBuilder.create().texOffs(31, 27).addBox(-36.5F, -18.0F, 14.0F, 2.0F, 36.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(9, 36).addBox(-36.5F, 9.75F, 13.95F, 2.0F, 8.0F, 2.0F, new CubeDeformation(0.25F)) - .texOffs(40, 45).addBox(-36.5F, -18.75F, 13.95F, 2.0F, 5.0F, 2.0F, new CubeDeformation(0.25F)), PartPose.offset(27.5F, 6.0F, -8.0F)); - - PartDefinition bb_main = partdefinition.addOrReplaceChild("bb_main", CubeListBuilder.create().texOffs(40, 27).addBox(-8.5F, -40.0F, 7.225F, 17.0F, 4.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(0, 79).addBox(-9.0F, -37.0F, 7.25F, 18.0F, 37.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 renderInteriorDoor(GlobalDoorBlockEntity doorBlockEntity, boolean open, boolean isBaseModel, PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) { - Door2.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - bone5.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - bone10.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - bb_main.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) { - - } - - @Override - public void setDoorPosition(boolean open) { - this.Door2.yRot = (open) ? (ModCompatChecker.immersivePortals() ? 1.75f : -1.75f) : 0; - } + private final ModelPart Door2; + private final ModelPart bone5; + private final ModelPart bone10; + private final ModelPart bb_main; + private final ModelPart root; + + public PhoneBoothDoorModel(ModelPart root) { + this.root = root; + this.Door2 = root.getChild("Door2"); + this.bone5 = root.getChild("bone5"); + this.bone10 = root.getChild("bone10"); + this.bb_main = root.getChild("bb_main"); + } + + public static LayerDefinition createBodyLayer() { + MeshDefinition meshdefinition = new MeshDefinition(); + PartDefinition partdefinition = meshdefinition.getRoot(); + + PartDefinition Door2 = partdefinition.addOrReplaceChild("Door2", CubeListBuilder.create().texOffs(0, 0).addBox(-14.0F, -15.25F, -0.5F, 14.0F, 34.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(40, 33).addBox(-14.0F, -17.25F, -1.5F, 14.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(40, 37).addBox(-13.0F, -3.75F, -1.3F, 3.0F, 5.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(18, 47).addBox(-13.1F, -3.25F, -3.0F, 1.0F, 4.0F, 3.0F, new CubeDeformation(0.0F)) + .texOffs(31, 0).addBox(-13.5F, -14.25F, -1.0F, 13.0F, 25.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(7.0F, 5.25F, 7.5F)); + + PartDefinition bone5 = partdefinition.addOrReplaceChild("bone5", CubeListBuilder.create().texOffs(0, 36).addBox(34.5F, -18.0F, 14.0F, 2.0F, 36.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(18, 36).addBox(34.5F, 9.75F, 13.95F, 2.0F, 8.0F, 2.0F, new CubeDeformation(0.25F)) + .texOffs(9, 47).addBox(34.5F, -18.75F, 13.95F, 2.0F, 5.0F, 2.0F, new CubeDeformation(0.25F)), PartPose.offset(-27.5F, 6.0F, -8.0F)); + + PartDefinition bone10 = partdefinition.addOrReplaceChild("bone10", CubeListBuilder.create().texOffs(31, 27).addBox(-36.5F, -18.0F, 14.0F, 2.0F, 36.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(9, 36).addBox(-36.5F, 9.75F, 13.95F, 2.0F, 8.0F, 2.0F, new CubeDeformation(0.25F)) + .texOffs(40, 45).addBox(-36.5F, -18.75F, 13.95F, 2.0F, 5.0F, 2.0F, new CubeDeformation(0.25F)), PartPose.offset(27.5F, 6.0F, -8.0F)); + + PartDefinition bb_main = partdefinition.addOrReplaceChild("bb_main", CubeListBuilder.create().texOffs(40, 27).addBox(-8.5F, -40.0F, 7.225F, 17.0F, 4.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(0, 79).addBox(-9.0F, -37.0F, 7.25F, 18.0F, 37.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 renderInteriorDoor(GlobalDoorBlockEntity doorBlockEntity, boolean open, boolean isBaseModel, PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) { + Door2.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + bone5.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + bone10.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + bb_main.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) { + + } + + @Override + public void setDoorPosition(boolean open) { + this.Door2.yRot = (open) ? (ModCompatChecker.immersivePortals() ? 1.75f : -1.75f) : 0; + } } \ No newline at end of file diff --git a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/PoliceBoxDoorModel.java b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/PoliceBoxDoorModel.java index a4c540c33..5d02bce9b 100644 --- a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/PoliceBoxDoorModel.java +++ b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/PoliceBoxDoorModel.java @@ -11,83 +11,83 @@ public class PoliceBoxDoorModel extends ShellDoorModel { - private final ModelPart left_door; - private final ModelPart root; - - public PoliceBoxDoorModel(ModelPart root) { - this.root = root; - this.left_door = (ModelPart) getAnyDescendantWithName("left_door").get(); - } - - public static LayerDefinition createBodyLayer() { - MeshDefinition meshdefinition = new MeshDefinition(); - PartDefinition partdefinition = meshdefinition.getRoot(); - - PartDefinition bone = partdefinition.addOrReplaceChild("bone", CubeListBuilder.create().texOffs(41, 11).addBox(-7.5F, -32.25F, -2.525F, 17.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(0, 35).addBox(-10.5F, -37.25F, -2.775F, 23.0F, 5.0F, 3.0F, new CubeDeformation(0.0F)) - .texOffs(41, 5).addBox(-8.5F, -36.25F, -3.775F, 19.0F, 4.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(19, 44).addBox(-10.5F, -33.0F, -2.775F, 2.0F, 33.0F, 3.0F, new CubeDeformation(0.0F)) - .texOffs(41, 0).addBox(-10.5F, 0.0F, -2.775F, 23.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)) - .texOffs(0, 0).addBox(-8.5F, -33.0F, -0.775F, 19.0F, 33.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(19, 44).mirror().addBox(10.5F, -33.0F, -2.775F, 2.0F, 33.0F, 3.0F, new CubeDeformation(0.0F)).mirror(false) - .texOffs(30, 44).addBox(9.5F, -33.0F, -2.525F, 1.0F, 33.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(30, 44).mirror().addBox(-8.5F, -33.0F, -2.525F, 1.0F, 33.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offset(-1.0F, 23.0F, 7.775F)); - - PartDefinition right_door = bone.addOrReplaceChild("right_door", CubeListBuilder.create().texOffs(44, 53).mirror().addBox(-7.0F, -8.0F, -0.5F, 6.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false) - .texOffs(37, 44).addBox(-9.0F, -31.25F, -1.025F, 1.0F, 31.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(53, 62).addBox(-9.0F, -1.0F, -1.025F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(44, 53).addBox(-7.0F, -15.5F, -0.5F, 6.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(41, 15).addBox(-7.0F, -23.0F, -2.475F, 6.0F, 7.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(0, 44).addBox(-8.0F, -31.25F, -0.475F, 8.0F, 31.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(56, 25).addBox(-8.0F, -1.0F, -0.475F, 8.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(53, 34).addBox(-7.0F, -30.75F, -0.5F, 6.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(44, 44).addBox(-7.0F, -8.0F, 0.025F, 6.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(44, 44).mirror().addBox(-7.0F, -15.5F, 0.025F, 6.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false) - .texOffs(44, 44).mirror().addBox(-7.0F, -23.0F, 0.025F, 6.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false) - .texOffs(59, 43).addBox(-6.5F, -22.5F, 0.05F, 5.0F, 6.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(56, 28).addBox(-6.0F, -28.25F, -0.525F, 4.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(9.5F, 0.0F, -1.5F)); - - PartDefinition bone4 = right_door.addOrReplaceChild("bone4", CubeListBuilder.create().texOffs(41, 25).addBox(-3.25F, -6.25F, 18.975F, 6.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(59, 51).addBox(-2.25F, -3.75F, 19.05F, 4.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(-3.75F, -24.5F, -19.0F)); - - PartDefinition left_door = bone.addOrReplaceChild("left_door", CubeListBuilder.create().texOffs(44, 53).addBox(1.0F, -8.0F, -0.5F, 6.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(44, 53).mirror().addBox(1.0F, -15.5F, -0.5F, 6.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false) - .texOffs(44, 53).mirror().addBox(1.0F, -23.25F, -0.5F, 6.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false) - .texOffs(44, 62).addBox(5.0F, -19.25F, -1.475F, 3.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(0, 44).mirror().addBox(0.0F, -31.25F, -0.475F, 8.0F, 31.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false) - .texOffs(56, 25).mirror().addBox(0.0F, -1.0F, -0.475F, 8.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false) - .texOffs(53, 34).mirror().addBox(1.0F, -30.75F, -0.5F, 6.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false) - .texOffs(44, 44).mirror().addBox(1.0F, -8.0F, 0.025F, 6.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false) - .texOffs(44, 44).addBox(1.0F, -15.5F, 0.025F, 6.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(44, 44).addBox(1.0F, -23.0F, 0.025F, 6.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(58, 15).addBox(1.5F, -22.5F, 0.05F, 5.0F, 6.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(59, 55).addBox(7.5F, -21.5F, -0.25F, 1.0F, 4.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(56, 28).mirror().addBox(2.0F, -28.25F, -0.525F, 4.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offset(-7.5F, 0.0F, -1.5F)); - - PartDefinition bone6 = left_door.addOrReplaceChild("bone6", CubeListBuilder.create().texOffs(41, 25).mirror().addBox(-2.75F, -6.25F, 18.975F, 6.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false) - .texOffs(59, 51).mirror().addBox(-1.75F, -3.75F, 19.05F, 4.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offset(3.75F, -24.5F, -19.0F)); - - return LayerDefinition.create(meshdefinition, 128, 128); - } - - @Override - public void renderInteriorDoor(GlobalDoorBlockEntity doorBlockEntity, boolean open, boolean isBaseModel, 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 this.root; - } - - @Override - public void setupAnim(Entity entity, float f, float g, float h, float i, float j) { - - } - - @Override - public void setDoorPosition(boolean open) { - this.left_door.yRot = (open) ? -300f : 0; - } + private final ModelPart left_door; + private final ModelPart root; + + public PoliceBoxDoorModel(ModelPart root) { + this.root = root; + this.left_door = (ModelPart) getAnyDescendantWithName("left_door").get(); + } + + public static LayerDefinition createBodyLayer() { + MeshDefinition meshdefinition = new MeshDefinition(); + PartDefinition partdefinition = meshdefinition.getRoot(); + + PartDefinition bone = partdefinition.addOrReplaceChild("bone", CubeListBuilder.create().texOffs(41, 11).addBox(-7.5F, -32.25F, -2.525F, 17.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(0, 35).addBox(-10.5F, -37.25F, -2.775F, 23.0F, 5.0F, 3.0F, new CubeDeformation(0.0F)) + .texOffs(41, 5).addBox(-8.5F, -36.25F, -3.775F, 19.0F, 4.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(19, 44).addBox(-10.5F, -33.0F, -2.775F, 2.0F, 33.0F, 3.0F, new CubeDeformation(0.0F)) + .texOffs(41, 0).addBox(-10.5F, 0.0F, -2.775F, 23.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)) + .texOffs(0, 0).addBox(-8.5F, -33.0F, -0.775F, 19.0F, 33.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(19, 44).mirror().addBox(10.5F, -33.0F, -2.775F, 2.0F, 33.0F, 3.0F, new CubeDeformation(0.0F)).mirror(false) + .texOffs(30, 44).addBox(9.5F, -33.0F, -2.525F, 1.0F, 33.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(30, 44).mirror().addBox(-8.5F, -33.0F, -2.525F, 1.0F, 33.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offset(-1.0F, 23.0F, 7.775F)); + + PartDefinition right_door = bone.addOrReplaceChild("right_door", CubeListBuilder.create().texOffs(44, 53).mirror().addBox(-7.0F, -8.0F, -0.5F, 6.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false) + .texOffs(37, 44).addBox(-9.0F, -31.25F, -1.025F, 1.0F, 31.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(53, 62).addBox(-9.0F, -1.0F, -1.025F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(44, 53).addBox(-7.0F, -15.5F, -0.5F, 6.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(41, 15).addBox(-7.0F, -23.0F, -2.475F, 6.0F, 7.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(0, 44).addBox(-8.0F, -31.25F, -0.475F, 8.0F, 31.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(56, 25).addBox(-8.0F, -1.0F, -0.475F, 8.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(53, 34).addBox(-7.0F, -30.75F, -0.5F, 6.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(44, 44).addBox(-7.0F, -8.0F, 0.025F, 6.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(44, 44).mirror().addBox(-7.0F, -15.5F, 0.025F, 6.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false) + .texOffs(44, 44).mirror().addBox(-7.0F, -23.0F, 0.025F, 6.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false) + .texOffs(59, 43).addBox(-6.5F, -22.5F, 0.05F, 5.0F, 6.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(56, 28).addBox(-6.0F, -28.25F, -0.525F, 4.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(9.5F, 0.0F, -1.5F)); + + PartDefinition bone4 = right_door.addOrReplaceChild("bone4", CubeListBuilder.create().texOffs(41, 25).addBox(-3.25F, -6.25F, 18.975F, 6.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(59, 51).addBox(-2.25F, -3.75F, 19.05F, 4.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(-3.75F, -24.5F, -19.0F)); + + PartDefinition left_door = bone.addOrReplaceChild("left_door", CubeListBuilder.create().texOffs(44, 53).addBox(1.0F, -8.0F, -0.5F, 6.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(44, 53).mirror().addBox(1.0F, -15.5F, -0.5F, 6.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false) + .texOffs(44, 53).mirror().addBox(1.0F, -23.25F, -0.5F, 6.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false) + .texOffs(44, 62).addBox(5.0F, -19.25F, -1.475F, 3.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(0, 44).mirror().addBox(0.0F, -31.25F, -0.475F, 8.0F, 31.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false) + .texOffs(56, 25).mirror().addBox(0.0F, -1.0F, -0.475F, 8.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false) + .texOffs(53, 34).mirror().addBox(1.0F, -30.75F, -0.5F, 6.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false) + .texOffs(44, 44).mirror().addBox(1.0F, -8.0F, 0.025F, 6.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false) + .texOffs(44, 44).addBox(1.0F, -15.5F, 0.025F, 6.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(44, 44).addBox(1.0F, -23.0F, 0.025F, 6.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(58, 15).addBox(1.5F, -22.5F, 0.05F, 5.0F, 6.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(59, 55).addBox(7.5F, -21.5F, -0.25F, 1.0F, 4.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(56, 28).mirror().addBox(2.0F, -28.25F, -0.525F, 4.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offset(-7.5F, 0.0F, -1.5F)); + + PartDefinition bone6 = left_door.addOrReplaceChild("bone6", CubeListBuilder.create().texOffs(41, 25).mirror().addBox(-2.75F, -6.25F, 18.975F, 6.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false) + .texOffs(59, 51).mirror().addBox(-1.75F, -3.75F, 19.05F, 4.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offset(3.75F, -24.5F, -19.0F)); + + return LayerDefinition.create(meshdefinition, 128, 128); + } + + @Override + public void renderInteriorDoor(GlobalDoorBlockEntity doorBlockEntity, boolean open, boolean isBaseModel, 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 this.root; + } + + @Override + public void setupAnim(Entity entity, float f, float g, float h, float i, float j) { + + } + + @Override + public void setDoorPosition(boolean open) { + this.left_door.yRot = (open) ? -300f : 0; + } } \ No newline at end of file diff --git a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/PortalooDoorModel.java b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/PortalooDoorModel.java index b01395145..59a453886 100644 --- a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/PortalooDoorModel.java +++ b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/PortalooDoorModel.java @@ -12,56 +12,55 @@ public class PortalooDoorModel extends ShellDoorModel { - private final ModelPart bone; - private final ModelPart Door; - private final ModelPart root; + private final ModelPart bone; + private final ModelPart Door; + private final ModelPart root; - public PortalooDoorModel(ModelPart root) { - this.root = root; - this.bone = root.getChild("bone"); - this.Door = root.getChild("Door"); - } + public PortalooDoorModel(ModelPart root) { + this.root = root; + this.bone = root.getChild("bone"); + this.Door = root.getChild("Door"); + } - public static LayerDefinition createBodyLayer() { - MeshDefinition meshdefinition = new MeshDefinition(); - PartDefinition partdefinition = meshdefinition.getRoot(); + public static LayerDefinition createBodyLayer() { + MeshDefinition meshdefinition = new MeshDefinition(); + PartDefinition partdefinition = meshdefinition.getRoot(); - PartDefinition bone = partdefinition.addOrReplaceChild("bone", CubeListBuilder.create(), PartPose.offset(0.0F, 26.0F, 5.75F)); + PartDefinition bone = partdefinition.addOrReplaceChild("bone", CubeListBuilder.create(), PartPose.offset(0.0F, 26.0F, 5.75F)); - PartDefinition bone4 = bone.addOrReplaceChild("bone4", CubeListBuilder.create().texOffs(31, 42).addBox(8.0F, -35.0F, 0.0F, 3.0F, 33.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(31, 42).mirror().addBox(-11.0F, -35.0F, 0.0F, 3.0F, 33.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false) - .texOffs(0, 0).addBox(-11.0F, -37.0F, 1.25F, 22.0F, 35.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(31, 37).addBox(-11.0F, -37.0F, 0.0F, 22.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.0F, 0.0F)); + PartDefinition bone4 = bone.addOrReplaceChild("bone4", CubeListBuilder.create().texOffs(31, 42).addBox(8.0F, -35.0F, 0.0F, 3.0F, 33.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(31, 42).mirror().addBox(-11.0F, -35.0F, 0.0F, 3.0F, 33.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false) + .texOffs(0, 0).addBox(-11.0F, -37.0F, 1.25F, 22.0F, 35.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(31, 37).addBox(-11.0F, -37.0F, 0.0F, 22.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.0F, 0.0F)); - PartDefinition bone2 = bone.addOrReplaceChild("bone2", CubeListBuilder.create().texOffs(47, 0).addBox(-7.0F, -35.0F, 0.0F, 14.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(42, 42).addBox(7.0F, -35.0F, 0.0F, 1.0F, 33.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(42, 42).mirror().addBox(-8.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 bone2 = bone.addOrReplaceChild("bone2", CubeListBuilder.create().texOffs(47, 0).addBox(-7.0F, -35.0F, 0.0F, 14.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(42, 42).addBox(7.0F, -35.0F, 0.0F, 1.0F, 33.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(42, 42).mirror().addBox(-8.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 Door = partdefinition.addOrReplaceChild("Door", CubeListBuilder.create().texOffs(0, 37).addBox(-14.0F, -9.5F, -1.0F, 14.0F, 31.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(47, 4).addBox(-13.0F, -10.5F, -1.0F, 12.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(47, 7).addBox(-13.0F, 2.0F, -2.75F, 2.0F, 4.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(7.0F, 2.5F, 6.75F)); + PartDefinition Door = partdefinition.addOrReplaceChild("Door", CubeListBuilder.create().texOffs(0, 37).addBox(-14.0F, -9.5F, -1.0F, 14.0F, 31.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(47, 4).addBox(-13.0F, -10.5F, -1.0F, 12.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(47, 7).addBox(-13.0F, 2.0F, -2.75F, 2.0F, 4.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(7.0F, 2.5F, 6.75F)); - ShellModel.addMaterializationPart(partdefinition); + ShellModel.addMaterializationPart(partdefinition); - return LayerDefinition.create(meshdefinition, 128, 128); - } + return LayerDefinition.create(meshdefinition, 128, 128); + } + @Override + public void renderInteriorDoor(GlobalDoorBlockEntity doorBlockEntity, boolean open, boolean isBaseModel, 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); + Door.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + } - @Override - public void renderInteriorDoor(GlobalDoorBlockEntity doorBlockEntity, boolean open, boolean isBaseModel, 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); - Door.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - } + @Override + public ModelPart root() { + return root; + } - @Override - public ModelPart root() { - return root; - } - - @Override - public void setDoorPosition(boolean open) { - this.Door.yRot = (open) ? (ModCompatChecker.immersivePortals() ? 1.75f : -1.75f) : 0; - } + @Override + public void setDoorPosition(boolean open) { + this.Door.yRot = (open) ? (ModCompatChecker.immersivePortals() ? 1.75f : -1.75f) : 0; + } } \ No newline at end of file diff --git a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/PresentDoorModel.java b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/PresentDoorModel.java index bc54d30d3..6f45de951 100644 --- a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/PresentDoorModel.java +++ b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/PresentDoorModel.java @@ -11,57 +11,57 @@ public class PresentDoorModel extends ShellDoorModel { - private final ModelPart root; - private final ModelPart bone2; - private final ModelPart door; - private final ModelPart bb_main; + private final ModelPart root; + private final ModelPart bone2; + private final ModelPart door; + private final ModelPart bb_main; - public PresentDoorModel(ModelPart root) { - this.root = root; - this.bone2 = root.getChild("bone2"); - this.door = root.getChild("door"); - this.bb_main = root.getChild("bb_main"); - } + public PresentDoorModel(ModelPart root) { + this.root = root; + this.bone2 = root.getChild("bone2"); + this.door = root.getChild("door"); + this.bb_main = root.getChild("bb_main"); + } - public static LayerDefinition createBodyLayer() { - MeshDefinition meshdefinition = new MeshDefinition(); - PartDefinition partdefinition = meshdefinition.getRoot(); + public static LayerDefinition createBodyLayer() { + MeshDefinition meshdefinition = new MeshDefinition(); + PartDefinition partdefinition = meshdefinition.getRoot(); - PartDefinition bone2 = partdefinition.addOrReplaceChild("bone2", CubeListBuilder.create(), PartPose.offset(0.0F, -17.0F, 12.0F)); + PartDefinition bone2 = partdefinition.addOrReplaceChild("bone2", CubeListBuilder.create(), PartPose.offset(0.0F, -17.0F, 12.0F)); - PartDefinition cube_r1 = bone2.addOrReplaceChild("cube_r1", CubeListBuilder.create().texOffs(39, 0).mirror().addBox(-8.0F, 0.0F, -4.025F, 10.0F, 6.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(-1.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.5672F)); + PartDefinition cube_r1 = bone2.addOrReplaceChild("cube_r1", CubeListBuilder.create().texOffs(39, 0).mirror().addBox(-8.0F, 0.0F, -4.025F, 10.0F, 6.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(-1.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.5672F)); - PartDefinition cube_r2 = bone2.addOrReplaceChild("cube_r2", CubeListBuilder.create().texOffs(39, 0).addBox(-2.0F, 0.0F, -4.025F, 10.0F, 6.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(1.0F, 0.0F, 0.0F, 0.0F, 0.0F, -0.5672F)); + PartDefinition cube_r2 = bone2.addOrReplaceChild("cube_r2", CubeListBuilder.create().texOffs(39, 0).addBox(-2.0F, 0.0F, -4.025F, 10.0F, 6.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(1.0F, 0.0F, 0.0F, 0.0F, 0.0F, -0.5672F)); - PartDefinition door = partdefinition.addOrReplaceChild("door", CubeListBuilder.create().texOffs(0, 37).addBox(-8.0F, -35.0F, 0.0F, 16.0F, 35.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 24.0F, 8.0F)); + PartDefinition door = partdefinition.addOrReplaceChild("door", CubeListBuilder.create().texOffs(0, 37).addBox(-8.0F, -35.0F, 0.0F, 16.0F, 35.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 24.0F, 8.0F)); - PartDefinition bb_main = partdefinition.addOrReplaceChild("bb_main", CubeListBuilder.create().texOffs(35, 45).addBox(-9.0F, -35.0F, 7.0F, 1.0F, 35.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(36, 35).addBox(-10.0F, -39.0F, 6.0F, 20.0F, 6.0F, 3.0F, new CubeDeformation(0.0F)) - .texOffs(0, 0).addBox(-9.0F, -35.0F, 8.025F, 18.0F, 35.0F, 1.0F, new CubeDeformation(0.0F)) - .texOffs(35, 45).mirror().addBox(8.0F, -35.0F, 7.0F, 1.0F, 35.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false) - .texOffs(42, 45).addBox(-9.0F, -36.0F, 7.0F, 18.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 24.0F, 0.0F)); - return LayerDefinition.create(meshdefinition, 128, 128); - } + PartDefinition bb_main = partdefinition.addOrReplaceChild("bb_main", CubeListBuilder.create().texOffs(35, 45).addBox(-9.0F, -35.0F, 7.0F, 1.0F, 35.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(36, 35).addBox(-10.0F, -39.0F, 6.0F, 20.0F, 6.0F, 3.0F, new CubeDeformation(0.0F)) + .texOffs(0, 0).addBox(-9.0F, -35.0F, 8.025F, 18.0F, 35.0F, 1.0F, new CubeDeformation(0.0F)) + .texOffs(35, 45).mirror().addBox(8.0F, -35.0F, 7.0F, 1.0F, 35.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false) + .texOffs(42, 45).addBox(-9.0F, -36.0F, 7.0F, 18.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 24.0F, 0.0F)); + return LayerDefinition.create(meshdefinition, 128, 128); + } - @Override - public void renderInteriorDoor(GlobalDoorBlockEntity doorBlockEntity, boolean open, boolean isBaseModel, PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) { - bone2.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - door.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - bb_main.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - } + @Override + public void renderInteriorDoor(GlobalDoorBlockEntity doorBlockEntity, boolean open, boolean isBaseModel, PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) { + bone2.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + door.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + bb_main.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + } - @Override - public ModelPart root() { - return root; - } + @Override + public ModelPart root() { + return root; + } - @Override - public void setDoorPosition(boolean open) { - this.door.xRot = (open) ? (ModCompatChecker.immersivePortals() ? -1.5f : 1.5F) : 0; - } + @Override + public void setDoorPosition(boolean open) { + this.door.xRot = (open) ? (ModCompatChecker.immersivePortals() ? -1.5f : 1.5F) : 0; + } - @Override - public void setupAnim(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) { + @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/life/ArsEggModel.java b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/life/ArsEggModel.java index 75351df95..6513218bb 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 @@ -18,82 +18,80 @@ public class ArsEggModel extends HierarchicalModel { - private final ModelPart Lamp; - private final ModelPart root; - - public static final AnimationDefinition SWINGING = AnimationDefinition.Builder.withLength(8.0F).looping() - .addAnimation("Lamp", new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0.0F, KeyframeAnimations.degreeVec(0.0F, 0.0F, -2.5F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.0F, KeyframeAnimations.degreeVec(0.0F, 5.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.0F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 2.5F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.0F, KeyframeAnimations.degreeVec(0.0F, -5.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8.0F, KeyframeAnimations.degreeVec(0.0F, 0.0F, -2.5F), AnimationChannel.Interpolations.CATMULLROM) - )) - .build(); - - public static final AnimationDefinition CRASHING = AnimationDefinition.Builder.withLength(7.875F).looping() - .addAnimation("Lamp", new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0.0F, KeyframeAnimations.degreeVec(0.0F, -6.7F, -0.79F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.5F, KeyframeAnimations.degreeVec(0.4217F, 22.6276F, 2.087F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.0F, KeyframeAnimations.degreeVec(-0.106F, -0.9725F, -7.5631F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4.5F, KeyframeAnimations.degreeVec(-3.3138F, -8.9145F, 9.1782F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.0F, KeyframeAnimations.degreeVec(-0.102F, -10.1874F, 1.7066F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7.5F, KeyframeAnimations.degreeVec(0.0F, -6.7F, -0.79F), AnimationChannel.Interpolations.CATMULLROM) - )) - .build(); - private final ModelPart clamp; - - - public ArsEggModel(ModelPart root) { - this.Lamp = root.getChild("Lamp"); - this.clamp = Lamp.getChild("clamp"); - this.root = root; - } - - public static LayerDefinition createBodyLayer() { - MeshDefinition meshdefinition = new MeshDefinition(); - PartDefinition partdefinition = meshdefinition.getRoot(); - - PartDefinition Lamp = partdefinition.addOrReplaceChild("Lamp", CubeListBuilder.create(), PartPose.offset(0.0F, 11.0F, 0.0F)); - - PartDefinition clamp = Lamp.addOrReplaceChild("clamp", CubeListBuilder.create().texOffs(18, 20).addBox(-4.0F, -10.0F, -1.0F, 8.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) - .texOffs(0, 17).addBox(-3.0F, -11.0F, -3.0F, 6.0F, 2.0F, 6.0F, new CubeDeformation(0.0F)) - .texOffs(20, 23).addBox(-2.0F, -13.0F, -2.0F, 4.0F, 2.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 13.0F, 0.0F)); - - PartDefinition cube_r1 = clamp.addOrReplaceChild("cube_r1", CubeListBuilder.create().texOffs(18, 17).addBox(-4.0F, -10.0F, -1.0F, 8.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, 1.5708F, 0.0F)); - - PartDefinition bulb = Lamp.addOrReplaceChild("bulb", CubeListBuilder.create().texOffs(0, 0).addBox(-4.0F, -9.0F, -4.0F, 8.0F, 9.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 13.0F, 0.0F)); - - return LayerDefinition.create(meshdefinition, 64, 64); - } - - public void renderToBuffer(ArsEggBlockEntity arsEggBlockEntity, PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) { - BlockState blockState = arsEggBlockEntity.getBlockState(); - - if (blockState.hasProperty(ArsEggBlock.ALIVE)) { - clamp.visible = blockState.getValue(ArsEggBlock.ALIVE); - } - - Lamp.render(poseStack, vertexConsumer, 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) { - Lamp.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - } - - @Override - public ModelPart root() { - return this.root; - } - - @Override - public void setupAnim(Entity entity, float f, float g, float h, float i, float j) { - - } - - public void doAnimation(AnimationState liveliness, AnimationDefinition animationDefinition, int animationCounter) { - this.animate(liveliness, animationDefinition, animationCounter); - } + public static final AnimationDefinition SWINGING = AnimationDefinition.Builder.withLength(8.0F).looping() + .addAnimation("Lamp", new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0.0F, KeyframeAnimations.degreeVec(0.0F, 0.0F, -2.5F), AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.0F, KeyframeAnimations.degreeVec(0.0F, 5.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.0F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 2.5F), AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.0F, KeyframeAnimations.degreeVec(0.0F, -5.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8.0F, KeyframeAnimations.degreeVec(0.0F, 0.0F, -2.5F), AnimationChannel.Interpolations.CATMULLROM) + )) + .build(); + public static final AnimationDefinition CRASHING = AnimationDefinition.Builder.withLength(7.875F).looping() + .addAnimation("Lamp", new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0.0F, KeyframeAnimations.degreeVec(0.0F, -6.7F, -0.79F), AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.5F, KeyframeAnimations.degreeVec(0.4217F, 22.6276F, 2.087F), AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.0F, KeyframeAnimations.degreeVec(-0.106F, -0.9725F, -7.5631F), AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4.5F, KeyframeAnimations.degreeVec(-3.3138F, -8.9145F, 9.1782F), AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.0F, KeyframeAnimations.degreeVec(-0.102F, -10.1874F, 1.7066F), AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7.5F, KeyframeAnimations.degreeVec(0.0F, -6.7F, -0.79F), AnimationChannel.Interpolations.CATMULLROM) + )) + .build(); + private final ModelPart Lamp; + private final ModelPart root; + private final ModelPart clamp; + + + public ArsEggModel(ModelPart root) { + this.Lamp = root.getChild("Lamp"); + this.clamp = Lamp.getChild("clamp"); + this.root = root; + } + + public static LayerDefinition createBodyLayer() { + MeshDefinition meshdefinition = new MeshDefinition(); + PartDefinition partdefinition = meshdefinition.getRoot(); + + PartDefinition Lamp = partdefinition.addOrReplaceChild("Lamp", CubeListBuilder.create(), PartPose.offset(0.0F, 11.0F, 0.0F)); + + PartDefinition clamp = Lamp.addOrReplaceChild("clamp", CubeListBuilder.create().texOffs(18, 20).addBox(-4.0F, -10.0F, -1.0F, 8.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)) + .texOffs(0, 17).addBox(-3.0F, -11.0F, -3.0F, 6.0F, 2.0F, 6.0F, new CubeDeformation(0.0F)) + .texOffs(20, 23).addBox(-2.0F, -13.0F, -2.0F, 4.0F, 2.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 13.0F, 0.0F)); + + PartDefinition cube_r1 = clamp.addOrReplaceChild("cube_r1", CubeListBuilder.create().texOffs(18, 17).addBox(-4.0F, -10.0F, -1.0F, 8.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, 1.5708F, 0.0F)); + + PartDefinition bulb = Lamp.addOrReplaceChild("bulb", CubeListBuilder.create().texOffs(0, 0).addBox(-4.0F, -9.0F, -4.0F, 8.0F, 9.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 13.0F, 0.0F)); + + return LayerDefinition.create(meshdefinition, 64, 64); + } + + public void renderToBuffer(ArsEggBlockEntity arsEggBlockEntity, PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) { + BlockState blockState = arsEggBlockEntity.getBlockState(); + + if (blockState.hasProperty(ArsEggBlock.ALIVE)) { + clamp.visible = blockState.getValue(ArsEggBlock.ALIVE); + } + + Lamp.render(poseStack, vertexConsumer, 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) { + Lamp.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + } + + @Override + public ModelPart root() { + return this.root; + } + + @Override + public void setupAnim(Entity entity, float f, float g, float h, float i, float j) { + + } + + public void doAnimation(AnimationState liveliness, AnimationDefinition animationDefinition, int animationCounter) { + this.animate(liveliness, animationDefinition, animationCounter); + } } \ 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 3e8464860..2c8f714bd 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 @@ -18,11 +18,72 @@ public abstract class ShellModel extends HierarchicalModel { + public static final AnimationDefinition MODEL_TAKEOFF = AnimationDefinition.Builder.withLength(12f) + .addAnimation("fade_value", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0f, KeyframeAnimations.posVec(0f, 9.5f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1f, KeyframeAnimations.posVec(0f, 9.5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.125f, KeyframeAnimations.posVec(0f, 5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3f, KeyframeAnimations.posVec(0f, 10f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4f, KeyframeAnimations.posVec(0f, 3f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5f, KeyframeAnimations.posVec(0f, 6f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5.791677f, KeyframeAnimations.posVec(0f, 3f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6.916767f, KeyframeAnimations.posVec(0f, 5f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8f, KeyframeAnimations.posVec(0f, 2f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(9.167666f, KeyframeAnimations.posVec(0f, 4f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(12f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM))).build(); + ModelPart fade_value; + float initAlpha = 0; + float ANIMATION_SPEED = 1.1f; + boolean ignoreAnmationAlpha = false; + AnimationDefinition MODEL_LAND = AnimationDefinition.Builder.withLength(11f) + .addAnimation("fade_value", + new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1f, KeyframeAnimations.posVec(0f, 1f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3f, KeyframeAnimations.posVec(0f, 2f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(4f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(5f, KeyframeAnimations.posVec(0f, 4f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(6f, KeyframeAnimations.posVec(0f, 0f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(7f, KeyframeAnimations.posVec(0f, 6f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(8f, KeyframeAnimations.posVec(0f, 2f, 0f), + AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(9.5F, KeyframeAnimations.posVec(0f, 10f, 0f), + AnimationChannel.Interpolations.LINEAR))).build(); + private float currentAlpha = 0; + public ShellModel(ModelPart root) { + this.fade_value = root.getChild("fade_value"); + this.initAlpha = this.fade_value.y; + } + + public static void addMaterializationPart(PartDefinition partDefinition) { + partDefinition.addOrReplaceChild("fade_value", CubeListBuilder.create().texOffs(128, 128), PartPose.offset(-24.0F, 24.0F, 0.0F)); + } + public abstract void setDoorPosition(boolean open); public abstract void renderShell(GlobalShellBlockEntity entity, boolean open, boolean isBaseModel, PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha); - public ResourceLocation getShellTexture(ShellPattern pattern, boolean isEmmissive) { return texture(pattern, isEmmissive); } @@ -36,14 +97,12 @@ private ResourceLocation texture(ShellPattern pattern, boolean isEmmissive) { return isEmmissive ? pattern.exteriorDoorTexture().emissiveTexture() : pattern.exteriorDoorTexture().texture(); } - ModelPart fade_value; - - float initAlpha = 0; - float ANIMATION_SPEED = 1.1f; + public boolean isIgnoreAnmationAlpha() { + return ignoreAnmationAlpha; + } - public ShellModel(ModelPart root) { - this.fade_value = root.getChild("fade_value"); - this.initAlpha = this.fade_value.y; + public void setIgnoreAnmationAlpha(boolean ignoreAnmationAlpha) { + this.ignoreAnmationAlpha = ignoreAnmationAlpha; } public float initAlpha() { @@ -54,8 +113,6 @@ public ModelPart fadeValue() { return fade_value; } - private float currentAlpha = 0; - public float getCurrentAlpha() { return currentAlpha; } @@ -80,65 +137,11 @@ public void handleAllAnimations(GlobalShellBlockEntity entity, ModelPart root, b currentAlpha = (reactions.isFlying()) ? (this.initAlpha() - this.fadeValue().y) * 0.1f : baseAlpha; handleSpecialAnimation(entity, poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, baseAlpha); - this.root().render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, reactions.isFlying() ? this.getCurrentAlpha() : baseAlpha); - } - - public void handleSpecialAnimation(GlobalShellBlockEntity entity, PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float baseAlpha) { + this.root().render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, reactions.isFlying() && !ignoreAnmationAlpha ? this.getCurrentAlpha() : baseAlpha); } + public void handleSpecialAnimation(GlobalShellBlockEntity entity, PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float baseAlpha) { - public static void addMaterializationPart(PartDefinition partDefinition) { - partDefinition.addOrReplaceChild("fade_value", CubeListBuilder.create().texOffs(128, 128), PartPose.offset(-24.0F, 24.0F, 0.0F)); } - - AnimationDefinition MODEL_LAND = AnimationDefinition.Builder.withLength(11f) - .addAnimation("fade_value", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1f, KeyframeAnimations.posVec(0f, 1f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3f, KeyframeAnimations.posVec(0f, 2f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5f, KeyframeAnimations.posVec(0f, 4f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(7f, KeyframeAnimations.posVec(0f, 6f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8f, KeyframeAnimations.posVec(0f, 2f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(9.5F, KeyframeAnimations.posVec(0f, 10f, 0f), - AnimationChannel.Interpolations.LINEAR))).build(); - - public static final AnimationDefinition MODEL_TAKEOFF = AnimationDefinition.Builder.withLength(12f) - .addAnimation("fade_value", - new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0f, KeyframeAnimations.posVec(0f, 9.5f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1f, KeyframeAnimations.posVec(0f, 9.5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.125f, KeyframeAnimations.posVec(0f, 5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3f, KeyframeAnimations.posVec(0f, 10f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(4f, KeyframeAnimations.posVec(0f, 3f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5f, KeyframeAnimations.posVec(0f, 6f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(5.791677f, KeyframeAnimations.posVec(0f, 3f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(6.916767f, KeyframeAnimations.posVec(0f, 5f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(8f, KeyframeAnimations.posVec(0f, 2f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(9.167666f, KeyframeAnimations.posVec(0f, 4f, 0f), - AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(12f, KeyframeAnimations.posVec(0f, 0f, 0f), - AnimationChannel.Interpolations.CATMULLROM))).build(); } 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 91aa24564..fd9174e0f 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 @@ -4,7 +4,6 @@ import net.minecraft.client.model.geom.EntityModelSet; import net.minecraft.resources.ResourceLocation; import whocraft.tardis_refined.api.event.TardisClientEvents; -import whocraft.tardis_refined.api.event.TardisCommonEvents; import whocraft.tardis_refined.client.ModelRegistry; import whocraft.tardis_refined.client.model.blockentity.door.interior.*; import whocraft.tardis_refined.client.model.blockentity.shell.shells.*; @@ -15,21 +14,36 @@ public class ShellModelCollection { + public static Map SHELL_MODELS = new HashMap<>(); private static ShellModel 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, groeningDoorModel, bigBenDoorModel, nukaDoorModel, growthDoorModel, portalooDoorModel, pagodaDoorModel, liftDoorModel, hieroglyphDoorModel, castleDoorModel, pathfinderDoorModel, halfBakedDoorModel; - - public static Map SHELL_MODELS = new HashMap<>(); + private static ShellModelCollection instance = null; public ShellModelCollection() { var context = Minecraft.getInstance().getEntityModels(); this.registerModels(context); } - public void registerModels(EntityModelSet context){ + public static void registerShellEntry(ShellTheme theme, ShellModel shellModel, ShellDoorModel shellDoorModel) { + SHELL_MODELS.put(ShellTheme.getKey(theme), new ShellEntry(shellModel, shellDoorModel)); + } + + public static void registerShellEntry(ShellTheme theme, ShellEntry shellEntry) { + SHELL_MODELS.put(ShellTheme.getKey(theme), shellEntry); + } + + public static ShellModelCollection getInstance() { + if (ShellModelCollection.instance == null) { + ShellModelCollection.instance = new ShellModelCollection(); + } + + return instance; + } + + public void registerModels(EntityModelSet context) { // Shells factoryShellModel = new FactoryShellModel(context.bakeLayer((ModelRegistry.FACTORY_SHELL))); @@ -96,31 +110,14 @@ public void registerModels(EntityModelSet context){ registerShellEntry(ShellTheme.HALF_BAKED.get(), halfBakedShellModel, halfBakedDoorModel); } - public static void registerShellEntry(ShellTheme theme, ShellModel shellModel, ShellDoorModel shellDoorModel){ - SHELL_MODELS.put(ShellTheme.getKey(theme), new ShellEntry(shellModel, shellDoorModel)); - } - - public static void registerShellEntry(ShellTheme theme, ShellEntry shellEntry){ - SHELL_MODELS.put(ShellTheme.getKey(theme), shellEntry); - } - /** * Get the associated shell model from a shell theme. + * * @param themeId The Shell theme Id. * @return Shell model tied with the shell theme. - * **/ + **/ public ShellEntry getShellEntry(ResourceLocation themeId) { return SHELL_MODELS.get(themeId); } - private static ShellModelCollection instance = null; - - public static ShellModelCollection getInstance() { - if (ShellModelCollection.instance == null) { - ShellModelCollection.instance = new ShellModelCollection(); - } - - return instance; - } - } 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 85b0b08d4..15ab7795f 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 @@ -11,38 +11,38 @@ public class RootShellDoorModel extends HierarchicalModel { - private final ModelPart root; - private final ModelPart stage7; + private final ModelPart root; + private final ModelPart stage7; - public RootShellDoorModel(ModelPart root) { + public RootShellDoorModel(ModelPart root) { - this.root = root; - this.stage7 = root.getChild("stage7"); - } + this.root = root; + this.stage7 = root.getChild("stage7"); + } - public static LayerDefinition createBodyLayer() { - MeshDefinition meshdefinition = new MeshDefinition(); - PartDefinition partdefinition = meshdefinition.getRoot(); + 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)); + 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); - } + 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); - } + @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); + } - @Override - public ModelPart root() { - return this.root; - } + @Override + public ModelPart root() { + return this.root; + } - @Override - public void setupAnim(Entity entity, float f, float g, float h, float i, float j) { + @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/RootPlantStateFiveModel.java b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/rootplant/RootPlantStateFiveModel.java index 0d7ecf4da..3cff99db7 100644 --- 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 @@ -11,101 +11,101 @@ public class RootPlantStateFiveModel extends HierarchicalModel { - private final ModelPart stage5; + private final ModelPart stage5; - public RootPlantStateFiveModel(ModelPart root) { - this.stage5 = root.getChild("stage5"); - } + public RootPlantStateFiveModel(ModelPart root) { + this.stage5 = root.getChild("stage5"); + } - public static LayerDefinition createBodyLayer() { - MeshDefinition meshdefinition = new MeshDefinition(); - PartDefinition partdefinition = meshdefinition.getRoot(); + 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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)); + 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); - } + 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 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 ModelPart root() { + return stage5; + } - @Override - public void setupAnim(Entity entity, float f, float g, float h, float i, float j) { + @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 index e68d9cdce..83236dfdb 100644 --- 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 @@ -13,67 +13,67 @@ public class RootPlantStateFourModel extends HierarchicalModel { - private final ModelPart stage4; + private final ModelPart stage4; - public RootPlantStateFourModel(ModelPart root) { - this.stage4 = root.getChild("stage4"); - } + public RootPlantStateFourModel(ModelPart root) { + this.stage4 = root.getChild("stage4"); + } - public static LayerDefinition createBodyLayer() { - MeshDefinition meshdefinition = new MeshDefinition(); - PartDefinition partdefinition = meshdefinition.getRoot(); + 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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)); + 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); - } + 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 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 ModelPart root() { + return stage4; + } - @Override - public void setupAnim(Entity entity, float f, float g, float h, float i, float j) { + @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 index 36e2d3ca3..f51ab440e 100644 --- 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 @@ -13,50 +13,50 @@ public class RootPlantStateOneModel extends HierarchicalModel { - private final ModelPart root; + private final ModelPart root; - public RootPlantStateOneModel(ModelPart root) { - this.root = root.getChild("stage1"); - } + public RootPlantStateOneModel(ModelPart root) { + this.root = root.getChild("stage1"); + } - public static LayerDefinition createBodyLayer() { - MeshDefinition meshdefinition = new MeshDefinition(); - PartDefinition partdefinition = meshdefinition.getRoot(); + 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 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 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 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 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 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 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 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 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)); + 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); - } + 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 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 ModelPart root() { + return root; + } - @Override - public void setupAnim(Entity entity, float f, float g, float h, float i, float j) { + @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 index 089ea4e20..9a31d3554 100644 --- 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 @@ -13,71 +13,71 @@ public class RootPlantStateThreeModel extends HierarchicalModel { - private final ModelPart stage3; + private final ModelPart stage3; - public RootPlantStateThreeModel(ModelPart root) { - this.stage3 = root.getChild("stage3"); - } + public RootPlantStateThreeModel(ModelPart root) { + this.stage3 = root.getChild("stage3"); + } - public static LayerDefinition createBodyLayer() { - MeshDefinition meshdefinition = new MeshDefinition(); - PartDefinition partdefinition = meshdefinition.getRoot(); + 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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)); + 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); - } + 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 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 ModelPart root() { + return stage3; + } - @Override - public void setupAnim(Entity entity, float f, float g, float h, float i, float j) { + @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 index 31ad5b266..346e65c35 100644 --- 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 @@ -10,71 +10,71 @@ public class RootPlantStateTwoModel extends HierarchicalModel { - private final ModelPart stage2; + private final ModelPart stage2; - public RootPlantStateTwoModel(ModelPart root) { + public RootPlantStateTwoModel(ModelPart root) { - this.stage2 = root.getChild("stage2"); - } + this.stage2 = root.getChild("stage2"); + } - public static LayerDefinition createBodyLayer() { - MeshDefinition meshdefinition = new MeshDefinition(); - PartDefinition partdefinition = meshdefinition.getRoot(); + 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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)); + 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); - } + return LayerDefinition.create(meshdefinition, 64, 64); + } - @Override - public ModelPart root() { - return stage2; - } + @Override + public ModelPart root() { + return stage2; + } - @Override - public void setupAnim(Entity entity, float f, float g, float h, float i, float j) { + @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 index 32d8a734e..420284297 100644 --- 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 @@ -9,115 +9,115 @@ import net.minecraft.client.model.geom.builders.*; import net.minecraft.world.entity.Entity; -public class RootShellModel extends HierarchicalModel { +public class RootShellModel extends HierarchicalModel { - private final ModelPart stage6; + private final ModelPart stage6; - public RootShellModel(ModelPart root) { - this.stage6 = root.getChild("stage6"); - } + public RootShellModel(ModelPart root) { + this.stage6 = root.getChild("stage6"); + } - public static LayerDefinition createBodyLayer() { - MeshDefinition meshdefinition = new MeshDefinition(); - PartDefinition partdefinition = meshdefinition.getRoot(); + 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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)); + 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); - } + return LayerDefinition.create(meshdefinition, 128, 128); + } - @Override - public ModelPart root() { - return stage6; - } + @Override + public ModelPart root() { + return stage6; + } - @Override - public void setupAnim(Entity entity, float f, float g, float h, float i, float j) { + @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 26e5baea3..6c0cbefc0 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 @@ -12,288 +12,287 @@ import java.util.Calendar; public class BigBenShellModel extends ShellModel { - private final ModelPart root; - private final ModelPart door; - private final ModelPart sides; - private final ModelPart bone9; - private final ModelPart bone24; - private final ModelPart bone4; - private final ModelPart bone5; - private final ModelPart bone28; - private final ModelPart bone15; - private final ModelPart bone19; - private final ModelPart bone27; - private final ModelPart N_big_hand; - private final ModelPart N_small_hand; - private final ModelPart S_big_hand; - private final ModelPart S_small_hand; - private final ModelPart W_small_hand; - private final ModelPart W_big_hand; - private final ModelPart E_big_hand; - private final ModelPart E_small_hand; - private final ModelPart bb_main; + private final ModelPart root; + private final ModelPart door; + private final ModelPart sides; + private final ModelPart bone9; + private final ModelPart bone24; + private final ModelPart bone4; + private final ModelPart bone5; + private final ModelPart bone28; + private final ModelPart bone15; + private final ModelPart bone19; + private final ModelPart bone27; + private final ModelPart N_big_hand; + private final ModelPart N_small_hand; + private final ModelPart S_big_hand; + private final ModelPart S_small_hand; + private final ModelPart W_small_hand; + private final ModelPart W_big_hand; + private final ModelPart E_big_hand; + private final ModelPart E_small_hand; + private final ModelPart bb_main; - @Override - public void setDoorPosition(boolean open) { - this.door.yRot = (open) ? -275f : 0; + public BigBenShellModel(ModelPart root) { + super(root); + this.root = root; + this.door = root.getChild("door"); + this.sides = root.getChild("sides"); + this.bone9 = root.getChild("bone9"); + this.bone24 = root.getChild("bone24"); + this.bone4 = root.getChild("bone4"); + this.bone5 = root.getChild("bone5"); + this.bone28 = root.getChild("bone28"); + this.bone15 = root.getChild("bone15"); + this.bone19 = root.getChild("bone19"); + this.bone27 = root.getChild("bone27"); + this.N_big_hand = root.getChild("N_big_hand"); + this.N_small_hand = root.getChild("N_small_hand"); + this.S_big_hand = root.getChild("S_big_hand"); + this.S_small_hand = root.getChild("S_small_hand"); + this.W_small_hand = root.getChild("W_small_hand"); + this.W_big_hand = root.getChild("W_big_hand"); + this.E_big_hand = root.getChild("E_big_hand"); + this.E_small_hand = root.getChild("E_small_hand"); + this.bb_main = root.getChild("bb_main"); + } - } + public static LayerDefinition createBodyLayer() { + MeshDefinition meshdefinition = new MeshDefinition(); + PartDefinition partdefinition = meshdefinition.getRoot(); - @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) { - handleAllAnimations(entity, root(), isBaseModel, open, poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - } + 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)); - public BigBenShellModel(ModelPart root) { - super(root); - this.root = root; - this.door = root.getChild("door"); - this.sides = root.getChild("sides"); - this.bone9 = root.getChild("bone9"); - this.bone24 = root.getChild("bone24"); - this.bone4 = root.getChild("bone4"); - this.bone5 = root.getChild("bone5"); - this.bone28 = root.getChild("bone28"); - this.bone15 = root.getChild("bone15"); - this.bone19 = root.getChild("bone19"); - this.bone27 = root.getChild("bone27"); - this.N_big_hand = root.getChild("N_big_hand"); - this.N_small_hand = root.getChild("N_small_hand"); - this.S_big_hand = root.getChild("S_big_hand"); - this.S_small_hand = root.getChild("S_small_hand"); - this.W_small_hand = root.getChild("W_small_hand"); - this.W_big_hand = root.getChild("W_big_hand"); - this.E_big_hand = root.getChild("E_big_hand"); - this.E_small_hand = root.getChild("E_small_hand"); - this.bb_main = root.getChild("bb_main"); - } + 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)); - public static LayerDefinition createBodyLayer() { - MeshDefinition meshdefinition = new MeshDefinition(); - PartDefinition partdefinition = meshdefinition.getRoot(); + 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 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 bone9 = partdefinition.addOrReplaceChild("bone9", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 24.0F, 0.0F, 0.0F, -1.5708F, 0.0F)); - 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 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 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 bone10 = bone9.addOrReplaceChild("bone10", CubeListBuilder.create(), 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 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 bone9 = partdefinition.addOrReplaceChild("bone9", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 24.0F, 0.0F, 0.0F, -1.5708F, 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_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 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 bone10 = bone9.addOrReplaceChild("bone10", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 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_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 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 bone11 = bone10.addOrReplaceChild("bone11", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 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_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 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 bone12 = bone11.addOrReplaceChild("bone12", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 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 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 bone23 = bone24.addOrReplaceChild("bone23", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 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_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_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_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 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 bone25 = bone23.addOrReplaceChild("bone25", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 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_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_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_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 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 bone26 = bone25.addOrReplaceChild("bone26", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 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_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_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_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 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 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 bone26 = bone25.addOrReplaceChild("bone26", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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)); - 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)); + addMaterializationPart(partdefinition); - 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)); + return LayerDefinition.create(meshdefinition, 256, 256); + } - 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)); + @Override + public void setDoorPosition(boolean open) { + this.door.yRot = (open) ? -275f : 0; - 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); + @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) { + handleAllAnimations(entity, root(), isBaseModel, open, poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + } - return LayerDefinition.create(meshdefinition, 256, 256); - } + @Override + public void handleSpecialAnimation(GlobalShellBlockEntity entity, PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float baseAlpha) { + Calendar calendar = Calendar.getInstance(); + int hour = calendar.get(Calendar.HOUR); + int minute = calendar.get(Calendar.MINUTE); - @Override - public void handleSpecialAnimation(GlobalShellBlockEntity entity, PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float baseAlpha) { - Calendar calendar = Calendar.getInstance(); - int hour = calendar.get(Calendar.HOUR); - int minute = calendar.get(Calendar.MINUTE); + double hourHandDegree = (hour + minute / 60.0) / 12 * 360; + double minuteHandDegree = minute / 60.0 * 360; - double hourHandDegree = (hour + minute / 60.0) / 12 * 360; - double minuteHandDegree = minute / 60.0 * 360; + //North + N_big_hand.zRot = (float) Math.toRadians(minuteHandDegree); + N_small_hand.zRot = (float) Math.toRadians(hourHandDegree); - //North - N_big_hand.zRot = (float) Math.toRadians(minuteHandDegree); - N_small_hand.zRot = (float) Math.toRadians(hourHandDegree); + //East + E_big_hand.xRot = (float) Math.toRadians(minuteHandDegree); + E_small_hand.xRot = (float) Math.toRadians(hourHandDegree); - //East - E_big_hand.xRot = (float) Math.toRadians(minuteHandDegree); - E_small_hand.xRot = (float) Math.toRadians(hourHandDegree); + //West + W_big_hand.xRot = (float) Math.toRadians(-minuteHandDegree); + W_small_hand.xRot = (float) Math.toRadians(-hourHandDegree); - //West - W_big_hand.xRot = (float) Math.toRadians(-minuteHandDegree); - W_small_hand.xRot = (float) Math.toRadians(-hourHandDegree); + //South + S_big_hand.zRot = (float) Math.toRadians(-minuteHandDegree); + S_small_hand.zRot = (float) Math.toRadians(-hourHandDegree); + } - //South - S_big_hand.zRot = (float) Math.toRadians(-minuteHandDegree); - S_small_hand.zRot = (float) Math.toRadians(-hourHandDegree); - } + @Override + public void renderToBuffer(PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) { - @Override - public void renderToBuffer(PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) { + Calendar calendar = Calendar.getInstance(); + int hour = calendar.get(Calendar.HOUR); + int minute = calendar.get(Calendar.MINUTE); - Calendar calendar = Calendar.getInstance(); - int hour = calendar.get(Calendar.HOUR); - int minute = calendar.get(Calendar.MINUTE); + double hourHandDegree = (hour + minute / 60.0) / 12 * 360; + double minuteHandDegree = minute / 60.0 * 360; - double hourHandDegree = (hour + minute / 60.0) / 12 * 360; - double minuteHandDegree = minute / 60.0 * 360; + //North + N_big_hand.zRot = (float) Math.toRadians(minuteHandDegree); + N_small_hand.zRot = (float) Math.toRadians(hourHandDegree); - //North - N_big_hand.zRot = (float) Math.toRadians(minuteHandDegree); - N_small_hand.zRot = (float) Math.toRadians(hourHandDegree); + //East + E_big_hand.xRot = (float) Math.toRadians(minuteHandDegree); + E_small_hand.xRot = (float) Math.toRadians(hourHandDegree); - //East - E_big_hand.xRot = (float) Math.toRadians(minuteHandDegree); - E_small_hand.xRot = (float) Math.toRadians(hourHandDegree); + //West + W_big_hand.xRot = (float) Math.toRadians(-minuteHandDegree); + W_small_hand.xRot = (float) Math.toRadians(-hourHandDegree); - //West - W_big_hand.xRot = (float) Math.toRadians(-minuteHandDegree); - W_small_hand.xRot = (float) Math.toRadians(-hourHandDegree); + //South + S_big_hand.zRot = (float) Math.toRadians(-minuteHandDegree); + S_small_hand.zRot = (float) Math.toRadians(-hourHandDegree); - //South - S_big_hand.zRot = (float) Math.toRadians(-minuteHandDegree); - S_small_hand.zRot = (float) Math.toRadians(-hourHandDegree); - - door.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - sides.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - bone9.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - bone24.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - bone4.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - bone5.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - bone28.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - bone15.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - bone19.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - bone27.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - N_big_hand.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - N_small_hand.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - S_big_hand.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - S_small_hand.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - W_small_hand.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - W_big_hand.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - E_big_hand.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - E_small_hand.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - bb_main.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - } - - @Override - public ModelPart root() { - return this.root; - } - - @Override - public void setupAnim(Entity entity, float f, float g, float h, float i, float j) { - - } + door.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + sides.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + bone9.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + bone24.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + bone4.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + bone5.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + bone28.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + bone15.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + bone19.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + bone27.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + N_big_hand.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + N_small_hand.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + S_big_hand.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + S_small_hand.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + W_small_hand.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + W_big_hand.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + E_big_hand.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + E_small_hand.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + bb_main.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + } + + @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/shell/shells/CastleShellModel.java b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/shells/CastleShellModel.java index 06e210537..e40e65a3c 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 @@ -39,7 +39,6 @@ public CastleShellModel(ModelPart root) { } - public static LayerDefinition createBodyLayer() { MeshDefinition meshdefinition = new MeshDefinition(); PartDefinition partdefinition = meshdefinition.getRoot(); 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 18db96594..1a0a34d8e 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 @@ -12,189 +12,188 @@ public class DrifterShellModel extends ShellModel { - private final ModelPart root; - private final ModelPart door_closed; - private final ModelPart door_open; - private final ModelPart bone32; - - public DrifterShellModel(ModelPart root) { - super(root); - this.root = root; - this.door_closed = root.getChild("door_closed"); - this.door_open = root.getChild("door_open"); - 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)); + private final ModelPart root; + private final ModelPart door_closed; + private final ModelPart door_open; + private final ModelPart bone32; + + public DrifterShellModel(ModelPart root) { + super(root); + this.root = root; + this.door_closed = root.getChild("door_closed"); + this.door_open = root.getChild("door_open"); + 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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)); + 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); + ShellModel.addMaterializationPart(partdefinition); - return LayerDefinition.create(meshdefinition, 256, 256); - } + 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; + door_closed.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + bone32.render(poseStack, vertexConsumer, 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) { - door_closed.visible = true; - door_closed.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - bone32.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - } + @Override + public ModelPart root() { + return root; + } - @Override - public ModelPart root() { - return root; - } + @Override + public void setDoorPosition(boolean open) { - @Override - public void setDoorPosition(boolean open) { + } - } + @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) { + handleAllAnimations(entity, root(), isBaseModel, open, poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + door_open.visible = open; + door_closed.visible = !open; + door_open.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, this.getCurrentAlpha()); + door_closed.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, this.getCurrentAlpha()); + } - @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) { - handleAllAnimations(entity, root(), isBaseModel, open, poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - door_open.visible = open; - door_closed.visible = !open; - door_open.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, this.getCurrentAlpha()); - door_closed.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, this.getCurrentAlpha()); - } + @Override + public void setupAnim(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) { - @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/shell/shells/FactoryShellModel.java b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/shells/FactoryShellModel.java index 778847697..92abe9387 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 @@ -11,72 +11,72 @@ public class FactoryShellModel extends ShellModel { - private final ModelPart realRoot; - private final ModelPart root; - private final ModelPart leftDoor; - private final ModelPart rightDoor; - - public FactoryShellModel(ModelPart root) { - super(root); - this.realRoot = root; - this.root = root.getChild("model_outline"); - this.leftDoor = this.root.getChild("left_door"); - 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) { - root.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - } - - @Override - public ModelPart root() { - return this.realRoot; - } - - @Override - public void setupAnim(Entity entity, float f, float g, float h, float i, float j) { - } - - @Override - public void setDoorPosition(boolean open) { - if (open) { - this.leftDoor.yRot = 250f; - this.rightDoor.yRot = -250f; - } else { - this.leftDoor.yRot = 0; - this.rightDoor.yRot = 0; - } - } - - @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) { - - handleAllAnimations(entity, root(), isBaseModel, open, poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - } + private final ModelPart realRoot; + private final ModelPart root; + private final ModelPart leftDoor; + private final ModelPart rightDoor; + + public FactoryShellModel(ModelPart root) { + super(root); + this.realRoot = root; + this.root = root.getChild("model_outline"); + this.leftDoor = this.root.getChild("left_door"); + 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) { + root.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + } + + @Override + public ModelPart root() { + return this.realRoot; + } + + @Override + public void setupAnim(Entity entity, float f, float g, float h, float i, float j) { + } + + @Override + public void setDoorPosition(boolean open) { + if (open) { + this.leftDoor.yRot = 250f; + this.rightDoor.yRot = -250f; + } else { + this.leftDoor.yRot = 0; + this.rightDoor.yRot = 0; + } + } + + @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) { + + handleAllAnimations(entity, root(), isBaseModel, open, poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + } } \ No newline at end of file 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 7c7c50880..d3d372acb 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 @@ -12,178 +12,178 @@ public class GrowthShellModel extends ShellModel { - private final ModelPart root; - private final ModelPart door_closed; - private final ModelPart door_open; - private final ModelPart bone50; + private final ModelPart root; + private final ModelPart door_closed; + private final ModelPart door_open; + private final ModelPart bone50; - public GrowthShellModel(ModelPart root) { - super(root); - this.root = root; - this.door_closed = root.getChild("door_closed"); - this.door_open = root.getChild("door_open"); - this.bone50 = root.getChild("bone50"); - } + public GrowthShellModel(ModelPart root) { + super(root); + this.root = root; + this.door_closed = root.getChild("door_closed"); + this.door_open = root.getChild("door_open"); + this.bone50 = root.getChild("bone50"); + } - public static LayerDefinition createBodyLayer() { - MeshDefinition meshdefinition = new MeshDefinition(); - PartDefinition partdefinition = meshdefinition.getRoot(); + 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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)); + 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); + ShellModel.addMaterializationPart(partdefinition); - return LayerDefinition.create(meshdefinition, 256, 256); - } + return LayerDefinition.create(meshdefinition, 256, 256); + } - @Override - public void setupAnim(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) { + @Override + public void setupAnim(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) { - } + } - @Override - public ModelPart root() { - return root; - } + @Override + public ModelPart root() { + return root; + } - @Override - public void setDoorPosition(boolean open) { + @Override + public void setDoorPosition(boolean open) { - } + } - @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) { - handleAllAnimations(entity, root(), isBaseModel, open, poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - door_open.visible = open; - door_closed.visible = !open; - door_open.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, this.getCurrentAlpha()); - door_closed.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, this.getCurrentAlpha()); - } + @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) { + handleAllAnimations(entity, root(), isBaseModel, open, poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + door_open.visible = open; + door_closed.visible = !open; + door_open.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, this.getCurrentAlpha()); + door_closed.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, this.getCurrentAlpha()); + } - @Override - public void renderToBuffer(PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) { - door_closed.visible = true; - door_closed.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - bone50.render(poseStack, vertexConsumer, 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) { + door_closed.visible = true; + door_closed.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + bone50.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + } } \ No newline at end of file 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 a865f9516..371954328 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 @@ -11,117 +11,117 @@ public class HalfBakedShellModel extends ShellModel { - private final ModelPart root; - private final ModelPart leftDoor; - private final ModelPart rightDoor; + private final ModelPart root; + private final ModelPart leftDoor; + private final ModelPart rightDoor; - public HalfBakedShellModel(ModelPart root) { + public HalfBakedShellModel(ModelPart root) { super(root); this.root = root.getChild("root"); - this.leftDoor = this.root.getChild("left_door"); - this.rightDoor = this.root.getChild("right_door"); - } + this.leftDoor = this.root.getChild("left_door"); + this.rightDoor = this.root.getChild("right_door"); + } - public static LayerDefinition createBodyLayer() { - MeshDefinition meshdefinition = new MeshDefinition(); - PartDefinition partdefinition = meshdefinition.getRoot(); + 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 = 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_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_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_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_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 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 = 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 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 = 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 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 = 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 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 = 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 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 = 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 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 = 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 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 = 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 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 = 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 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 = 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 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 = 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 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 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)); + 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); + ShellModel.addMaterializationPart(partdefinition); - return LayerDefinition.create(meshdefinition, 256, 256); - } + return LayerDefinition.create(meshdefinition, 256, 256); + } - @Override - public void setDoorPosition(boolean open) { - this.leftDoor.yRot = open ? 250f : 0; - this.rightDoor.yRot = open ? -250f : 0; - } + @Override + public void setDoorPosition(boolean open) { + this.leftDoor.yRot = open ? 250f : 0; + this.rightDoor.yRot = open ? -250f : 0; + } - @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) { - handleAllAnimations(entity, root(), isBaseModel, open, poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - } + @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) { + handleAllAnimations(entity, root(), isBaseModel, open, poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + } - @Override - public ModelPart root() { - return root; - } + @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 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/MysticShellModel.java b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/shells/MysticShellModel.java index b9fe749f7..24093081e 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 @@ -10,11 +10,7 @@ import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.model.geom.PartPose; import net.minecraft.client.model.geom.builders.*; -import net.minecraft.core.registries.Registries; -import net.minecraft.resources.ResourceKey; -import net.minecraft.resources.ResourceLocation; import net.minecraft.world.entity.Entity; -import whocraft.tardis_refined.TardisRefined; import whocraft.tardis_refined.client.TardisClientData; import whocraft.tardis_refined.client.model.blockentity.shell.ShellModel; import whocraft.tardis_refined.common.blockentity.shell.GlobalShellBlockEntity; @@ -22,22 +18,6 @@ public class MysticShellModel extends ShellModel { - private final ModelPart right_door; - private final ModelPart left_door; - private final ModelPart bone3; - private final ModelPart bone6; - private final ModelPart bone7; - private final ModelPart bone10; - private final ModelPart bone11; - private final ModelPart bone; - private final ModelPart side_animations; - private final ModelPart bone56; - private final ModelPart bone58; - private final ModelPart gold_animations; - private final ModelPart bb_main; - private final ModelPart root; - - public static final AnimationDefinition LOOP = AnimationDefinition.Builder.withLength(8.96f).looping() .addAnimation("bone14", new AnimationChannel(AnimationChannel.Targets.ROTATION, @@ -751,6 +731,20 @@ public class MysticShellModel extends ShellModel { AnimationChannel.Interpolations.LINEAR), new Keyframe(8.96f, KeyframeAnimations.degreeVec(0f, 0f, 360f), AnimationChannel.Interpolations.LINEAR))).build(); + private final ModelPart right_door; + private final ModelPart left_door; + private final ModelPart bone3; + private final ModelPart bone6; + private final ModelPart bone7; + private final ModelPart bone10; + private final ModelPart bone11; + private final ModelPart bone; + private final ModelPart side_animations; + private final ModelPart bone56; + private final ModelPart bone58; + private final ModelPart gold_animations; + private final ModelPart bb_main; + private final ModelPart root; public MysticShellModel(ModelPart root) { super(root); 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 b49baa15b..6005735a7 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 @@ -10,198 +10,191 @@ import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.model.geom.PartPose; import net.minecraft.client.model.geom.builders.*; -import net.minecraft.core.registries.Registries; -import net.minecraft.resources.ResourceKey; -import net.minecraft.resources.ResourceLocation; import net.minecraft.world.entity.Entity; -import whocraft.tardis_refined.TardisRefined; import whocraft.tardis_refined.client.TardisClientData; import whocraft.tardis_refined.client.model.blockentity.shell.ShellModel; import whocraft.tardis_refined.common.blockentity.shell.GlobalShellBlockEntity; public class NukaShellModel extends ShellModel { - private final ModelPart root; - private final ModelPart sign; - private final ModelPart right_door; - private final ModelPart left_door; - private final ModelPart bone2; - private final ModelPart bone6; - private final ModelPart black; - private final ModelPart wheel_1; - private final ModelPart wheel_2; - private final ModelPart wheel_3; - private final ModelPart wheel_4; - private final ModelPart bb_main; - - - - public static final AnimationDefinition NUKAANIM = AnimationDefinition.Builder.withLength(4.541677f).looping() - .addAnimation("sign", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.541677f, KeyframeAnimations.degreeVec(0f, 360f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("wheel_1", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2f, KeyframeAnimations.degreeVec(90f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.541677f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("wheel_2", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(2.5f, KeyframeAnimations.degreeVec(-90f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.541677f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("wheel_3", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0.16766666f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.3433333f, KeyframeAnimations.degreeVec(90f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.0834335f, KeyframeAnimations.degreeVec(-90f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.541677f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR))) - .addAnimation("wheel_4", - new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0.16766666f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(1.3433333f, KeyframeAnimations.degreeVec(-90f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(3.0834335f, KeyframeAnimations.degreeVec(90f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR), - new Keyframe(4.541677f, KeyframeAnimations.degreeVec(0f, 0f, 0f), - AnimationChannel.Interpolations.LINEAR))).build(); - - @Override - public void setDoorPosition(boolean open) { - if (open) { - this.left_door.yRot = 250f; - this.right_door.yRot = -250f; - } else { - this.left_door.yRot = 0; - this.right_door.yRot = 0; - } - } - - @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) { - handleAllAnimations(entity,root(),isBaseModel, open, poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - } - - @Override - public void handleSpecialAnimation(GlobalShellBlockEntity entity, PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float baseAlpha) { - TardisClientData reactions = TardisClientData.getInstance(entity.getTardisId()); - this.animate(entity.liveliness, NUKAANIM, Minecraft.getInstance().player.tickCount, reactions.isFlying() ? 5 : 1); - } - - public NukaShellModel(ModelPart root) { - super(root); - this.root = root; - this.sign = root.getChild("sign"); - this.right_door = root.getChild("right_door"); - this.left_door = root.getChild("left_door"); - this.bone2 = root.getChild("bone2"); - this.bone6 = root.getChild("bone6"); - this.black = root.getChild("black"); - this.wheel_1 = root.getChild("wheel_1"); - this.wheel_2 = root.getChild("wheel_2"); - this.wheel_3 = root.getChild("wheel_3"); - this.wheel_4 = root.getChild("wheel_4"); - 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 renderToBuffer(PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) { - sign.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - right_door.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - left_door.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - bone2.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - bone6.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - black.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - wheel_1.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - wheel_2.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - wheel_3.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - wheel_4.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - bb_main.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - } + public static final AnimationDefinition NUKAANIM = AnimationDefinition.Builder.withLength(4.541677f).looping() + .addAnimation("sign", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.541677f, KeyframeAnimations.degreeVec(0f, 360f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("wheel_1", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2f, KeyframeAnimations.degreeVec(90f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.541677f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("wheel_2", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(2.5f, KeyframeAnimations.degreeVec(-90f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.541677f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("wheel_3", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0.16766666f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.3433333f, KeyframeAnimations.degreeVec(90f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.0834335f, KeyframeAnimations.degreeVec(-90f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.541677f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR))) + .addAnimation("wheel_4", + new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0.16766666f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(1.3433333f, KeyframeAnimations.degreeVec(-90f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(3.0834335f, KeyframeAnimations.degreeVec(90f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR), + new Keyframe(4.541677f, KeyframeAnimations.degreeVec(0f, 0f, 0f), + AnimationChannel.Interpolations.LINEAR))).build(); + private final ModelPart root; + private final ModelPart sign; + private final ModelPart right_door; + private final ModelPart left_door; + private final ModelPart bone2; + private final ModelPart bone6; + private final ModelPart black; + private final ModelPart wheel_1; + private final ModelPart wheel_2; + private final ModelPart wheel_3; + private final ModelPart wheel_4; + private final ModelPart bb_main; + + public NukaShellModel(ModelPart root) { + super(root); + this.root = root; + this.sign = root.getChild("sign"); + this.right_door = root.getChild("right_door"); + this.left_door = root.getChild("left_door"); + this.bone2 = root.getChild("bone2"); + this.bone6 = root.getChild("bone6"); + this.black = root.getChild("black"); + this.wheel_1 = root.getChild("wheel_1"); + this.wheel_2 = root.getChild("wheel_2"); + this.wheel_3 = root.getChild("wheel_3"); + this.wheel_4 = root.getChild("wheel_4"); + 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) { + this.left_door.yRot = 250f; + this.right_door.yRot = -250f; + } else { + this.left_door.yRot = 0; + this.right_door.yRot = 0; + } + } + + @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) { + handleAllAnimations(entity, root(), isBaseModel, open, poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + } + + @Override + public void handleSpecialAnimation(GlobalShellBlockEntity entity, PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float baseAlpha) { + TardisClientData reactions = TardisClientData.getInstance(entity.getTardisId()); + this.animate(entity.liveliness, NUKAANIM, Minecraft.getInstance().player.tickCount, reactions.isFlying() ? 5 : 1); + } + + @Override + public void renderToBuffer(PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) { + sign.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + right_door.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + left_door.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + bone2.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + bone6.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + black.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + wheel_1.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + wheel_2.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + wheel_3.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + wheel_4.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + bb_main.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + } - @Override - public ModelPart root() { - return this.root; - } + @Override + public ModelPart root() { + return this.root; + } - @Override - public void setupAnim(Entity entity, float f, float g, float h, float i, float j) { + @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/PagodaShellModel.java b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/shells/PagodaShellModel.java index 31c6a00d6..428fd8ff9 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 @@ -11,174 +11,174 @@ import whocraft.tardis_refined.common.blockentity.shell.GlobalShellBlockEntity; public class PagodaShellModel extends ShellModel { - private final ModelPart root; - private final ModelPart door; - private final ModelPart bone4; - private final ModelPart bone; - private final ModelPart bone17; - private final ModelPart bone21; - private final ModelPart bone13; - private final ModelPart bone9; - private final ModelPart bb_main; + private final ModelPart root; + private final ModelPart door; + private final ModelPart bone4; + private final ModelPart bone; + private final ModelPart bone17; + private final ModelPart bone21; + private final ModelPart bone13; + private final ModelPart bone9; + private final ModelPart bb_main; - public PagodaShellModel(ModelPart root) { - super(root); - this.root = root; - this.door = root.getChild("door"); - this.bone4 = root.getChild("bone4"); - this.bone = root.getChild("bone"); - this.bone17 = root.getChild("bone17"); - this.bone21 = root.getChild("bone21"); - this.bone13 = root.getChild("bone13"); - this.bone9 = root.getChild("bone9"); - this.bb_main = root.getChild("bb_main"); - } + public PagodaShellModel(ModelPart root) { + super(root); + this.root = root; + this.door = root.getChild("door"); + this.bone4 = root.getChild("bone4"); + this.bone = root.getChild("bone"); + this.bone17 = root.getChild("bone17"); + this.bone21 = root.getChild("bone21"); + this.bone13 = root.getChild("bone13"); + this.bone9 = root.getChild("bone9"); + this.bb_main = root.getChild("bb_main"); + } - public static LayerDefinition createBodyLayer() { - MeshDefinition meshdefinition = new MeshDefinition(); - PartDefinition partdefinition = meshdefinition.getRoot(); + 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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)); + 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); + ShellModel.addMaterializationPart(partdefinition); - return LayerDefinition.create(meshdefinition, 128, 128); - } + return LayerDefinition.create(meshdefinition, 128, 128); + } - @Override - public void setupAnim(Entity entity, float f, float g, float h, float i, float j) { + @Override + public void setupAnim(Entity entity, float f, float g, float h, float i, float j) { - } + } - @Override - public ModelPart root() { - return root; - } + @Override + public ModelPart root() { + return root; + } - public void setDoorPosition(boolean open) { - this.door.yRot = (open) ? -275f : 0; + public void setDoorPosition(boolean open) { + this.door.yRot = (open) ? -275f : 0; - } + } - @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) { - handleAllAnimations(entity, root, isBaseModel, open, poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - } + @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) { + handleAllAnimations(entity, root, isBaseModel, open, poseStack, vertexConsumer, 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) { - door.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - bone4.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - bone.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - bone17.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - bone21.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - bone13.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - bone9.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - bb_main.render(poseStack, vertexConsumer, 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) { + door.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + bone4.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + bone.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + bone17.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + bone21.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + bone13.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + bone9.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + bb_main.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + } } \ No newline at end of file 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 93ecb335c..5efce61ca 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 @@ -13,81 +13,81 @@ import whocraft.tardis_refined.common.blockentity.shell.GlobalShellBlockEntity; public class PathfinderShellModel extends ShellModel { - // This layer location should be baked with EntityRendererProvider.Context in the entity renderer and passed into this model's constructor + // This layer location should be baked with EntityRendererProvider.Context in the entity renderer and passed into this model's constructor - private final ModelPart root; - private final ModelPart bone3; - private final ModelPart r_door; - private final ModelPart l_door; - private final ModelPart bb_main; + private final ModelPart root; + private final ModelPart bone3; + private final ModelPart r_door; + private final ModelPart l_door; + private final ModelPart bb_main; - public PathfinderShellModel(ModelPart root) { - super(root); - this.root = root; - this.bone3 = root.getChild("bone3"); - this.r_door = root.getChild("r_door"); - this.l_door = root.getChild("l_door"); - this.bb_main = root.getChild("bb_main"); - } + public PathfinderShellModel(ModelPart root) { + super(root); + this.root = root; + this.bone3 = root.getChild("bone3"); + this.r_door = root.getChild("r_door"); + this.l_door = root.getChild("l_door"); + this.bb_main = root.getChild("bb_main"); + } - public static LayerDefinition createBodyLayer() { - MeshDefinition meshdefinition = new MeshDefinition(); - PartDefinition partdefinition = meshdefinition.getRoot(); + 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 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_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 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 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 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 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 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)); + 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); + addMaterializationPart(partdefinition); - return LayerDefinition.create(meshdefinition, 128, 128); - } + return LayerDefinition.create(meshdefinition, 128, 128); + } - @Override - public ModelPart root() { - return this.root; - } + @Override + public ModelPart root() { + return this.root; + } - @Override - public void setupAnim(Entity entity, float f, float g, float h, float i, float j) { + @Override + public void setupAnim(Entity entity, float f, float g, float h, float i, float j) { - } + } - @Override - public void setDoorPosition(boolean open) { - this.l_door.yRot = (open) ? -275f : 0; - this.r_door.yRot = (open) ? 275f : 0; - } + @Override + public void setDoorPosition(boolean open) { + this.l_door.yRot = (open) ? -275f : 0; + this.r_door.yRot = (open) ? 275f : 0; + } - @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) { - if (isBaseModel) { - poseStack.scale(1.05f, 1.05f, 1.05f); - poseStack.translate(0, -0.07, 0); - } - handleAllAnimations(entity,bone3,isBaseModel, open, poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + @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) { + if (isBaseModel) { + poseStack.scale(1.05f, 1.05f, 1.05f); + poseStack.translate(0, -0.07, 0); + } + handleAllAnimations(entity, bone3, isBaseModel, open, poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - bone3.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, this.getCurrentAlpha()); - l_door.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, this.getCurrentAlpha()); - r_door.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, this.getCurrentAlpha()); - } + bone3.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, this.getCurrentAlpha()); + l_door.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, this.getCurrentAlpha()); + r_door.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, this.getCurrentAlpha()); + } } \ No newline at end of file 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 ded74cf35..bf6668570 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 @@ -11,95 +11,95 @@ public class PhoneBoothModel extends ShellModel { - private final ModelPart bone9; - private final ModelPart door; - private final ModelPart root; - - public PhoneBoothModel(ModelPart root) { - super(root); - this.root = root; - this.bone9 = root.getChild("bone9"); - 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); - } - - @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) ? 1.75f : 0; - } - - @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) { - handleAllAnimations(entity, root(), isBaseModel, open, poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - } + private final ModelPart bone9; + private final ModelPart door; + private final ModelPart root; + + public PhoneBoothModel(ModelPart root) { + super(root); + this.root = root; + this.bone9 = root.getChild("bone9"); + 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); + } + + @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) ? 1.75f : 0; + } + + @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) { + handleAllAnimations(entity, root(), isBaseModel, open, poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + } } \ No newline at end of file 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 50ed66fdf..199a7471f 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 @@ -10,161 +10,161 @@ import whocraft.tardis_refined.common.blockentity.shell.GlobalShellBlockEntity; public class PoliceBoxModel extends ShellModel { - private final ModelPart root; - private final ModelPart left_door; - private final ModelPart right_door; - private final ModelPart frame; - - public PoliceBoxModel(ModelPart root) { - super(root); - this.root = root; - this.frame = root.getChild("tardis_frame"); - this.right_door = root.getChild("right_door"); - 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); - poseStack.translate(0, -0.07, 0); - frame.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - left_door.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - right_door.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - } - - @Override - public ModelPart root() { - return this.root; - } - - @Override - public void setupAnim(Entity entity, float f, float g, float h, float i, float j) { - - } - - @Override - public void setDoorPosition(boolean open) { - this.right_door.yRot = (open) ? -275f : 0; - } - - @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) { - if (isBaseModel) { - poseStack.scale(1.05f, 1.05f, 1.05f); - poseStack.translate(0, -0.07, 0); - } - handleAllAnimations(entity,frame,isBaseModel, open, poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - - frame.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, this.getCurrentAlpha()); - left_door.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, this.getCurrentAlpha()); - right_door.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, this.getCurrentAlpha()); - } + private final ModelPart root; + private final ModelPart left_door; + private final ModelPart right_door; + private final ModelPart frame; + + public PoliceBoxModel(ModelPart root) { + super(root); + this.root = root; + this.frame = root.getChild("tardis_frame"); + this.right_door = root.getChild("right_door"); + 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); + poseStack.translate(0, -0.07, 0); + frame.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + left_door.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + right_door.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + } + + @Override + public ModelPart root() { + return this.root; + } + + @Override + public void setupAnim(Entity entity, float f, float g, float h, float i, float j) { + + } + + @Override + public void setDoorPosition(boolean open) { + this.right_door.yRot = (open) ? -275f : 0; + } + + @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) { + if (isBaseModel) { + poseStack.scale(1.05f, 1.05f, 1.05f); + poseStack.translate(0, -0.07, 0); + } + handleAllAnimations(entity, frame, isBaseModel, open, poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + + frame.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, this.getCurrentAlpha()); + left_door.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, this.getCurrentAlpha()); + right_door.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, this.getCurrentAlpha()); + } } \ No newline at end of file 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 e78b95f4e..a204a8483 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 @@ -13,85 +13,85 @@ public class PortalooShellModel extends ShellModel { - private final ModelPart bone; - private final ModelPart door; - private final ModelPart root; + private final ModelPart bone; + private final ModelPart door; + private final ModelPart root; - public PortalooShellModel(ModelPart root) { - super(root); - this.root = root; - this.bone = root.getChild("bone"); - this.door = root.getChild("door"); - } + public PortalooShellModel(ModelPart root) { + super(root); + this.root = root; + this.bone = root.getChild("bone"); + this.door = root.getChild("door"); + } - public static LayerDefinition createBodyLayer() { - MeshDefinition meshdefinition = new MeshDefinition(); - PartDefinition partdefinition = meshdefinition.getRoot(); + 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 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_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 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 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 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 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 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 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 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)); + 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); + ShellModel.addMaterializationPart(partdefinition); - return LayerDefinition.create(meshdefinition, 128, 128); - } + 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); - door.render(poseStack, vertexConsumer, 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) { + bone.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + door.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + } - @Override - public ModelPart root() { - return root; - } + @Override + public ModelPart root() { + return root; + } - @Override - public void setDoorPosition(boolean open) { - this.door.yRot = (open) ? 1.75f : 0; - } + @Override + public void setDoorPosition(boolean open) { + this.door.yRot = (open) ? 1.75f : 0; + } - @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) { - handleAllAnimations(entity, root, isBaseModel, open, poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - } + @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) { + handleAllAnimations(entity, root, isBaseModel, open, poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + } - @Override - public void setupAnim(Entity entity, float f, float g, float h, float i, float j) { + @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/PresentShellModel.java b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/shells/PresentShellModel.java index 3e5ae0fde..0418834da 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 @@ -11,71 +11,70 @@ public class PresentShellModel extends ShellModel { - private final ModelPart root; - private final ModelPart bone; - private final ModelPart door; + private final ModelPart root; + private final ModelPart bone; + private final ModelPart door; - @Override - public void setDoorPosition(boolean open) { - this.door.xRot = (open) ? 1.5f :0; - } + public PresentShellModel(ModelPart root) { + super(root); + this.root = root; + this.bone = root.getChild("bone"); + this.door = bone.getChild("door_rotate_neg_92dot5"); + } - @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) { - handleAllAnimations(entity,root(),isBaseModel, open, poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - } + public static LayerDefinition createBodyLayer() { + MeshDefinition meshdefinition = new MeshDefinition(); + PartDefinition partdefinition = meshdefinition.getRoot(); - public PresentShellModel(ModelPart root) { - super(root); - this.root = root; - this.bone = root.getChild("bone"); - this.door = bone.getChild("door_rotate_neg_92dot5"); - } + 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)); - public static LayerDefinition createBodyLayer() { - MeshDefinition meshdefinition = new MeshDefinition(); - PartDefinition partdefinition = meshdefinition.getRoot(); + 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 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 bone5 = bone.addOrReplaceChild("bone5", CubeListBuilder.create(), PartPose.offsetAndRotation(31.0F, -39.0F, 0.0F, 0.0F, 0.6981F, 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 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 bone5 = bone.addOrReplaceChild("bone5", CubeListBuilder.create(), PartPose.offsetAndRotation(31.0F, -39.0F, 0.0F, 0.0F, 0.6981F, 0.0F)); + 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 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 bone4 = bone.addOrReplaceChild("bone4", CubeListBuilder.create(), PartPose.offsetAndRotation(30.0F, -41.0F, 0.0F, 0.0F, -0.7854F, 0.0F)); - 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 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 bone4 = bone.addOrReplaceChild("bone4", CubeListBuilder.create(), PartPose.offsetAndRotation(30.0F, -41.0F, 0.0F, 0.0F, -0.7854F, 0.0F)); + 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); - 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)); + return LayerDefinition.create(meshdefinition, 128, 128); + } - 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); + @Override + public void setDoorPosition(boolean open) { + this.door.xRot = (open) ? 1.5f : 0; + } - return LayerDefinition.create(meshdefinition, 128, 128); - } + @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) { + handleAllAnimations(entity, root(), isBaseModel, open, poseStack, vertexConsumer, 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) { + bone.render(poseStack, vertexConsumer, 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) { - bone.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - } + @Override + public ModelPart root() { + return root; + } - @Override - public ModelPart root() { - return root; - } + @Override + public void setupAnim(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) { - @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/overlays/ExteriorViewOverlay.java b/common/src/main/java/whocraft/tardis_refined/client/overlays/ExteriorViewOverlay.java index b8edc5734..f7666da54 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 @@ -1,66 +1,144 @@ package whocraft.tardis_refined.client.overlays; import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.blaze3d.vertex.Tesselator; -import com.mojang.math.Transformation; import net.minecraft.ChatFormatting; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.Font; import net.minecraft.client.gui.GuiGraphics; -import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.player.LocalPlayer; import net.minecraft.network.chat.Component; import net.minecraft.network.chat.MutableComponent; import net.minecraft.resources.ResourceLocation; +import net.minecraft.util.Mth; import whocraft.tardis_refined.TardisRefined; import whocraft.tardis_refined.client.TRKeybinds; +import whocraft.tardis_refined.client.TardisClientData; +import whocraft.tardis_refined.client.renderer.RenderHelper; import whocraft.tardis_refined.common.capability.player.TardisPlayerInfo; +import whocraft.tardis_refined.common.tardis.manager.TardisPilotingManager; import whocraft.tardis_refined.constants.ModMessages; public class ExteriorViewOverlay { - public static ResourceLocation IMAGE = new ResourceLocation(TardisRefined.MODID, "textures/gui/external_view.png"); - + public static final ResourceLocation BAR_TEXTURE = new ResourceLocation(TardisRefined.MODID, "textures/gui/bar_texture.png"); + public static boolean shouldRender = true; public static void renderOverlay(GuiGraphics guiGraphics) { Minecraft mc = Minecraft.getInstance(); + if (!shouldRender) { + return; + } + TardisPlayerInfo.get(mc.player).ifPresent(tardisPlayerInfo -> { PoseStack poseStack = guiGraphics.pose(); poseStack.pushPose(); - if(!tardisPlayerInfo.isViewingTardis()) return; - if(mc.getDebugOverlay().showDebugScreen()) return; - - Font fontRenderer = mc.font; - int x = 10; - int y = 10; - - // Create the message with a keybind - MutableComponent ascendKey = Component.translatable(TRKeybinds.EXIT_EXTERIOR_VIEW.getDefaultKey().getName()); - MutableComponent message = Component.translatable(ModMessages.EXIT_EXTERNAL_VIEW, ascendKey) - .withStyle(ChatFormatting.BOLD, ChatFormatting.AQUA); - - // Render a semi-transparent background for better text readability - guiGraphics.fill(x - 5, y - 5, x + fontRenderer.width(message.getString()) + 5, y + 15, 0x88000000); - - // Render the text with a shadow - MultiBufferSource.BufferSource renderImpl = MultiBufferSource.immediate(Tesselator.getInstance().getBuilder()); - fontRenderer.drawInBatch( - message.getString(), - x, - y, - ChatFormatting.WHITE.getColor(), - false, - Transformation.identity().getMatrix(), - renderImpl, - Font.DisplayMode.NORMAL, - 0, - 15728880 + // Exit if the player is not viewing the TARDIS or the debug screen is active + if (!tardisPlayerInfo.isViewingTardis()) { + poseStack.popPose(); + return; + } + + TardisClientData tardisClientData = TardisClientData.getInstance( + tardisPlayerInfo.getPlayerPreviousPos().getDimensionKey() ); - renderImpl.endBatch(); - // Pop pose to reset transformations + int x = 10; // X position for text + int y = 10; // Initial Y position for text + + int remainingFuel = (int) tardisClientData.getFuel(); + int maxFuel = (int) tardisClientData.getMaximumFuel(); + int fuelPercentage = maxFuel != 0 ? (int) ((double) remainingFuel / maxFuel * 100) : 0; + + + // Background for text + int textBackdropWidth = 150; // Width of the backdrop box + int textBackdropHeight = 70; // Total height for the text backdrop box + guiGraphics.fill(x - 5, y - 5, x + textBackdropWidth, y + textBackdropHeight, 0x88000000); + + // Create a translatable component for the exit keybind + Component exitKey = TRKeybinds.EXIT_EXTERIOR_VIEW.key.getDisplayName(); + MutableComponent message = Component.translatable(ModMessages.EXIT_EXTERNAL_VIEW).append(exitKey) + .withStyle(ChatFormatting.BOLD, ChatFormatting.WHITE); + + int throttleStage = tardisClientData.getThrottleStage(); + int maxThrottleStage = TardisPilotingManager.MAX_THROTTLE_STAGE; + int throttlePercentage = maxThrottleStage != 0 + ? (int) ((double) throttleStage / maxThrottleStage * 100) + : 0; + + // Display throttle percentage + MutableComponent throttleMessage = Component.literal("Throttle: " + throttlePercentage + "%") + .withStyle(ChatFormatting.WHITE); + + renderPlayerHeads(guiGraphics, mc, x, y + 45); + + // Display fuel percentage + MutableComponent fuelMessage = Component.translatable(ModMessages.FUEL, fuelPercentage).append("%") + .withStyle(ChatFormatting.WHITE); + + guiGraphics.drawString(mc.font, message.getString(), x, y, 0xFFFFFF, false); // White text + guiGraphics.drawString(mc.font, throttleMessage.getString(), x, y + 15, 0xFFFFFF, false); // White text + guiGraphics.drawString(mc.font, fuelMessage.getString(), x, y + 30, 0xFFFFFF, false); // White text + + float journeyProgress = tardisClientData.getJourneyProgress() / 100; + poseStack.popPose(); + + if (tardisClientData.isFlying()) { + renderJourneyProgressBar(guiGraphics, journeyProgress); + } + }); } + + private static void renderPlayerHeads(GuiGraphics guiGraphics, Minecraft mc, int x, int y) { + // Render player's face and name + LocalPlayer player = mc.player; + if (player != null) { + // Render the player's face + int faceX = x; + int faceY = y + 1; // Position below fuel + int faceSize = 10; + + RenderHelper.renderPlayerFace(guiGraphics, x, y, faceSize, player.getUUID()); + + // Render the player's name + String playerName = player.getName().getString(); + + guiGraphics.drawString(mc.font, playerName, faceX + faceSize + 5, faceY, 0xFFFFFF, false); // White text + } + } + + public static void renderJourneyProgressBar(GuiGraphics guiGraphics, float journeyProgress) { + Minecraft mc = Minecraft.getInstance(); + + int screenWidth = mc.getWindow().getGuiScaledWidth(); + int screenHeight = mc.getWindow().getGuiScaledHeight(); + + // Clamp journey progress between 0.0 and 1.0 + float clampedProgress = Mth.clamp(journeyProgress, 0.0F, 1.0F); + + // Bar dimensions + int barWidth = 182; + int barHeight = 5; + int barX = (screenWidth - barWidth) / 2; + int barY = screenHeight - 25; + + // Bind the texture and render the bar + guiGraphics.blit(BAR_TEXTURE, barX, barY, 0, 0, barWidth, barHeight); // Background bar + guiGraphics.blit(BAR_TEXTURE, barX, barY, 0, 5, (int) (barWidth * clampedProgress), barHeight); // Progress bar + + + // Render journey progress as a percentage above the bar + String progressText = String.format("Journey: %.0f%%", clampedProgress * 100); + Font fontRenderer = mc.font; + int textX = (screenWidth - fontRenderer.width(progressText)) / 2; + int textY = barY - 10; + + guiGraphics.drawString(mc.font, progressText, textX, textY, 0xFFFFFF, false); // White text + } + + } \ No newline at end of file diff --git a/common/src/main/java/whocraft/tardis_refined/client/overlays/GravityOverlay.java b/common/src/main/java/whocraft/tardis_refined/client/overlays/GravityOverlay.java index 9b9407af1..575c02acf 100644 --- a/common/src/main/java/whocraft/tardis_refined/client/overlays/GravityOverlay.java +++ b/common/src/main/java/whocraft/tardis_refined/client/overlays/GravityOverlay.java @@ -10,7 +10,6 @@ import net.minecraft.client.player.LocalPlayer; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.network.chat.Component; -import net.minecraft.network.chat.MutableComponent; import net.minecraft.world.entity.player.Player; import whocraft.tardis_refined.common.GravityUtil; import whocraft.tardis_refined.constants.ModMessages; @@ -19,7 +18,7 @@ public class GravityOverlay { private static boolean isInShaft = false; - private static void checkOverlay(Player player){ + private static void checkOverlay(Player player) { isInShaft = GravityUtil.isInGravityShaft(player); } @@ -43,8 +42,8 @@ public static void renderOverlay(GuiGraphics guiGraphics) { int x = padding; int y = padding; - MutableComponent ascendKey = Component.translatable(mc.options.keyJump.getDefaultKey().getName()); - MutableComponent descendKey = Component.translatable(mc.options.keyShift.getDefaultKey().getName()); + Component ascendKey = mc.options.keyJump.key.getDisplayName(); + Component descendKey = mc.options.keyShift.key.getDisplayName(); // Get the translated strings for both keys String ascendKeyText = Component.translatable(ModMessages.ASCEND_KEY, ascendKey).getString(); 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 new file mode 100644 index 000000000..829c32bb9 --- /dev/null +++ b/common/src/main/java/whocraft/tardis_refined/client/overlays/VortexOverlay.java @@ -0,0 +1,199 @@ +package whocraft.tardis_refined.client.overlays; + +import com.mojang.blaze3d.systems.RenderSystem; +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.VertexSorting; +import com.mojang.math.Axis; +import net.minecraft.client.Camera; +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.GuiGraphics; +import net.minecraft.util.Mth; +import net.minecraft.world.phys.Vec3; +import org.joml.Matrix4f; +import whocraft.tardis_refined.client.TardisClientData; +import whocraft.tardis_refined.client.renderer.vortex.VortexRenderer; +import whocraft.tardis_refined.client.screen.selections.ShellSelectionScreen; +import whocraft.tardis_refined.common.capability.player.TardisPlayerInfo; + +import java.util.Objects; + +import static whocraft.tardis_refined.client.renderer.vortex.ShellRenderer.renderShell; +import static whocraft.tardis_refined.client.screen.selections.ShellSelectionScreen.globalShellBlockEntity; + +public class VortexOverlay { + + public static final VortexRenderer VORTEX = new VortexRenderer(VortexRenderer.VortexTypes.FLOW); + + private static double tardisX = 0.0D; + private static double tardisY = 0.0D; + private static double velX = 0.0D; + private static double velY = 0.0D; + private static float DEMAT = 0.0f; + private static float IMMERSION = 0.0f; + private static float YROT = 0.0f; + private static float VYR = 0.0f; + private static long LAST_TIME = System.currentTimeMillis(); + + public static void update(GuiGraphics gg) { + if (globalShellBlockEntity == null) { + ShellSelectionScreen.generateDummyGlobalShell(); + return; + } + + double speed = 0.01D; + Minecraft mc = Minecraft.getInstance(); + float width = gg.guiWidth(); + float height = gg.guiHeight(); + + double radius = 5; + + float yRot = Objects.requireNonNull(mc.getCameraEntity()).getYRot(); + + if (mc.screen == null) { // Ensure no screen (like inventory) is open + if (mc.options.keyUp.isDown()) velY += speed; + + if (mc.options.keyDown.isDown()) velY -= speed; + + if (mc.options.keyLeft.isDown()) velX -= speed; + + if (mc.options.keyRight.isDown()) velX += speed; + } + + if (DEMAT > 1) DEMAT = 1; + if (DEMAT < 0) DEMAT = 0; + + if (DEMAT >= 1) { + IMMERSION += (System.currentTimeMillis() - LAST_TIME) / (1000.0f + (5000.0f * IMMERSION)); + } else { + IMMERSION *= 0.9f; + } + + if (IMMERSION > 1) IMMERSION = 1; + if (IMMERSION < 0) IMMERSION = 0; + + if (VORTEX.lightning_strike > 0.4) + velX -= (Math.random() > 0.5 ? 0.001 : -0.001) * VORTEX.lightning_strike * 90 * Mth.sin(VORTEX.lightning_strike); + if (VORTEX.lightning_strike > 0.4) + velY -= (Math.random() > 0.5 ? 0.001 : -0.001) * VORTEX.lightning_strike * 90 * Mth.sin(VORTEX.lightning_strike); + + + if (tardisX * tardisX + tardisY * tardisY > 1) { + try { + double f = Math.sqrt(tardisY * tardisY + tardisX * tardisX); + tardisX /= f; + tardisY /= f; + } finally { + + } + } + + + if (velX > 1) velX = 1; + if (velX < -1) velX = -1; + if (velY > 1) velY = 1; + if (velY < -1) velY = -1; + + tardisX += velX; + tardisY += velY; + velX *= 0.9; + velY *= 0.9; + tardisX *= 0.99; + tardisY *= 0.99; + } + + public static void renderOverlay(GuiGraphics gg) { + + TardisPlayerInfo.get(Minecraft.getInstance().player).ifPresent(tardisPlayerInfo -> { + /*Activation Logic*/ + TardisClientData tardisClientData = TardisClientData.getInstance(tardisPlayerInfo.getPlayerPreviousPos().getDimensionKey()); + + Minecraft mc = Minecraft.getInstance(); + PoseStack pose = gg.pose(); + float width = gg.guiWidth(); + float height = gg.guiHeight(); + + /* + Needs tweaking, but am not quite sure how to fix. + */ + + boolean takeoff = tardisClientData.isTakingOff() || tardisClientData.isFlying(); + boolean land = tardisClientData.isLanding() || !tardisClientData.isFlying(); + + //DEV TESTING + /* takeoff = mc.options.keyShift.isDown(); + land = !takeoff; +*/ + if (takeoff) { + DEMAT += (System.currentTimeMillis() - LAST_TIME) / 12000.0f; + } + if (land) { + DEMAT -= (System.currentTimeMillis() - LAST_TIME) / 12000.0f; + } + + if (!tardisPlayerInfo.isViewingTardis()) return; + if (!tardisPlayerInfo.isRenderVortex()) return; + + VortexOverlay.update(gg); + + float demat_transparency = Mth.cos(DEMAT * (Mth.PI) / (2f)) * (Mth.cos(16f * Mth.PI * DEMAT) * 0.5f + 0.5f) * (-DEMAT * 0.5f + 0.5f) - DEMAT * 0.5f + 0.5f; + + Camera camera = mc.gameRenderer.getMainCamera(); + Vec3 camPos = camera.getPosition().subtract(mc.player.position()).subtract(0, 1.62, 0); + double camdist = Math.sqrt(camPos.x * camPos.x + camPos.y * camPos.y + camPos.z * camPos.z); + + float mul = IMMERSION; + float mulinv = 1 - IMMERSION; + + float xRot = camera.getXRot() * mulinv; + if (DEMAT < 1) { + YROT = camera.getYRot() + 180; + while (YROT > 180) YROT -= 360; + while (YROT < -180) YROT += 360; + } + + long time = System.currentTimeMillis(); + float timeFactor = (time % 4000L) / 4000.0f * (float) (2 * Math.PI); + if (DEMAT < 1) + VYR = ((timeFactor * 360 / (float) (2 * Math.PI)) % 360) * (1 + tardisClientData.getThrottleStage() * 0.5f); + + if (DEMAT > 0 && DEMAT < 1) + mc.getCameraEntity().setYRot(mc.getCameraEntity().getYRot() - ((System.currentTimeMillis() - LAST_TIME) / 10.0f) * (1 + tardisClientData.getThrottleStage() * 0.5f)); + + VORTEX.time.speed = (0.3f + tardisClientData.getThrottleStage() * 0.1f); + + /*Perspective Rendering*/ + RenderSystem.backupProjectionMatrix(); + + 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); + 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); + pose.mulPose(Axis.YP.rotationDegrees(VYR * mulinv)); + VORTEX.renderVortex(gg, 1 - demat_transparency); + pose.popPose(); + + //Box + pose.translate(4 * tardisX * mul, 4 * tardisY * mul, 0); + pose.mulPose(Axis.ZP.rotationDegrees((float) (mul * -450 * velX))); + 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); + renderShell(gg, IMMERSION, 1 - demat_transparency, tardisClientData.getThrottleStage()); + pose.popPose(); + + pose.popPose(); + + //Restore Ortho view + RenderSystem.restoreProjectionMatrix(); + }); + LAST_TIME = System.currentTimeMillis(); + } +} 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 5a8086b1a..145fe191b 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 @@ -1,14 +1,34 @@ package whocraft.tardis_refined.client.renderer; +import com.mojang.authlib.yggdrasil.ProfileResult; import com.mojang.blaze3d.systems.RenderSystem; import com.mojang.blaze3d.vertex.*; +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.GuiGraphics; +import net.minecraft.client.gui.components.PlayerFaceRenderer; +import net.minecraft.client.renderer.GameRenderer; +import net.minecraft.client.resources.DefaultPlayerSkin; +import net.minecraft.client.resources.PlayerSkin; import net.minecraft.resources.ResourceLocation; +import net.minecraft.util.Mth; import net.minecraft.world.phys.AABB; -import net.minecraft.world.phys.Vec3; +import org.jetbrains.annotations.NotNull; import org.joml.Matrix4f; +import org.joml.Quaternionf; + +import java.util.UUID; public class RenderHelper { + public static Tesselator tesselator; + + public static void renderPlayerFace(GuiGraphics guiGraphics, int i, int j, int k, UUID uUID) { + Minecraft minecraft = Minecraft.getInstance(); + ProfileResult profileResult = minecraft.getMinecraftSessionService().fetchProfile(uUID, false); + PlayerSkin playerSkin = profileResult != null ? minecraft.getSkinManager().getInsecureSkin(profileResult.profile()) : DefaultPlayerSkin.get(uUID); + PlayerFaceRenderer.draw(guiGraphics, playerSkin.texture(), i, j, k); + } + public static void renderFilledBox(PoseStack stack, VertexConsumer vertexConsumer, AABB box, float red, float green, float blue, float alpha, int combinedLightIn) { Matrix4f matrix = stack.last().pose(); vertexConsumer.vertex(matrix, (float) box.minX, (float) box.maxY, (float) box.minZ).color(red, green, blue, alpha).uv2(combinedLightIn).endVertex(); @@ -43,7 +63,6 @@ public static void renderFilledBox(PoseStack stack, VertexConsumer vertexConsume } - public static void drawGlowingBox(PoseStack poseStack, VertexConsumer consumer, float length, float height, float width, float red, float green, float blue, float alpha, int combinedLightIn) { AABB box = new AABB(-length / 2F, -height / 2f, -width / 2F, length / 2F, height / 2f, width / 2F); renderFilledBox(poseStack, consumer, box, 1F, 1F, 1F, alpha, combinedLightIn); @@ -52,4 +71,72 @@ public static void drawGlowingBox(PoseStack poseStack, VertexConsumer consumer, renderFilledBox(poseStack, consumer, box.inflate(i * 0.5F * 0.0625F), red, green, blue, (1F / i / 2) * alpha, combinedLightIn); } } + + public static void rotateZYX(PoseStack poseStack, float x, float y, float z) { + poseStack.mulPose((new Quaternionf()).rotationZYX(Mth.DEG_TO_RAD * z, Mth.DEG_TO_RAD * y, Mth.DEG_TO_RAD * x)); + } + + public static Tesselator beginTextureColor(ResourceLocation texture, VertexFormat.Mode mode, boolean cull) { + RenderSystem.setShaderTexture(0, texture); + RenderSystem.setShader(GameRenderer::getPositionTexColorShader); + RenderSystem.enableBlend(); + if (cull) RenderSystem.enableCull(); + else RenderSystem.disableCull(); + RenderSystem.enableDepthTest(); + tesselator = Tesselator.getInstance(); + tesselator.getBuilder().begin(mode, DefaultVertexFormat.POSITION_TEX_COLOR); + return tesselator; + } + + public static void vertexUVColor(@NotNull PoseStack pose, float x, float y, float z, float u, float v, float r, float g, float b, float a) { + tesselator.getBuilder().vertex(pose.last().pose(), x, y, z).uv(u, v).color(r, g, b, a).endVertex(); + } + + public static class DynamicTimeKeep { + public double speed = 1f; + private long time = Long.MIN_VALUE; + private long last_time = System.currentTimeMillis(); + + public DynamicTimeKeep() { + this.last_time = System.currentTimeMillis(); + } + + public DynamicTimeKeep(double speed) { + this.speed = speed; + this.last_time = System.currentTimeMillis(); + } + + public void update() { + long diff = System.currentTimeMillis() - this.last_time; + diff *= speed; + this.time += diff; + this.last_time = System.currentTimeMillis(); + } + + public float getFloat() { + return (this.time % 1000L) / 1000.0f; + } + + public double getDouble() { + return (this.time % 1000L) / 1000.0; + } + + public float getFloat(float offset) { + long offsetTime = this.time + (long) (offset * 1000); + return (offsetTime % 1000L) / 1000.0f; + } + + public double getDouble(double offset) { + long offsetTime = this.time + (long) (offset * 1000); + return (offsetTime % 1000L) / 1000.0f; + } + + public void speedUp(double amount) { + this.speed += amount; + } + + public void slowDown(double amount) { + this.speed -= amount; + } + } } 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 c00e44d29..01c7ba094 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 @@ -17,16 +17,16 @@ public class RootPlantRenderer implements BlockEntityRenderer, BlockEntityRendererProvider { - private static RootPlantStateOneModel rootPlantStateOneModel; - private static RootPlantStateTwoModel rootPlantStateTwoModel; - private static RootPlantStateThreeModel rootPlantStateThreeModel; - private static RootPlantStateFourModel rootPlantStateFourModel; - private static RootPlantStateFiveModel rootPlantStateFiveModel; private static final ResourceLocation rootPlantOneTexture = new ResourceLocation(TardisRefined.MODID, "textures/blockentity/root/root_plant/stage_one.png"); private static final ResourceLocation rootPlantTwoTexture = new ResourceLocation(TardisRefined.MODID, "textures/blockentity/root/root_plant/stage_two.png"); private static final ResourceLocation rootPlantThreeTexture = new ResourceLocation(TardisRefined.MODID, "textures/blockentity/root/root_plant/stage_three.png"); private static final ResourceLocation rootPlantFourTexture = new ResourceLocation(TardisRefined.MODID, "textures/blockentity/root/root_plant/stage_four.png"); private static final ResourceLocation rootPlantFiveTexture = new ResourceLocation(TardisRefined.MODID, "textures/blockentity/root/root_plant/stage_five.png"); + private static RootPlantStateOneModel rootPlantStateOneModel; + private static RootPlantStateTwoModel rootPlantStateTwoModel; + private static RootPlantStateThreeModel rootPlantStateThreeModel; + private static RootPlantStateFourModel rootPlantStateFourModel; + private static RootPlantStateFiveModel rootPlantStateFiveModel; public RootPlantRenderer(BlockEntityRendererProvider.Context context) { rootPlantStateOneModel = new RootPlantStateOneModel(context.bakeLayer((ModelRegistry.ROOT_PLANT_STATE_ONE))); @@ -58,8 +58,8 @@ public void render(RootPlantBlockEntity blockEntity, float f, PoseStack poseStac i, OverlayTexture.NO_OVERLAY, 1f, 1f, 1f, 1f); break; - case 3: - rootPlantStateFourModel.renderToBuffer(poseStack, multiBufferSource.getBuffer(RenderType.entityTranslucent(rootPlantFourTexture)), + case 3: + rootPlantStateFourModel.renderToBuffer(poseStack, multiBufferSource.getBuffer(RenderType.entityTranslucent(rootPlantFourTexture)), i, OverlayTexture.NO_OVERLAY, 1f, 1f, 1f, 1f); break; diff --git a/common/src/main/java/whocraft/tardis_refined/client/renderer/blockentity/console/GlobalConsoleRenderer.java b/common/src/main/java/whocraft/tardis_refined/client/renderer/blockentity/console/GlobalConsoleRenderer.java index c56702ebf..4474f5957 100644 --- a/common/src/main/java/whocraft/tardis_refined/client/renderer/blockentity/console/GlobalConsoleRenderer.java +++ b/common/src/main/java/whocraft/tardis_refined/client/renderer/blockentity/console/GlobalConsoleRenderer.java @@ -13,6 +13,7 @@ import whocraft.tardis_refined.client.model.blockentity.console.ConsoleModelCollection; import whocraft.tardis_refined.client.model.blockentity.console.ConsoleUnit; import whocraft.tardis_refined.client.model.blockentity.shell.ShellModelCollection; +import whocraft.tardis_refined.client.renderer.RenderHelper; import whocraft.tardis_refined.client.screen.selections.ShellSelectionScreen; import whocraft.tardis_refined.common.block.console.GlobalConsoleBlock; import whocraft.tardis_refined.common.blockentity.console.GlobalConsoleBlockEntity; @@ -44,7 +45,7 @@ public void render(GlobalConsoleBlockEntity blockEntity, float partialTick, Pose consoleModel.renderConsole(blockEntity, blockEntity.getLevel(), poseStack, bufferSource.getBuffer(RenderType.entityTranslucent(consoleModel.getTexture(blockEntity))), packedLight, OverlayTexture.NO_OVERLAY, 1f, 1f, 1f, 1f); if (blockEntity != null && blockEntity.getBlockState().getValue(GlobalConsoleBlock.POWERED)) { - if(blockEntity.pattern() != null && blockEntity.pattern().patternTexture().emissive()) { + if (blockEntity.pattern() != null && blockEntity.pattern().patternTexture().emissive()) { consoleModel.renderConsole(blockEntity, blockEntity.getLevel(), poseStack, bufferSource.getBuffer(RenderType.entityTranslucentEmissive(consoleModel.getTexture(blockEntity, true))), 15728640, OverlayTexture.NO_OVERLAY, 1f, 1f, 1f, 1f); } } @@ -53,7 +54,7 @@ public void render(GlobalConsoleBlockEntity blockEntity, float partialTick, Pose if (blockEntity != null && blockEntity.getBlockState().getValue(GlobalConsoleBlock.POWERED)) { if (theme.toString().equals(ConsoleTheme.CRYSTAL.getId().toString())) { - renderHoloShell(crystalHolo,270, blockEntity, poseStack, bufferSource, packedLight, crystalHoloColor); + renderHoloShell(crystalHolo, 270, blockEntity, poseStack, bufferSource, packedLight, crystalHoloColor); } if (theme.toString().equals(ConsoleTheme.INITIATIVE.getId().toString())) { @@ -99,7 +100,17 @@ private void renderHoloShell(Vec3 offset, int rotation, GlobalConsoleBlockEntity // Add rotation effect if (reactions.isFlying()) { - poseStack.mulPose(Axis.YP.rotationDegrees((blockEntity.getLevel().getGameTime() % 360) * (reactions.getThrottleStage() * 5L))); + // Time-based calculations for loop able motion and rotation + long time = System.currentTimeMillis(); + float timeFactor = (time % 4000L) / 4000.0f * (float) (2 * Math.PI); + + // Chaotic but loop able rotations + float xR = (float) Math.sin(timeFactor * 2) * 15.0f; // Wobble on X-axis + float yR = ((timeFactor * 360 / (float) (2 * Math.PI)) % 360) * reactions.getThrottleStage(); // Continuous spin on Y-axis + float zR = (float) Math.cos(timeFactor * 3) * 10.0f; // Wobble on Z-axis + int control = 1; + RenderHelper.rotateZYX(poseStack, xR * control, yR * control, zR * control); + } else { poseStack.mulPose(Axis.YP.rotationDegrees(rotation % 360)); } @@ -108,6 +119,8 @@ private void renderHoloShell(Vec3 offset, int rotation, GlobalConsoleBlockEntity ShellSelectionScreen.generateDummyGlobalShell(); } + ShellSelectionScreen.globalShellBlockEntity.setTardisId(reactions.getLevelKey()); + // Dynamic flickering alpha for a hologram effect float flickerAlpha = 0.2f + blockEntity.getLevel().random.nextFloat() * 0.1f; @@ -118,6 +131,7 @@ private void renderHoloShell(Vec3 offset, int rotation, GlobalConsoleBlockEntity float green = recoveryOrCrashing ? 0.5f + (float) Math.sin(time + Math.PI / 2) * 0.5f : (float) color.y; float blue = recoveryOrCrashing ? 0.5f + (float) Math.sin(time + Math.PI) * 0.5f : (float) color.z; + model.setIgnoreAnmationAlpha(!reactions.isTakingOff() && !reactions.isLanding()); model.renderShell( ShellSelectionScreen.globalShellBlockEntity, false, @@ -131,6 +145,7 @@ private void renderHoloShell(Vec3 offset, int rotation, GlobalConsoleBlockEntity blue, flickerAlpha ); + model.setIgnoreAnmationAlpha(false); poseStack.popPose(); } diff --git a/common/src/main/java/whocraft/tardis_refined/client/renderer/blockentity/device/ArtronPillarRenderer.java b/common/src/main/java/whocraft/tardis_refined/client/renderer/blockentity/device/ArtronPillarRenderer.java index 77bc4bde4..6a5df3222 100644 --- a/common/src/main/java/whocraft/tardis_refined/client/renderer/blockentity/device/ArtronPillarRenderer.java +++ b/common/src/main/java/whocraft/tardis_refined/client/renderer/blockentity/device/ArtronPillarRenderer.java @@ -30,6 +30,7 @@ public class ArtronPillarRenderer implements BlockEntityRenderer, BlockEntityRendererProvider { + private static final float HALF_SQRT_3 = (float) (Math.sqrt(3.0D) / 2.0D); private final ArtronPillarBlockModel 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"); @@ -38,8 +39,6 @@ public ArtronPillarRenderer(Context context) { artronPillarBlockModel = new ArtronPillarBlockModel(context.bakeLayer((ModelRegistry.ARTRON_PILLAR))); } - private static final float HALF_SQRT_3 = (float) (Math.sqrt(3.0D) / 2.0D); - private static void vertex01(VertexConsumer iVertexBuilder, Matrix4f matrix4f, int p_229061_2_) { iVertexBuilder.vertex(matrix4f, 0.0F, 0.0F, 0.0F).color(255, 255, 255, p_229061_2_).endVertex(); iVertexBuilder.vertex(matrix4f, 0.0F, 0.0F, 0.0F).color(255, 255, 255, p_229061_2_).endVertex(); @@ -89,7 +88,7 @@ public void render(ArtronPillarBlockEntity blockEntity, float f, PoseStack poseS poseStack.mulPose(Axis.YP.rotationDegrees(Minecraft.getInstance().player.tickCount * (shouldRotateOtherWay ? -0.5f : 0.5f))); - poseStack.scale(0.075F * sine,0.075F * sine,0.075F * sine); + poseStack.scale(0.075F * sine, 0.075F * sine, 0.075F * sine); for (int x = 0; (float) x < (f5 + f5 * f5) / 2.0F * 60.0F; ++x) { poseStack.mulPose(Axis.XP.rotationDegrees(random.nextFloat() * 360.0F)); 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 a9e4cd6de..20fc96673 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 @@ -49,7 +49,7 @@ public void render(AstralManipulatorBlockEntity blockEntity, float partialTick, float height = 1; float length = 1; - var centerOfBoth = new Vector3f(0,0,0); + var centerOfBoth = new Vector3f(0, 0, 0); if (pointB != null) { float xDiff = Math.abs(pointA.getX() - pointB.getX()); @@ -72,15 +72,14 @@ public void render(AstralManipulatorBlockEntity blockEntity, float partialTick, } - var centerPos = pointB != null ? centerOfBoth : new Vector3f(pointA.getX(), pointA.getY(), pointA.getZ()); var posAOffsetX = blockEntity.getBlockPos().getX() - centerPos.x - .5f; - var posAOffsetY = blockEntity.getBlockPos().getY() - centerPos.y- .5f; - var posAOffsetZ = blockEntity.getBlockPos().getZ() - centerPos.z- .5f; + var posAOffsetY = blockEntity.getBlockPos().getY() - centerPos.y - .5f; + var posAOffsetZ = blockEntity.getBlockPos().getZ() - centerPos.z - .5f; - float sine = (float)(Math.sin(blockEntity.getLevel().getGameTime()*10f*Math.PI/8f)*(0.25f/2f) + (0.25f/2f)) * 0.25f; + float sine = (float) (Math.sin(blockEntity.getLevel().getGameTime() * 10f * Math.PI / 8f) * (0.25f / 2f) + (0.25f / 2f)) * 0.25f; if (sine < 0.001) { sine = 0.001f; } @@ -89,11 +88,11 @@ public void render(AstralManipulatorBlockEntity blockEntity, float partialTick, poseStack.translate(-posAOffsetX, -posAOffsetY, -posAOffsetZ); VertexConsumer vertexBuilder = bufferSource.getBuffer(RenderType.lightning()); - if(Minecraft.getInstance().player.getItemBySlot(EquipmentSlot.MAINHAND).getItem() instanceof ScrewdriverItem screwdriverItem) { + 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); } 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 + sine, 0); } 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 b6624ac6f..54fdb7a8d 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 @@ -11,7 +11,6 @@ import net.minecraft.world.level.block.state.BlockState; import whocraft.tardis_refined.client.model.blockentity.door.interior.ShellDoorModel; import whocraft.tardis_refined.client.model.blockentity.shell.ShellModelCollection; -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 whocraft.tardis_refined.compat.ModCompatChecker; @@ -30,8 +29,8 @@ public GlobalDoorRenderer(BlockEntityRendererProvider.Context context) { @Override public void render(GlobalDoorBlockEntity blockEntity, float partialTick, PoseStack poseStack, MultiBufferSource bufferSource, int packedLight, int packedOverlay) { - if(ModCompatChecker.immersivePortals()){ - if(ImmersivePortalsClient.shouldStopRenderingInPortal()){ + if (ModCompatChecker.immersivePortals()) { + if (ImmersivePortalsClient.shouldStopRenderingInPortal()) { return; } } diff --git a/common/src/main/java/whocraft/tardis_refined/client/renderer/blockentity/door/RootShellDoorRenderer.java b/common/src/main/java/whocraft/tardis_refined/client/renderer/blockentity/door/RootShellDoorRenderer.java index 8bc8bf8d7..383c8f6ad 100644 --- a/common/src/main/java/whocraft/tardis_refined/client/renderer/blockentity/door/RootShellDoorRenderer.java +++ b/common/src/main/java/whocraft/tardis_refined/client/renderer/blockentity/door/RootShellDoorRenderer.java @@ -17,8 +17,8 @@ public class RootShellDoorRenderer implements BlockEntityRenderer, BlockEntityRendererProvider { - private static RootShellDoorModel rootShellDoorModel; private static final ResourceLocation rootShellDoorTexture = new ResourceLocation(TardisRefined.MODID, "textures/blockentity/root/root_plant/internal_door.png"); + private static RootShellDoorModel rootShellDoorModel; public RootShellDoorRenderer(BlockEntityRendererProvider.Context context) { rootShellDoorModel = new RootShellDoorModel(context.bakeLayer((ModelRegistry.ROOT_SHELL_DOOR))); diff --git a/common/src/main/java/whocraft/tardis_refined/client/renderer/blockentity/life/ArsEggRenderer.java b/common/src/main/java/whocraft/tardis_refined/client/renderer/blockentity/life/ArsEggRenderer.java index b2d14f4f7..1e9d4116a 100644 --- a/common/src/main/java/whocraft/tardis_refined/client/renderer/blockentity/life/ArsEggRenderer.java +++ b/common/src/main/java/whocraft/tardis_refined/client/renderer/blockentity/life/ArsEggRenderer.java @@ -39,8 +39,8 @@ public void render(ArsEggBlockEntity blockEntity, float f, PoseStack poseStack, BlockState blockState = blockEntity.getBlockState(); - if(!blockState.getValue(ArsEggBlock.HANGING)){ - poseStack.translate(0, -0.3, 0); + if (!blockState.getValue(ArsEggBlock.HANGING)) { + poseStack.translate(0, -0.3, 0); } poseStack.mulPose(Axis.ZP.rotationDegrees(180F)); @@ -48,11 +48,11 @@ public void render(ArsEggBlockEntity blockEntity, float f, PoseStack poseStack, arsEggModel.root().getAllParts().forEach(ModelPart::resetPose); - if(!blockEntity.getLiveliness().isStarted()) { + if (!blockEntity.getLiveliness().isStarted()) { blockEntity.getLiveliness().start(12); } - if(blockState.getValue(ArsEggBlock.HANGING)){ + if (blockState.getValue(ArsEggBlock.HANGING)) { TardisClientData tardisClientData = TardisClientData.getInstance(Minecraft.getInstance().level.dimension()); boolean crashing = tardisClientData.isCrashing(); int animationCounter = Minecraft.getInstance().player.tickCount; @@ -62,7 +62,7 @@ public void render(ArsEggBlockEntity blockEntity, float f, PoseStack poseStack, arsEggModel.renderToBuffer(blockEntity, poseStack, multiBufferSource.getBuffer(RenderType.entityTranslucent(arsEggTexture)), i, OverlayTexture.NO_OVERLAY, 1f, 1f, 1f, 1f); - if(blockState.getValue(ArsEggBlock.ALIVE)) { + if (blockState.getValue(ArsEggBlock.ALIVE)) { arsEggModel.renderToBuffer(blockEntity, poseStack, multiBufferSource.getBuffer(RenderType.entityTranslucentEmissive(arsEggTextureEmissive)), i, OverlayTexture.NO_OVERLAY, 1f, 1f, 1f, 1F); } diff --git a/common/src/main/java/whocraft/tardis_refined/client/renderer/blockentity/life/EyeRenderer.java b/common/src/main/java/whocraft/tardis_refined/client/renderer/blockentity/life/EyeRenderer.java index bf4244c63..64054417f 100644 --- a/common/src/main/java/whocraft/tardis_refined/client/renderer/blockentity/life/EyeRenderer.java +++ b/common/src/main/java/whocraft/tardis_refined/client/renderer/blockentity/life/EyeRenderer.java @@ -12,8 +12,6 @@ import org.joml.Matrix4f; import org.joml.Random; import whocraft.tardis_refined.client.renderer.RenderHelper; -import whocraft.tardis_refined.common.block.shell.ShellBaseBlock; -import whocraft.tardis_refined.common.blockentity.life.ArsEggBlockEntity; import whocraft.tardis_refined.common.blockentity.life.EyeBlockEntity; public class EyeRenderer implements BlockEntityRenderer, BlockEntityRendererProvider { @@ -23,6 +21,10 @@ public class EyeRenderer implements BlockEntityRenderer, BlockEn private static final float HALF_SQRT_3 = (float) (Math.sqrt(3.0D) / 2.0D); private final Context context; + public EyeRenderer(BlockEntityRendererProvider.Context context) { + this.context = context; + } + private static void vertex01(VertexConsumer iVertexBuilder, Matrix4f matrix4f, int p_229061_2_) { iVertexBuilder.vertex(matrix4f, 0.0F, 0.0F, 0.0F).color(255, 255, 255, p_229061_2_).endVertex(); iVertexBuilder.vertex(matrix4f, 0.0F, 0.0F, 0.0F).color(255, 255, 255, p_229061_2_).endVertex(); @@ -40,11 +42,6 @@ private static void vertex4(VertexConsumer iVertexBuilder, Matrix4f matrix4f, fl iVertexBuilder.vertex(matrix4f, 0.0F, p_229063_2_, 1.0F * p_229063_3_).color(255, 93, 0, 0).endVertex(); } - public EyeRenderer(BlockEntityRendererProvider.Context context) { - this.context = context; - } - - @Override public boolean shouldRender(EyeBlockEntity blockEntity, Vec3 vec3) { return BlockEntityRenderer.super.shouldRender(blockEntity, vec3); @@ -73,8 +70,7 @@ public void render(EyeBlockEntity blockEntity, float f, PoseStack poseStack, Mul poseStack.mulPose(Axis.YP.rotationDegrees(Minecraft.getInstance().player.tickCount * 0.5f)); - - poseStack.scale(0.15F * sine,0.15F * sine,0.15F * sine); + poseStack.scale(0.15F * sine, 0.15F * sine, 0.15F * sine); for (int i = 0; (float) i < (f5 + f5 * f5) / 2.0F * 60.0F; ++i) { poseStack.mulPose(Axis.XP.rotationDegrees(random.nextFloat() * 360.0F)); @@ -100,7 +96,7 @@ public void render(EyeBlockEntity blockEntity, float f, PoseStack poseStack, Mul int sideWidth = 7; - RenderHelper.drawGlowingBox(poseStack, vertexBuilder, sideWidth, sideWidth , sideWidth, 1, 0.11f, 0, 1 , 0 ); + RenderHelper.drawGlowingBox(poseStack, vertexBuilder, sideWidth, sideWidth, sideWidth, 1, 0.11f, 0, 1, 0); poseStack.popPose(); } 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 bf82647f8..022235ea1 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,6 +1,5 @@ package whocraft.tardis_refined.client.renderer.blockentity.shell; -import com.mojang.blaze3d.systems.RenderSystem; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.math.Axis; import net.minecraft.client.renderer.MultiBufferSource; @@ -9,7 +8,6 @@ import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider; import net.minecraft.client.renderer.texture.OverlayTexture; import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.level.block.RenderShape; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.Vec3; import whocraft.tardis_refined.client.model.blockentity.shell.ShellModelCollection; @@ -27,7 +25,7 @@ public GlobalShellRenderer(Context context) { @Override public void render(GlobalShellBlockEntity blockEntity, float partialTick, PoseStack poseStack, MultiBufferSource bufferSource, int packedLight, int packedOverlay) { - if(blockEntity.getTardisId() == null) return; + if (blockEntity.getTardisId() == null) return; poseStack.pushPose(); poseStack.translate(0.5F, 1.5F, 0.5F); @@ -75,6 +73,7 @@ public boolean shouldRenderOffScreen(GlobalShellBlockEntity blockEntity) { public boolean shouldRender(GlobalShellBlockEntity blockEntity, Vec3 vec3) { return true; } + @Override public BlockEntityRenderer create(Context context) { return new GlobalShellRenderer(context); 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 3bb974beb..3d0181272 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 @@ -19,10 +19,9 @@ public class RootShellRenderer implements BlockEntityRenderer, BlockEntityRendererProvider { - private static RootShellModel rootShellModel; - private static final ResourceLocation rootShellTexture = new ResourceLocation(TardisRefined.MODID, "textures/blockentity/shell/root/root_shell.png"); private static final ResourceLocation rootShellClosed = new ResourceLocation(TardisRefined.MODID, "textures/blockentity/shell/root/root_shell_closed.png"); + private static RootShellModel rootShellModel; public RootShellRenderer(BlockEntityRendererProvider.Context context) { rootShellModel = new RootShellModel(context.bakeLayer((ModelRegistry.ROOT_SHELL))); @@ -39,13 +38,15 @@ public void render(RootedShellBlockEntity blockEntity, float f, PoseStack poseSt boolean isOpen = blockEntity.getBlockState().getValue(ShellBaseBlock.OPEN); - rootShellModel.renderToBuffer(poseStack, multiBufferSource.getBuffer(RenderType.entityTranslucent( (isOpen) ? rootShellTexture : rootShellClosed)), + rootShellModel.renderToBuffer(poseStack, multiBufferSource.getBuffer(RenderType.entityTranslucent((isOpen) ? rootShellTexture : rootShellClosed)), i, OverlayTexture.NO_OVERLAY, 1f, 1f, 1f, 1f); float sine = 0; if (blockstate.getValue(ShellBaseBlock.REGEN)) { sine = (float) ((Math.sin(0.1 * (blockEntity.getLevel().dayTime())) * 1)); - if (sine < 0) {sine =0;} + if (sine < 0) { + sine = 0; + } rootShellModel.renderToBuffer(poseStack, multiBufferSource.getBuffer(RenderType.entityTranslucentEmissive(rootShellClosed)), i, OverlayTexture.NO_OVERLAY, 1f, 1f, 1f, sine); diff --git a/common/src/main/java/whocraft/tardis_refined/client/renderer/entity/ControlEntityRenderer.java b/common/src/main/java/whocraft/tardis_refined/client/renderer/entity/ControlEntityRenderer.java index 81d7538d0..e3f71d6cd 100644 --- a/common/src/main/java/whocraft/tardis_refined/client/renderer/entity/ControlEntityRenderer.java +++ b/common/src/main/java/whocraft/tardis_refined/client/renderer/entity/ControlEntityRenderer.java @@ -1,6 +1,7 @@ package whocraft.tardis_refined.client.renderer.entity; -import com.mojang.blaze3d.vertex.*; +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.VertexConsumer; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.Font; import net.minecraft.client.renderer.MultiBufferSource; @@ -11,17 +12,15 @@ import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; import net.minecraft.util.FormattedCharSequence; -import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.level.Level; import net.minecraft.world.phys.EntityHitResult; import net.minecraft.world.phys.HitResult; import org.joml.Matrix4f; import whocraft.tardis_refined.TRConfig; - import whocraft.tardis_refined.TardisRefined; import whocraft.tardis_refined.client.TRParticles; import whocraft.tardis_refined.common.entity.ControlEntity; -import whocraft.tardis_refined.common.items.GlassesItem; +import whocraft.tardis_refined.compat.CuriosTrinketsUtil; public class ControlEntityRenderer extends NoopRenderer { @@ -36,6 +35,21 @@ public ControlEntityRenderer(EntityRendererProvider.Context context) { super(context); } + private static void vertex(VertexConsumer builder, PoseStack matrixStack, float x, float y, float z, float u, float v, int light) { + vertex(builder, matrixStack, x, y, z, u, v, 255, light); + } + + private static void vertex(VertexConsumer builder, PoseStack matrixStack, float x, float y, float z, float u, float v, int alpha, int light) { + PoseStack.Pose entry = matrixStack.last(); + builder.vertex(entry.pose(), x, y, z) + .color(255, 255, 255, alpha) + .uv(u, v) + .overlayCoords(OverlayTexture.NO_OVERLAY) + .uv2(light) + .normal(entry.normal(), 0F, 0F, -1F) + .endVertex(); + } + @Override protected boolean shouldShowName(ControlEntity entity) { return (TRConfig.CLIENT.CONTROL_NAMES.get() && Minecraft.renderNames() && isMouseOverEntity(entity)); @@ -57,7 +71,7 @@ public void render(ControlEntity entity, float f, float g, PoseStack poseStack, } Level entityLevel = entity.level(); - if (Minecraft.getInstance().player.getItemBySlot(EquipmentSlot.HEAD).getItem() instanceof GlassesItem) { + if (!CuriosTrinketsUtil.getInstance().getFirstFoundGlider(Minecraft.getInstance().player).isEmpty()) { if (entity.isTickingDown()) { if (entityLevel.random.nextInt(20) == 0) { entityLevel.addParticle(TRParticles.GALLIFREY.get(), entity.getRandomX(0.1), entity.blockPosition().getY(), entity.getRandomZ(0.1), 0.0, 0.0, 0.0); @@ -92,17 +106,17 @@ protected void renderNameTag(ControlEntity entity, Component component, PoseStac FormattedCharSequence sequence = component.getVisualOrderText(); - font.drawInBatch8xOutline(sequence, textHorizontalPosition, (float) verticalTextOffset, 16777215, 0, textMatrix, multiBufferSource, packedLightCoords); + font.drawInBatch8xOutline(sequence, textHorizontalPosition, (float) verticalTextOffset, 16777215, 0, textMatrix, multiBufferSource, packedLightCoords); if (isSolid) { - font.drawInBatch8xOutline(sequence, textHorizontalPosition, (float) verticalTextOffset, 16777215, 0, textMatrix, multiBufferSource, packedLightCoords); + font.drawInBatch8xOutline(sequence, textHorizontalPosition, (float) verticalTextOffset, 16777215, 0, textMatrix, multiBufferSource, packedLightCoords); } // Damage used for the icon later on. Left for Jeryn. int entityHealth = entity.getControlHealth(); poseStack.translate(0.0, 5, 0.0); - renderControlIcon(entity, component, getIconByState(entityHealth), poseStack, multiBufferSource, packedLightCoords ); + renderControlIcon(entity, component, getIconByState(entityHealth), poseStack, multiBufferSource, packedLightCoords); poseStack.popPose(); @@ -133,7 +147,6 @@ public ResourceLocation getIconByState(int entityHealth) { } - private void renderControlIcon(ControlEntity entity, Component component, ResourceLocation texture, PoseStack matrixStackIn, MultiBufferSource buffer, int light) { float offset = (float) -(Minecraft.getInstance().font.width(component) / 2 + 18); @@ -160,19 +173,4 @@ private void renderControlIcon(ControlEntity entity, Component component, Resour } - private static void vertex(VertexConsumer builder, PoseStack matrixStack, float x, float y, float z, float u, float v, int light) { - vertex(builder, matrixStack, x, y, z, u, v, 255, light); - } - - private static void vertex(VertexConsumer builder, PoseStack matrixStack, float x, float y, float z, float u, float v, int alpha, int light) { - PoseStack.Pose entry = matrixStack.last(); - builder.vertex(entry.pose(), x, y, z) - .color(255, 255, 255, alpha) - .uv(u, v) - .overlayCoords(OverlayTexture.NO_OVERLAY) - .uv2(light) - .normal(entry.normal(), 0F, 0F, -1F) - .endVertex(); - } - } 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 new file mode 100644 index 000000000..75be7f8cc --- /dev/null +++ b/common/src/main/java/whocraft/tardis_refined/client/renderer/vortex/ShellRenderer.java @@ -0,0 +1,76 @@ +package whocraft.tardis_refined.client.renderer.vortex; + +import com.mojang.blaze3d.platform.Lighting; +import com.mojang.blaze3d.systems.RenderSystem; +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.VertexConsumer; +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.GuiGraphics; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.renderer.texture.OverlayTexture; +import net.minecraft.resources.ResourceLocation; +import whocraft.tardis_refined.client.TardisClientData; +import whocraft.tardis_refined.client.model.blockentity.shell.ShellModel; +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.patterns.ShellPattern; +import whocraft.tardis_refined.patterns.ShellPatterns; + +import static whocraft.tardis_refined.client.overlays.VortexOverlay.VORTEX; +import static whocraft.tardis_refined.client.screen.selections.ShellSelectionScreen.globalShellBlockEntity; + +public class ShellRenderer { + + + public static void renderShell(GuiGraphics guiGraphics, float control, float alpha, int throttle) { + TardisPlayerInfo.get(Minecraft.getInstance().player).ifPresent(tardisPlayerInfo -> { + + TardisClientData tardisClientData = TardisClientData.getInstance(tardisPlayerInfo.getPlayerPreviousPos().getDimensionKey()); + ResourceLocation shellPattern = tardisClientData.getShellPattern(); + ResourceLocation shellTheme = tardisClientData.getShellTheme(); + ShellPattern fullPattern = ShellPatterns.getPatternOrDefault(shellTheme, shellPattern); + ShellModel model = ShellModelCollection.getInstance().getShellEntry(shellTheme).getShellModel(fullPattern); + model.setDoorPosition(false); + + Lighting.setupFor3DItems(); + + PoseStack pose = guiGraphics.pose(); + pose.pushPose(); + + // Position the shell and apply scale + RenderHelper.rotateZYX(pose, 180, 0, 0); + + // Time-based calculations for loop able motion and rotation + long time = System.currentTimeMillis(); + float timeFactor = (time % 4000L) / 4000.0f * (float) (2 * Math.PI); + + // Chaotic but loop able rotations + float xR = (float) Math.sin(timeFactor * 2) * 15.0f; // Wobble on X-axis + float yR = ((timeFactor * 360 / (float) (2 * Math.PI)) % 360) * (1 + throttle * 0.5f); // Continuous spin on Y-axis + float zR = (float) Math.cos(timeFactor * 3) * 10.0f; // Wobble on Z-axis + + //pose.translate(0, -1.5, 0);//yR * control + RenderHelper.rotateZYX(pose, xR * control, 0, zR * control); + RenderHelper.rotateZYX(pose, 0, yR * control, 0); + //pose.translate(0, 1.5, 0); + VertexConsumer vertexConsumer = guiGraphics.bufferSource().getBuffer(model.renderType(model.getShellTexture(ShellPatterns.getPatternOrDefault(shellTheme, shellPattern), false))); + RenderSystem.enableBlend(); + globalShellBlockEntity.setTardisId(tardisClientData.getLevelKey()); + model.renderShell(globalShellBlockEntity, false, false, pose, vertexConsumer, 15728880, OverlayTexture.NO_OVERLAY, 1.0F, 1.0F, 1.0F, alpha); + if (fullPattern.exteriorDoorTexture().emissive()) { + VertexConsumer vertexConsumerLighting = guiGraphics.bufferSource().getBuffer(RenderType.entityTranslucentEmissive(model.getShellTexture(ShellPatterns.getPatternOrDefault(shellTheme, shellPattern), true))); + model.renderShell(globalShellBlockEntity, false, false, pose, vertexConsumerLighting, 15728880, OverlayTexture.NO_OVERLAY, 1.0F, 1.0F, 1.0F, alpha); + } + + + VertexConsumer lightning = guiGraphics.bufferSource().getBuffer(RenderType.entityGlint()); + if (VORTEX.lightning_strike > 0.4) { + model.renderShell(globalShellBlockEntity, false, false, pose, lightning, 15728880, OverlayTexture.NO_OVERLAY, 1, 1, 1, alpha); + } + + guiGraphics.flush(); + pose.popPose(); + }); + } +} 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 new file mode 100644 index 000000000..eea551b0a --- /dev/null +++ b/common/src/main/java/whocraft/tardis_refined/client/renderer/vortex/VortexRenderer.java @@ -0,0 +1,362 @@ +package whocraft.tardis_refined.client.renderer.vortex; + +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.Tesselator; +import com.mojang.blaze3d.vertex.VertexFormat.Mode; +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.GuiGraphics; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.sounds.SoundEvents; +import net.minecraft.util.Mth; +import net.minecraft.util.RandomSource; +import org.jetbrains.annotations.NotNull; +import whocraft.tardis_refined.TardisRefined; +import whocraft.tardis_refined.client.renderer.RenderHelper; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * Custom Time Vortex Renderer + * + * @author Edrax + **/ +@Environment(EnvType.CLIENT) +public class VortexRenderer { + + private static final RandomSource RAND = RandomSource.create(); + + private static final VortexGradientTint BlueOrngGradient = new VortexGradientTint() + .add(1f, 0, 46, 128) + .add(0f, 8, 109, 196) + .add(-0.5f, 193, 111, 20) + .add(-1f, 234, 204, 77); + + private static final VortexGradientTint ModernVortex = new VortexGradientTint() + .add(-1.0f, 238, 164, 107) + .add(-0.5f, 199, 92, 159) + .add(0.0f, 238, 164, 107) + .add(0.5f, 199, 92, 159) + .add(1.0f, 238, 164, 107); + + private static final VortexGradientTint PastelGradient = new VortexGradientTint() + .add(1f, 223, 190, 223) + .add(0.5f, 243, 209, 215) + .add(0f, 247, 223, 209) + .add(-0.5f, 228, 190, 207) + .add(-1f, 223, 190, 223); + public VortexTypes vortexType; + + public final RenderHelper.DynamicTimeKeep time = new RenderHelper.DynamicTimeKeep(2); + public VortexRenderer(VortexTypes type) { + this.vortexType = type; + } + private final List vortex_quads = new ArrayList<>(); + public float opacity = 1; + public float lightning_strike = 0; + + /** + * Renders the Time Vortex + */ + public void renderVortex(PoseStack pose, float opacity) { + this.opacity = Math.min(opacity, 1); + if (vortexType.movingGradient) this.vortexType.gradient.offset = time.getFloat() * 2; + this.time.update(); + pose.pushPose(); + + RenderHelper.rotateZYX(pose, 90.0f, 180, 0.0f); + pose.scale(1, this.vortexType.rows, 1); + + for (int row = -this.vortexType.rows; row < this.vortexType.rows; row++) { + Tesselator tesselator = beginTextureColor(Mode.TRIANGLE_STRIP); + pose.pushPose(); + pose.translate(0, o(row), 0); + RenderHelper.rotateZYX(pose, 0, row * this.vortexType.twist, 0); + + renderCylinder(pose, row); + + pose.popPose(); + tesselator.end(); + } + + if (this.vortexType.decals) { + Tesselator tesselator = beginTextureColor(Mode.QUADS); + for (int i = 0; i < this.vortexType.rows / 2f; i++) { + pose.pushPose(); + if (vortex_quads.size() < i + 1) { + vortex_quads.add(new VortexQuad(this.vortexType, this.time)); + break; + } + vortex_quads.get(i).renderQuad(pose, (float) (i / (this.vortexType.rows / 2f)), this.opacity); + this.lightning_strike += vortex_quads.get(i).lightning_strike * vortex_quads.get(i).lightning_strike / (this.vortexType.rows / 2f); + pose.popPose(); + } + //this.lightning_strike /= this.vortexType.rows / 2f; + tesselator.end(); + } + this.lightning_strike *= 0.9f; + pose.popPose(); + } + + public void renderVortex(GuiGraphics guiGraphics, float opacity) { + PoseStack pose = guiGraphics.pose(); + renderVortex(pose, opacity); + } + + private void renderCylinder(PoseStack poseStack, int row) { + float length = 1f / this.vortexType.rows; + + float oA = o(row + 1), oB = o(row); + + float radiusA = wobbleRadius(oA); + float radiusB = wobbleRadius(oB); + + for (int s = 0; s <= this.vortexType.sides; s++) { + float angle = 2 * Mth.PI * s / this.vortexType.sides; + + float xA = radiusA * Mth.cos(angle); + float zA = radiusA * Mth.sin(angle); + xA += xWobble(oA, (float) time.speed) * Mth.sin(oA); + zA += zWobble(oA, (float) time.speed) * Mth.sin(oA); + + float xB = radiusB * Mth.cos(angle); + float zB = radiusB * Mth.sin(angle); + xB += xWobble(oB, (float) time.speed) * Mth.sin(oB); + zB += zWobble(oB, (float) time.speed) * Mth.sin(oB); + + float u = (float) s / this.vortexType.sides * 0.5f; + + float timeOffset = time.getFloat(); + float uvOffset = length * row; + float vA = length + uvOffset + timeOffset; + float vB = 0.0f + uvOffset + timeOffset; + + float bA = radiusFunc(oA); + float bB = radiusFunc(oB); + + vertexUVColor(poseStack, xA, length, zA, u, vA, bA, bA, bA, 1.0f, oA); + RenderHelper.rotateZYX(poseStack, 0, -this.vortexType.twist, 0); + vertexUVColor(poseStack, xB, 0, zB, u, vB, bB, bB, bB, 1, oB); + RenderHelper.rotateZYX(poseStack, 0, this.vortexType.twist, 0); + } + + } + + private Tesselator beginTextureColor(Mode mode) { + return RenderHelper.beginTextureColor(this.vortexType.texture, mode, false); + } + + private void vertexUVColor(@NotNull PoseStack pose, float x, float y, float z, float u, float v, float r, float g, float b, float a, float o) { + float[] color = this.vortexType.gradient.getRGBf(o); + RenderHelper.vertexUVColor(pose, x, y, z, u, v, r * color[0], g * color[1], b * color[2], a * this.opacity); + } + + private static float timingWithOffset(float speed, float offset) { + long long_speed = (long) (speed * 1000L); + long time = System.currentTimeMillis() + (long) (1000L * offset); + try { + return (time % long_speed) / (speed * 1000.0f); + } catch (Exception e) { + return 1; + } + } + + private static float timing(float speed) { + return timingWithOffset(speed, 0.0f); + } + + private float o(int row) { + return row / (float) this.vortexType.rows; + } + + private static float radiusFunc(float o) { + return -(o * o) + 1; + } + + private static float wobbleRadius(float o) { + return radiusFunc(o) * (1 + (0.05f) * Mth.sin(Mth.DEG_TO_RAD * 360 * (o + timing(687))) * Mth.sin(Mth.DEG_TO_RAD * 360 * (o + timing(9852)))); + } + + private static float xWobble(float o, float SPEED) { + return (Mth.sin(o * 1 + timing(1.999f) * 2 * Mth.PI) + Mth.sin(o * 0.5f + timing(3.778f) * 2 * Mth.PI)) * SPEED * 2; + } + + private static float zWobble(float o, float SPEED) { + return (Mth.cos(o * 1 + timing(2.256f) * 2 * Mth.PI) + Mth.cos(o * 0.5f + timing(3.271f) * 2 * Mth.PI)) * SPEED * 2; + } + + + public enum VortexTypes { + + CLOUDS(new ResourceLocation(TardisRefined.MODID, "textures/vortex/clouds.png"), 9, 12, 10, true, true, BlueOrngGradient, false), + WAVES(new ResourceLocation(TardisRefined.MODID, "textures/vortex/waves.png"), 9, 12, 20, true, true, BlueOrngGradient, false), + STARS(new ResourceLocation(TardisRefined.MODID, "textures/vortex/stars.png"), 9, 12, 5, true, true, PastelGradient, true), + FLOW(new ResourceLocation(TardisRefined.MODID, "textures/vortex/clouds.png"), 9, 12, 5, true, true, ModernVortex, true), + SPACE(new ResourceLocation(TardisRefined.MODID, "textures/vortex/stars_2.png"), 9, 12, 5, true, true, ModernVortex, false); + + public final ResourceLocation texture; + public final VortexGradientTint gradient; + public int sides = 9, rows = 12; + public boolean decals = true; + public boolean lightning = false; + public boolean movingGradient = false; + float twist = 10; + + VortexTypes(ResourceLocation texture, int sides, int rows, float twist, boolean lightning, boolean decals, VortexGradientTint gradient, boolean movingGradient) { + this.texture = texture; + this.lightning = lightning; + this.sides = sides; + this.rows = rows; + this.twist = twist; + this.decals = decals || lightning; + this.gradient = gradient; + this.movingGradient = movingGradient; + } + } + + private static class VortexQuad { + + public boolean valid = true, lightning = false; + private float prev_tO = -1; + private float u = 0, v = 0; + private final float uvSize = 0.125f; + private float lightning_a; + private final VortexTypes vortexType; + private final RenderHelper.DynamicTimeKeep time; + public float lightning_strike = 0; + + public VortexQuad(VortexTypes type, RenderHelper.DynamicTimeKeep time) { + this.vortexType = type; + this.time = time; + } + + private void rndQuad() { + valid = true; + prev_tO = 1; + rndUV(); + lightning = RAND.nextBoolean() && this.vortexType.lightning; + } + + private void rndUV() { + u = RAND.nextIntBetweenInclusive(0, 3) * uvSize; + v = RAND.nextIntBetweenInclusive(0, 3) * uvSize; + } + + + public void renderQuad(PoseStack poseStack, float time_offset, float opacity) { + if (!valid) rndQuad(); + + float tO = -(time.getFloat(time_offset) * 2) - 1; + if (tO > prev_tO || !valid) { + valid = false; + return; + } + + if (lightning && System.currentTimeMillis() % 5 == 0) if (lightning && Math.random() > 0.95f) { + lightning_a = 3; + if (tO > 0) lightning_strike = (opacity * (1 - Mth.abs(tO * tO))); + assert Minecraft.getInstance().player != null; + Minecraft.getInstance().player.playSound(RAND.nextBoolean() ? SoundEvents.LIGHTNING_BOLT_IMPACT : SoundEvents.LIGHTNING_BOLT_THUNDER, (opacity * (1 - Mth.abs(tO * tO))) * 0.5F, (float) (Math.random() * (1 - Mth.abs(tO)))); + rndUV(); + } + + float u0 = 0.5f + u, v0 = v + (lightning ? 0.5f : 0); + float u1 = u0 + uvSize, v1 = v0 + uvSize; + + float x = xWobble(tO, (float) time.speed) * Mth.sin(tO), z = zWobble(tO, (float) time.speed) * Mth.sin(tO); + float s = wobbleRadius(tO); + float val = lightning ? 1 : radiusFunc(tO); + + float alpha = lightning ? lightning_a : val; + alpha = Math.min(alpha, 1); + alpha *= opacity; + poseStack.pushPose(); + RenderHelper.rotateZYX(poseStack, 0, -this.vortexType.twist, 0); + RenderHelper.rotateZYX(poseStack, 0, tO * this.vortexType.rows * this.vortexType.twist, 0); + vertexUVColor(poseStack, x - s, tO, z + s, u0, v1, val, alpha, tO, !lightning); + vertexUVColor(poseStack, x + s, tO, z + s, u1, v1, val, alpha, tO, !lightning); + vertexUVColor(poseStack, x + s, tO, z - s, u1, v0, val, alpha, tO, !lightning); + vertexUVColor(poseStack, x - s, tO, z - s, u0, v0, val, alpha, tO, !lightning); + + poseStack.popPose(); + prev_tO = tO; + lightning_a *= 0.9f; + lightning_strike *= 0.9f; + + } + + private void vertexUVColor(@NotNull PoseStack pose, float x, float y, float z, float u, float v, float val, float a, float o, boolean tint) { + float[] color = this.vortexType.gradient.getRGBf(o); + if (tint) + RenderHelper.vertexUVColor(pose, x, y, z, u, v, val * color[0], val * color[1], val * color[2], a); + else + RenderHelper.vertexUVColor(pose, x, y, z, u, v, val, val, val, a); + } + } + + public static class VortexGradientTint { + private final Map gradient_map = new HashMap<>(); + public float offset = 0; + + public VortexGradientTint() { + } + + /** + * Adds a color to the gradient map + * + * @param pos position in the gradient the color should go in. can be from -1 to 1 + * @param r RED 0 to 1 + * @param g GREEN 0 to 1 + * @param b BLUE 0 to 1 + * @return The VortexGradient with the color added + */ + public VortexGradientTint add(float pos, float r, float g, float b) { + this.gradient_map.put(pos, new float[]{r, g, b}); + return this; + } + + public VortexGradientTint add(float pos, int r, int g, int b) { + return add(pos, r / 255.0f, g / 255.0f, b / 255.0f); + } + + public float[] getRGBf(float pos_original) { + float r = 1, g = 1, b = 1; + float[] out = new float[]{r, g, b}; + if (gradient_map.isEmpty()) return out; + if (gradient_map.size() == 1) { + for (float p : gradient_map.keySet()) { + out = gradient_map.get(p); + } + return out; + } + + float pos = pos_original + offset; + while (pos > 1) pos -= 2; + while (pos < -1) pos += 2; + + float first = 0, second = 0, smallest_dist = 9999, second_smallest_dist = 1000; + + for (float p : gradient_map.keySet()) { + float dist = Mth.abs(pos - p); + if (dist < smallest_dist) { + second_smallest_dist = smallest_dist; + smallest_dist = dist; + second = first; + first = p; + } + } + + if (gradient_map.get(first) == null || gradient_map.get(second) == null) return out; + + r = Mth.lerp(smallest_dist / (smallest_dist + second_smallest_dist), gradient_map.get(first)[0], gradient_map.get(second)[0]); + g = Mth.lerp(smallest_dist / (smallest_dist + second_smallest_dist), gradient_map.get(first)[1], gradient_map.get(second)[1]); + b = Mth.lerp(smallest_dist / (smallest_dist + second_smallest_dist), gradient_map.get(first)[2], gradient_map.get(second)[2]); + + return new float[]{r, g, b}; + } + } +} diff --git a/common/src/main/java/whocraft/tardis_refined/client/screen/MonitorScreen.java b/common/src/main/java/whocraft/tardis_refined/client/screen/MonitorScreen.java index d03af0d61..2b895f64f 100644 --- a/common/src/main/java/whocraft/tardis_refined/client/screen/MonitorScreen.java +++ b/common/src/main/java/whocraft/tardis_refined/client/screen/MonitorScreen.java @@ -14,29 +14,27 @@ import whocraft.tardis_refined.client.screen.selections.HumSelectionScreen; import whocraft.tardis_refined.client.screen.selections.SelectionScreen; import whocraft.tardis_refined.common.capability.tardis.upgrades.UpgradeHandler; -import whocraft.tardis_refined.registry.TRUpgrades; import whocraft.tardis_refined.common.network.messages.EjectPlayerFromConsoleMessage; import whocraft.tardis_refined.common.network.messages.screens.C2SRequestShellSelection; import whocraft.tardis_refined.common.network.messages.waypoints.RequestWaypointsMessage; import whocraft.tardis_refined.common.tardis.TardisNavLocation; import whocraft.tardis_refined.common.util.MiscHelper; import whocraft.tardis_refined.constants.ModMessages; +import whocraft.tardis_refined.registry.TRUpgrades; import java.awt.*; public class MonitorScreen extends SelectionScreen { + public static ResourceLocation MONITOR_TEXTURE = new ResourceLocation(TardisRefined.MODID, "textures/gui/monitor.png"); private final TardisNavLocation currentLocation; private final TardisNavLocation targetLocation; private final UpgradeHandler upgradeHandler; - - protected int imageWidth = 256; protected int imageHeight = 173; private int leftPos, topPos; - - public static ResourceLocation MONITOR_TEXTURE = new ResourceLocation(TardisRefined.MODID, "textures/gui/monitor.png"); + private boolean noUpgrades = false; public MonitorScreen(TardisNavLocation currentLocation, TardisNavLocation targetLocation, UpgradeHandler upgradeHandler) { @@ -46,7 +44,6 @@ public MonitorScreen(TardisNavLocation currentLocation, TardisNavLocation target this.upgradeHandler = upgradeHandler; } - @Override public boolean isPauseScreen() { return false; @@ -62,8 +59,6 @@ protected void init() { super.init(); } - private boolean noUpgrades = false; - @Override public GenericMonitorSelectionList createSelectionList() { int leftPos = this.width / 2 - 75; diff --git a/common/src/main/java/whocraft/tardis_refined/client/screen/components/BackgroundlessButton.java b/common/src/main/java/whocraft/tardis_refined/client/screen/components/BackgroundlessButton.java index 19307d92c..d0ca8e5d1 100644 --- a/common/src/main/java/whocraft/tardis_refined/client/screen/components/BackgroundlessButton.java +++ b/common/src/main/java/whocraft/tardis_refined/client/screen/components/BackgroundlessButton.java @@ -16,6 +16,10 @@ protected BackgroundlessButton(int x, int y, int width, int height, Component me super(x, y, width, height, message, onPress, createNarration); } + public static Builder backgroundlessBuilder(Component message, OnPress onPress) { + return new Builder(message, onPress); + } + @Override protected void renderWidget(GuiGraphics guiGraphics, int mouseX, int mouseY, float partialTick) { guiGraphics.setColor(1.0F, 1.0F, 1.0F, 1.0F); @@ -23,10 +27,6 @@ protected void renderWidget(GuiGraphics guiGraphics, int mouseX, int mouseY, flo guiGraphics.drawString(Minecraft.getInstance().font, this.getMessage(), this.getX(), this.getY(), i | Mth.ceil(this.alpha * 255.0F) << 24, false); } - public static Builder backgroundlessBuilder(Component message, OnPress onPress) { - return new Builder(message, onPress); - } - @Environment(EnvType.CLIENT) public static class Builder { private final Component message; diff --git a/common/src/main/java/whocraft/tardis_refined/client/screen/components/GenericMonitorSelectionList.java b/common/src/main/java/whocraft/tardis_refined/client/screen/components/GenericMonitorSelectionList.java index 91c117a10..48bdd980c 100644 --- a/common/src/main/java/whocraft/tardis_refined/client/screen/components/GenericMonitorSelectionList.java +++ b/common/src/main/java/whocraft/tardis_refined/client/screen/components/GenericMonitorSelectionList.java @@ -1,6 +1,5 @@ package whocraft.tardis_refined.client.screen.components; -import com.mojang.blaze3d.vertex.PoseStack; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.gui.components.ObjectSelectionList; @@ -8,12 +7,13 @@ public class GenericMonitorSelectionList> extends ObjectSelectionList { /** * Creates a scrollable list with entries defined by a separate class + * * @param minecraft * @param width * @param height - * @param xLeftPos - the x coordinate for the start position of the scrollable list area - * @param yStart - the y coordinate for the top of the scrollable list area - * @param yEnd - the y coordinate for the bottom of the scrollable list area + * @param xLeftPos - the x coordinate for the start position of the scrollable list area + * @param yStart - the y coordinate for the top of the scrollable list area + * @param yEnd - the y coordinate for the bottom of the scrollable list area * @param itemHeight - height of each item in the list */ public GenericMonitorSelectionList(Minecraft minecraft, int width, int height, int xLeftPos, int yStart, int yEnd, int itemHeight) { @@ -39,7 +39,6 @@ public void render(GuiGraphics guiGraphics, int mouseX, int mouseY, float partia } - } 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 8bd6f9140..85d142031 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 @@ -1,6 +1,5 @@ package whocraft.tardis_refined.client.screen.components; -import com.mojang.blaze3d.vertex.PoseStack; import net.minecraft.ChatFormatting; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiGraphics; @@ -18,10 +17,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){ + 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); /* diff --git a/common/src/main/java/whocraft/tardis_refined/client/screen/selections/DesktopSelectionScreen.java b/common/src/main/java/whocraft/tardis_refined/client/screen/selections/DesktopSelectionScreen.java index 64a9cbf9d..a8465e659 100644 --- a/common/src/main/java/whocraft/tardis_refined/client/screen/selections/DesktopSelectionScreen.java +++ b/common/src/main/java/whocraft/tardis_refined/client/screen/selections/DesktopSelectionScreen.java @@ -24,21 +24,23 @@ public class DesktopSelectionScreen extends SelectionScreen { - private DesktopTheme currentDesktopTheme; - - - protected int imageWidth = 256; - protected int imageHeight = 173; - private int leftPos, topPos; - public static ResourceLocation MONITOR_TEXTURE = new ResourceLocation(TardisRefined.MODID, "textures/gui/desktop.png"); public static ResourceLocation MONITOR_TEXTURE_OVERLAY = new ResourceLocation(TardisRefined.MODID, "textures/gui/desktop_overlay.png"); public static ResourceLocation previousImage = TardisDesktops.FACTORY_THEME.getPreviewTexture(); + protected int imageWidth = 256; + protected int imageHeight = 173; + private DesktopTheme currentDesktopTheme; + private int leftPos, topPos; public DesktopSelectionScreen() { super(Component.translatable(ModMessages.UI_DESKTOP_SELECTION)); } + public static void selectDesktop(DesktopTheme theme) { + new ChangeDesktopMessage(Minecraft.getInstance().player.level().dimension(), theme).send(); + Minecraft.getInstance().setScreen(null); + } + @Override protected void init() { this.setEvents(() -> { @@ -106,11 +108,6 @@ public void render(GuiGraphics guiGraphics, int i, int j, float f) { } - public static void selectDesktop(DesktopTheme theme) { - new ChangeDesktopMessage(Minecraft.getInstance().player.level().dimension(), theme).send(); - Minecraft.getInstance().setScreen(null); - } - @Override public void renderBackground(GuiGraphics guiGraphics, int i, int j, float f) { diff --git a/common/src/main/java/whocraft/tardis_refined/client/screen/selections/HumSelectionScreen.java b/common/src/main/java/whocraft/tardis_refined/client/screen/selections/HumSelectionScreen.java index abec791b0..7af9d09c9 100644 --- a/common/src/main/java/whocraft/tardis_refined/client/screen/selections/HumSelectionScreen.java +++ b/common/src/main/java/whocraft/tardis_refined/client/screen/selections/HumSelectionScreen.java @@ -15,24 +15,27 @@ import whocraft.tardis_refined.common.hum.TardisHums; import whocraft.tardis_refined.common.network.messages.hums.ChangeHumMessage; import whocraft.tardis_refined.common.util.MiscHelper; + import java.util.Collection; import java.util.Comparator; public class HumSelectionScreen extends SelectionScreen { - private HumEntry currentHumEntry; - - + public static ResourceLocation MONITOR_TEXTURE = new ResourceLocation(TardisRefined.MODID, "textures/gui/monitor.png"); protected int imageWidth = 256; protected int imageHeight = 173; + private HumEntry currentHumEntry; private int leftPos, topPos; - public static ResourceLocation MONITOR_TEXTURE = new ResourceLocation(TardisRefined.MODID, "textures/gui/monitor.png"); - public HumSelectionScreen() { super(Component.translatable("")); } + public static void selectHum(HumEntry theme) { + new ChangeHumMessage(Minecraft.getInstance().player.level().dimension(), theme).send(); + Minecraft.getInstance().setScreen(null); + } + @Override public void addSubmitButton(int x, int y) { super.addSubmitButton(x, y); @@ -88,11 +91,6 @@ public void render(GuiGraphics guiGraphics, int i, int j, float f) { } - public static void selectHum(HumEntry theme) { - new ChangeHumMessage(Minecraft.getInstance().player.level().dimension(), theme).send(); - Minecraft.getInstance().setScreen(null); - } - @Override public void renderBackground(GuiGraphics guiGraphics, int i, int j, float f) { @@ -124,7 +122,7 @@ public ObjectSelectionList createSelectionList() { } selectionList.children().add(new SelectionListEntry(name, (entry) -> { - // previousImage = humEntry.getPreviewTexture(); + // previousImage = humEntry.getPreviewTexture(); this.currentHumEntry = humEntry; for (Object child : selectionList.children()) { diff --git a/common/src/main/java/whocraft/tardis_refined/client/screen/selections/SelectionScreen.java b/common/src/main/java/whocraft/tardis_refined/client/screen/selections/SelectionScreen.java index 22b08a814..23aba83ee 100644 --- a/common/src/main/java/whocraft/tardis_refined/client/screen/selections/SelectionScreen.java +++ b/common/src/main/java/whocraft/tardis_refined/client/screen/selections/SelectionScreen.java @@ -17,17 +17,14 @@ public class SelectionScreen extends Screen { - private SelectionScreenRun onSubmit; - private SelectionScreenRun onCancel; + public static final ResourceLocation BUTTON_LOCATION = new ResourceLocation(TardisRefined.MODID, "save"); + public static final ResourceLocation BCK_LOCATION = new ResourceLocation(TardisRefined.MODID, "back"); private final Component title; - - private ObjectSelectionList list; - public int noiseX, noiseY, age; public double noiseAlpha; - - public static final ResourceLocation BUTTON_LOCATION = new ResourceLocation(TardisRefined.MODID, "save"); - public static final ResourceLocation BCK_LOCATION = new ResourceLocation(TardisRefined.MODID, "back"); + private SelectionScreenRun onSubmit; + private SelectionScreenRun onCancel; + private ObjectSelectionList list; public SelectionScreen(Component title) { diff --git a/common/src/main/java/whocraft/tardis_refined/client/screen/selections/ShellSelectionScreen.java b/common/src/main/java/whocraft/tardis_refined/client/screen/selections/ShellSelectionScreen.java index 038854ec2..b825d9b09 100644 --- a/common/src/main/java/whocraft/tardis_refined/client/screen/selections/ShellSelectionScreen.java +++ b/common/src/main/java/whocraft/tardis_refined/client/screen/selections/ShellSelectionScreen.java @@ -39,21 +39,17 @@ public class ShellSelectionScreen extends SelectionScreen { + public static ResourceLocation MONITOR_TEXTURE = new ResourceLocation(TardisRefined.MODID, "textures/gui/shell.png"); + public static ResourceLocation NOISE = new ResourceLocation(TardisRefined.MODID, "textures/gui/noise.png"); + public static GlobalShellBlockEntity globalShellBlockEntity; private final List themeList; - private ResourceLocation currentShellTheme; - protected int imageWidth = 256; protected int imageHeight = 173; + private ResourceLocation currentShellTheme; private int leftPos, topPos; - - - public static ResourceLocation MONITOR_TEXTURE = new ResourceLocation(TardisRefined.MODID, "textures/gui/shell.png"); - public static ResourceLocation NOISE = new ResourceLocation(TardisRefined.MODID, "textures/gui/noise.png"); private ShellPattern pattern; - private List patternCollection; private Button patternButton; - public static GlobalShellBlockEntity globalShellBlockEntity; public ShellSelectionScreen(ResourceLocation currentShellTheme) { super(Component.translatable(ModMessages.UI_SHELL_SELECTION)); @@ -69,6 +65,8 @@ public static void generateDummyGlobalShell() { globalShellBlockEntity.setLevel(Minecraft.getInstance().level); ResourceKey generatedLevelKey = ResourceKey.create(Registries.DIMENSION, new ResourceLocation(TardisRefined.MODID, UUID.randomUUID().toString())); globalShellBlockEntity.setTardisId(generatedLevelKey); + globalShellBlockEntity.setShellTheme(ShellTheme.POLICE_BOX.getId()); + globalShellBlockEntity.setPattern(ShellPatterns.DEFAULT); } @Override @@ -138,7 +136,7 @@ public void render(GuiGraphics guiGraphics, int i, int j, float f) { guiGraphics.blit(MONITOR_TEXTURE, leftPos, topPos, 0, 0, imageWidth, imageHeight); /*Model*/ - renderShell(guiGraphics, width / 2- 75, height / 2 - 20, 25F); + renderShell(guiGraphics, width / 2 - 75, height / 2 - 20, 25F); //renderShell(guiGraphics, width / 2, height / 2, 25F); diff --git a/common/src/main/java/whocraft/tardis_refined/client/screen/upgrades/BuyUpgradeScreen.java b/common/src/main/java/whocraft/tardis_refined/client/screen/upgrades/BuyUpgradeScreen.java index 43318ba78..00966750a 100644 --- a/common/src/main/java/whocraft/tardis_refined/client/screen/upgrades/BuyUpgradeScreen.java +++ b/common/src/main/java/whocraft/tardis_refined/client/screen/upgrades/BuyUpgradeScreen.java @@ -19,12 +19,12 @@ public class BuyUpgradeScreen extends Screen { + private static final int GUI_WIDTH = 202; + private static final int GUI_HEIGHT = 60; public final Upgrade upgrade; public final boolean available; public final UpgradesScreen parentScreen; private final Component text; - private static final int GUI_WIDTH = 202; - private static final int GUI_HEIGHT = 60; public BuyUpgradeScreen(Upgrade upgrade, boolean available, UpgradesScreen parentScreen) { super(Component.empty()); diff --git a/common/src/main/java/whocraft/tardis_refined/client/screen/upgrades/UpgradeTab.java b/common/src/main/java/whocraft/tardis_refined/client/screen/upgrades/UpgradeTab.java index 6b55f627f..7b3741090 100644 --- a/common/src/main/java/whocraft/tardis_refined/client/screen/upgrades/UpgradeTab.java +++ b/common/src/main/java/whocraft/tardis_refined/client/screen/upgrades/UpgradeTab.java @@ -22,21 +22,21 @@ public class UpgradeTab { public static final int GRID_SIZE = 30; + public final UpgradeHandler upgradeHandler; private final Minecraft minecraft; private final UpgradesScreen screen; private final UpgradeTabType type; private final int index; - public final UpgradeHandler upgradeHandler; private final Component title; private final List entries = new ArrayList<>(); private final List connections = new ArrayList<>(); + public float fade; private double scrollX; private double scrollY; private int minX = 2147483647; private int minY = 2147483647; private int maxX = -2147483648; private int maxY = -2147483648; - public float fade; private boolean centered; public UpgradeTab(Minecraft minecraft, UpgradesScreen UpgradesScreen, UpgradeTabType tabType, int i, UpgradeHandler powerHolder) { @@ -49,6 +49,21 @@ public UpgradeTab(Minecraft minecraft, UpgradesScreen UpgradesScreen, UpgradeTab this.populate(powerHolder); } + @Nullable + public static UpgradeTab create(Minecraft minecraft, UpgradesScreen screen, int tabIndex, UpgradeHandler upgradeHandler) { + UpgradeTabType[] var4 = UpgradeTabType.values(); + + for (UpgradeTabType tabType : var4) { + if (tabIndex < tabType.getMax()) { + return new UpgradeTab(minecraft, screen, tabType, tabIndex, upgradeHandler); + } + + tabIndex -= tabType.getMax(); + } + + return null; + } + public void populate(UpgradeHandler upgradeHandlerClient) { this.entries.clear(); this.connections.clear(); @@ -137,7 +152,6 @@ public void populate(UpgradeHandler upgradeHandlerClient) { } } - private int toCoord(double d) { return toCoord(d, 0.5D); } @@ -203,7 +217,7 @@ public void drawTab(GuiGraphics guiGraphics, int offsetX, int offsetY, boolean i } public void drawIcon(GuiGraphics guiGraphics, int offsetX, int offsetY) { - //TODO Render iTem this.type.drawIcon(guiGraphics, DataContext.forPower(this.minecraft.player, this.powerHolder), offsetX, offsetY, this.index, this.icon); + //TODO Render iTem this.type.drawIcon(guiGraphics, DataContext.forPower(this.minecraft.player, this.powerHolder), offsetX, offsetY, this.index, this.icon); } public void drawContents(GuiGraphics guiGraphics, int x, int y) { @@ -289,21 +303,6 @@ public boolean isMouseOver(int offsetX, int offsetY, double mouseX, double mouse return this.type.isMouseOver(offsetX, offsetY, this.index, mouseX, mouseY); } - @Nullable - public static UpgradeTab create(Minecraft minecraft, UpgradesScreen screen, int tabIndex, UpgradeHandler upgradeHandler) { - UpgradeTabType[] var4 = UpgradeTabType.values(); - - for (UpgradeTabType tabType : var4) { - if (tabIndex < tabType.getMax()) { - return new UpgradeTab(minecraft, screen, tabType, tabIndex, upgradeHandler); - } - - tabIndex -= tabType.getMax(); - } - - return null; - } - public void scroll(double dragX, double dragY) { if (this.maxX - this.minX > UpgradesScreen.WINDOW_INSIDE_WIDTH) { this.scrollX = Mth.clamp(this.scrollX + dragX, -(this.maxX - UpgradesScreen.WINDOW_INSIDE_WIDTH), -this.minX); 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 f8772f8e5..2020d0715 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 @@ -27,19 +27,20 @@ public class UpgradeWidget { private static final int[] TEST_SPLIT_OFFSETS = new int[]{0, 10, -10, 25, -25}; + private static final ResourceLocation TITLE_BOX_SPRITE = new ResourceLocation("advancements/title_box"); + public final Upgrade upgradeEntry; private final UpgradeTab tab; private final UpgradeHandler upgradeHandler; - public final Upgrade upgradeEntry; private final FormattedCharSequence title; private final int width; private final List description; private final Minecraft minecraft; + public double gridX, gridY; + public boolean fixedPosition = false; List parents = new LinkedList<>(); List children = new LinkedList<>(); private int x; private int y; - public double gridX, gridY; - public boolean fixedPosition = false; public UpgradeWidget(UpgradeTab tab, Minecraft mc, UpgradeHandler upgradeHandler, Upgrade upgradeEntry) { this.tab = tab; @@ -61,6 +62,10 @@ public UpgradeWidget(UpgradeTab tab, Minecraft mc, UpgradeHandler upgradeHandler this.width = l + 3 + 5; } + private static float getMaxWidth(StringSplitter manager, List text) { + return (float) text.stream().mapToDouble(manager::stringWidth).max().orElse(0.0); + } + public UpgradeWidget updatePosition(double x, double y, UpgradeTab tab) { this.gridX = x; this.gridY = y; @@ -109,10 +114,6 @@ public UpgradeWidget updateRelatives(Collection list) { return this; } - private static float getMaxWidth(StringSplitter manager, List text) { - return (float) text.stream().mapToDouble(manager::stringWidth).max().orElse(0.0); - } - private List findOptimalLines(Component component, int maxWidth) { StringSplitter stringSplitter = this.minecraft.font.getSplitter(); List list = null; @@ -148,7 +149,7 @@ public void drawDisplayIcon(Minecraft mc, GuiGraphics guiGraphics, int x, int y) public void drawIcon(Minecraft mc, GuiGraphics guiGraphics, int x, int y) { RenderSystem.setShaderColor(1.0F, 1.0F, 1.0F, 1.0F); - boolean isUnlocked =this.upgradeEntry.isUnlocked(upgradeHandler); + boolean isUnlocked = this.upgradeEntry.isUnlocked(upgradeHandler); guiGraphics.blitSprite(UpgradesScreen.getFrame(upgradeEntry.getUpgradeType(), isUnlocked), x - 13, y - 13, 26, 26); this.drawDisplayIcon(mc, guiGraphics, x - 8, y - 8); @@ -158,8 +159,6 @@ public int getWidth() { return this.width; } - private static final ResourceLocation TITLE_BOX_SPRITE = new ResourceLocation("advancements/title_box"); - public void drawHover(GuiGraphics guiGraphics, int i, int j, float f, int k, int l) { boolean bl = k + i + this.x + this.width + 26 >= this.tab.getScreen().width; Component component = null; 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 7ed7bb62e..a7860006e 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 @@ -17,7 +17,7 @@ import java.util.ArrayList; import java.util.List; -public class UpgradesScreen extends Screen { +public class UpgradesScreen extends Screen { public static final ResourceLocation WINDOW = new ResourceLocation(TardisRefined.MODID, "textures/gui/upgrades/window.png"); public static final ResourceLocation OVERLAY = new ResourceLocation(TardisRefined.MODID, "textures/gui/upgrades/upgrades_overlay.png"); @@ -35,32 +35,49 @@ public class UpgradesScreen extends Screen { public static final int WINDOW_WIDTH = 256; public static final int WINDOW_HEIGHT = 173; - private static final int WINDOW_INSIDE_X = 10; - private static final int WINDOW_INSIDE_Y = 18; public static final int WINDOW_INSIDE_WIDTH = 234 - 10; public static final int WINDOW_INSIDE_HEIGHT = 169 - 46; + private static final int WINDOW_INSIDE_X = 10; + private static final int WINDOW_INSIDE_Y = 18; private static final Component TITLE = Component.translatable(ModMessages.UI_UPGRADES); + private static int tabPage; + private static int maxPages; private final List tabs = new ArrayList<>(); private final UpgradeHandler upgradeHandler; @Nullable public UpgradeTab selectedTab; - private boolean isScrolling; - private static int tabPage; - private static int maxPages; public Screen overlayScreen = null; + private boolean isScrolling; public UpgradesScreen(UpgradeHandler upgradeHandler) { super(Component.empty()); this.upgradeHandler = upgradeHandler; } + public static boolean isPotentialParentUnlocked(Upgrade upgrade, UpgradeHandler upgradeHandler) { + if (upgrade.getParent() == null) { + return true; + } + return upgrade.getParent().isUnlocked(upgradeHandler); + } + + public static ResourceLocation getFrame(Upgrade.UpgradeType upgradeType, boolean isUnlocked) { + if (isUnlocked) { + return upgradeType == Upgrade.UpgradeType.MAIN_UPGRADE ? MAIN_UPGRADE : SUB_UPGRADE; + } + return upgradeType == Upgrade.UpgradeType.MAIN_UPGRADE ? MAIN_UPGRADE_LOCKED : SUB_UPGRADE_LOCKED; + } + + public static ResourceLocation getBox(boolean isUnlocked) { + return isUnlocked ? OBTAINED_BOX : UNOBTAINED_BOX; + } @Override protected void init() { this.tabs.clear(); this.selectedTab = null; - UpgradeTab upgradeTab = UpgradeTab.create(this.minecraft, this, 0, upgradeHandler ); + UpgradeTab upgradeTab = UpgradeTab.create(this.minecraft, this, 0, upgradeHandler); this.tabs.add(upgradeTab); @@ -112,7 +129,7 @@ public boolean mouseClicked(double mouseX, double mouseY, int button) { if (entry != null) { Upgrade upgrade = entry.upgradeEntry; boolean hasUnlockedParent = isPotentialParentUnlocked(upgrade, upgradeHandler); - if(upgrade.isUnlocked(upgradeHandler)) return false; + if (upgrade.isUnlocked(upgradeHandler)) return false; this.openOverlayScreen(new BuyUpgradeScreen(upgrade, hasUnlockedParent && !upgrade.isUnlocked(upgradeHandler) && upgradeHandler.getUpgradePoints() >= upgrade.getSkillPointsRequired(), this)); } } @@ -122,13 +139,6 @@ public boolean mouseClicked(double mouseX, double mouseY, int button) { return super.mouseClicked(mouseX, mouseY, button); } - public static boolean isPotentialParentUnlocked(Upgrade upgrade, UpgradeHandler upgradeHandler) { - if(upgrade.getParent() == null){ - return true; - } - return upgrade.getParent().isUnlocked(upgradeHandler); - } - @Override public boolean keyPressed(int keyCode, int scanCode, int modifiers) { return this.overlayScreen == null ? super.keyPressed(keyCode, scanCode, modifiers) : this.overlayScreen.keyPressed(keyCode, scanCode, modifiers); @@ -160,7 +170,7 @@ public void render(GuiGraphics guiGraphics, int mouseX, int mouseY, float partia guiGraphics.drawString(this.minecraft.font, "Points: " + upgradeHandler.getUpgradePoints(), width / 2 - font.width("Points: " + upgradeHandler.getUpgradePoints()) / 2, j + WINDOW_HEIGHT - 15, ChatFormatting.BLACK.getColor(), false); } - guiGraphics.drawString(this.minecraft.font, "XP: " + upgradeHandler.getUpgradeXP() + " / 100", width / 2 - font.width( "XP: " + upgradeHandler.getUpgradeXP() + " / 100") / 2, j + 6 , ChatFormatting.BLACK.getColor(), false); + guiGraphics.drawString(this.minecraft.font, "XP: " + upgradeHandler.getUpgradeXP() + " / 100", width / 2 - font.width("XP: " + upgradeHandler.getUpgradeXP() + " / 100") / 2, j + 6, ChatFormatting.BLACK.getColor(), false); } @@ -251,23 +261,9 @@ public void openOverlayScreen(Screen screen) { this.overlayScreen.init(this.minecraft, this.width, this.height); } - public boolean isOverOverlayScreen(double mouseX, double mouseY) { return overlayScreen != null; } - public static ResourceLocation getFrame(Upgrade.UpgradeType upgradeType, boolean isUnlocked) { - if (isUnlocked) { - return upgradeType == Upgrade.UpgradeType.MAIN_UPGRADE ? MAIN_UPGRADE : SUB_UPGRADE; - } - return upgradeType == Upgrade.UpgradeType.MAIN_UPGRADE ? MAIN_UPGRADE_LOCKED : SUB_UPGRADE_LOCKED; - } - - public static ResourceLocation getBox(boolean isUnlocked) { - return isUnlocked ? OBTAINED_BOX : UNOBTAINED_BOX; - } - - - } diff --git a/common/src/main/java/whocraft/tardis_refined/client/screen/waypoints/WaypointListScreen.java b/common/src/main/java/whocraft/tardis_refined/client/screen/waypoints/WaypointListScreen.java index fdc3b577f..c9c21bdd5 100644 --- a/common/src/main/java/whocraft/tardis_refined/client/screen/waypoints/WaypointListScreen.java +++ b/common/src/main/java/whocraft/tardis_refined/client/screen/waypoints/WaypointListScreen.java @@ -16,7 +16,6 @@ import whocraft.tardis_refined.common.network.messages.waypoints.C2SOpenEditCoordinatesDisplayMessage; import whocraft.tardis_refined.common.network.messages.waypoints.RemoveWaypointEntryMessage; import whocraft.tardis_refined.common.network.messages.waypoints.TravelToWaypointMessage; -import whocraft.tardis_refined.common.tardis.TardisNavLocation; import whocraft.tardis_refined.common.tardis.TardisWaypoint; import whocraft.tardis_refined.constants.ModMessages; @@ -27,22 +26,19 @@ public class WaypointListScreen extends SelectionScreen { + public static final ResourceLocation TRASH_LOCATION = new ResourceLocation(TardisRefined.MODID, "trash"); + public static final ResourceLocation OKAY_TEXTURE = new ResourceLocation(TardisRefined.MODID, "okay"); + public static final ResourceLocation EDIT_TEXTURE = new ResourceLocation(TardisRefined.MODID, "edit"); + public static ResourceLocation MONITOR_TEXTURE = new ResourceLocation(TardisRefined.MODID, "textures/gui/monitor.png"); + private final Component noWaypointsLabel = Component.translatable(ModMessages.UI_MONITOR_NO_WAYPOINTS); protected int imageWidth = 256; protected int imageHeight = 173; private int leftPos, topPos; - private SpriteIconButton loadButton; private SpriteIconButton editButton; private SpriteIconButton trashButton; - - public static ResourceLocation MONITOR_TEXTURE = new ResourceLocation(TardisRefined.MODID, "textures/gui/monitor.png"); private Collection WAYPOINTS = new ArrayList<>(); private TardisWaypoint waypoint = null; - public static final ResourceLocation TRASH_LOCATION = new ResourceLocation(TardisRefined.MODID, "trash"); - public static final ResourceLocation OKAY_TEXTURE = new ResourceLocation(TardisRefined.MODID, "okay"); - public static final ResourceLocation EDIT_TEXTURE = new ResourceLocation(TardisRefined.MODID, "edit"); - - private final Component noWaypointsLabel = Component.translatable(ModMessages.UI_MONITOR_NO_WAYPOINTS); public WaypointListScreen(Collection waypoints) { super(Component.translatable(ModMessages.UI_MONITOR_MAIN_TITLE)); @@ -56,7 +52,6 @@ public boolean isPauseScreen() { } - @Override protected void init() { this.leftPos = (this.width - this.imageWidth) / 2; @@ -66,7 +61,7 @@ protected void init() { super.init(); setEvents(() -> { - if(waypoint != null) { + if (waypoint != null) { new TravelToWaypointMessage(waypoint.getId()).send(); Minecraft.getInstance().setScreen(null); } @@ -89,23 +84,21 @@ public void onPress() { newWaypointButton.setPosition(width / 2 + 85, (height) / 2 - 60); - - this.loadButton = this.addRenderableWidget(CommonTRWidgets.imageButton(20, Component.translatable("Submit"), (arg) -> { - if(waypoint != null) { + if (waypoint != null) { new TravelToWaypointMessage(waypoint.getId()).send(); Minecraft.getInstance().setScreen(null); } }, true, OKAY_TEXTURE)); this.loadButton.setTooltip(Tooltip.create(Component.translatable(ModMessages.UI_MONITOR_WAYPOINT_LOAD))); - this.loadButton.setPosition(width / 2 + 85, (height) / 2 ); + this.loadButton.setPosition(width / 2 + 85, (height) / 2); this.loadButton.active = false; this.editButton = this.addRenderableWidget(CommonTRWidgets.imageButton(20, Component.translatable("Edit"), (arg) -> { - if(waypoint != null) { + if (waypoint != null) { new C2SOpenEditCoordinatesDisplayMessage(waypoint.getId()).send(); Minecraft.getInstance().setScreen(null); } @@ -129,7 +122,7 @@ public void onPress() { @Override public GenericMonitorSelectionList createSelectionList() { int leftPos = this.width / 2 - 100; - GenericMonitorSelectionList selectionList = new GenericMonitorSelectionList<>(this.minecraft, 250, 80, leftPos - 70, this.topPos + 45, this.topPos + this.imageHeight - 45 , 12); + GenericMonitorSelectionList selectionList = new GenericMonitorSelectionList<>(this.minecraft, 250, 80, leftPos - 70, this.topPos + 45, this.topPos + this.imageHeight - 45, 12); selectionList.setRenderBackground(false); for (TardisWaypoint waypointEntry : WAYPOINTS) { @@ -141,7 +134,7 @@ public GenericMonitorSelectionList createSelectionList() { this.trashButton.active = true; for (SelectionListEntry child : selectionList.children()) { - if(child != entry) { + if (child != entry) { child.setChecked(false); } } diff --git a/common/src/main/java/whocraft/tardis_refined/client/screen/waypoints/WaypointManageScreen.java b/common/src/main/java/whocraft/tardis_refined/client/screen/waypoints/WaypointManageScreen.java index 7aa745b8c..701600d50 100644 --- a/common/src/main/java/whocraft/tardis_refined/client/screen/waypoints/WaypointManageScreen.java +++ b/common/src/main/java/whocraft/tardis_refined/client/screen/waypoints/WaypointManageScreen.java @@ -4,7 +4,6 @@ import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.gui.components.EditBox; import net.minecraft.client.gui.components.SpriteIconButton; -import net.minecraft.client.gui.components.Tooltip; import net.minecraft.client.gui.screens.Screen; import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceKey; @@ -22,22 +21,18 @@ import whocraft.tardis_refined.constants.ModMessages; import java.awt.*; -import java.util.ArrayList; import java.util.List; -import java.util.Random; import static whocraft.tardis_refined.client.screen.selections.SelectionScreen.BUTTON_LOCATION; public class WaypointManageScreen extends Screen { + public static ResourceLocation MONITOR_TEXTURE = new ResourceLocation(TardisRefined.MODID, "textures/gui/monitor.png"); private final CoordInputType coordInputType; - protected int imageWidth = 256; protected int imageHeight = 173; - private int leftPos, topPos; - protected EditBox waypointName; - public static ResourceLocation MONITOR_TEXTURE = new ResourceLocation(TardisRefined.MODID, "textures/gui/monitor.png"); + private int leftPos, topPos; private TardisWaypoint preExistingWaypoint = null; private TardisNavLocation tardisNavLocation = TardisNavLocation.ORIGIN; private SpriteIconButton onSaveWaypoint; diff --git a/common/src/main/java/whocraft/tardis_refined/client/sounds/LoopingDimensionTypeSpecificSound.java b/common/src/main/java/whocraft/tardis_refined/client/sounds/LoopingDimensionTypeSpecificSound.java index da8358d23..d651214c6 100644 --- a/common/src/main/java/whocraft/tardis_refined/client/sounds/LoopingDimensionTypeSpecificSound.java +++ b/common/src/main/java/whocraft/tardis_refined/client/sounds/LoopingDimensionTypeSpecificSound.java @@ -6,8 +6,10 @@ import net.minecraft.world.level.dimension.DimensionType; import org.jetbrains.annotations.NotNull; -/** LoopingSound implementation that only plays when in a specific {@link net.minecraft.world.level.dimension.DimensionType}*/ -public abstract class LoopingDimensionTypeSpecificSound extends LoopingSoundGeneric{ +/** + * LoopingSound implementation that only plays when in a specific {@link net.minecraft.world.level.dimension.DimensionType} + */ +public abstract class LoopingDimensionTypeSpecificSound extends LoopingSoundGeneric { private final ResourceKey dimensionTypeKey; @@ -18,7 +20,7 @@ public LoopingDimensionTypeSpecificSound(@NotNull SoundEvent soundEvent, SoundSo @Override public boolean canPlaySound() { - if (this.player != null){ + if (this.player != null) { return player.level().dimensionTypeId() == this.dimensionTypeKey; } return false; diff --git a/common/src/main/java/whocraft/tardis_refined/client/sounds/LoopingSound.java b/common/src/main/java/whocraft/tardis_refined/client/sounds/LoopingSound.java index d90c8dcc5..085370b31 100644 --- a/common/src/main/java/whocraft/tardis_refined/client/sounds/LoopingSound.java +++ b/common/src/main/java/whocraft/tardis_refined/client/sounds/LoopingSound.java @@ -9,7 +9,10 @@ import net.minecraft.world.entity.player.Player; import net.minecraft.world.level.Level; import net.minecraft.world.phys.Vec3; -/** Object to define a SoundEvent that can be looped. We can define how and when it should be played */ + +/** + * Object to define a SoundEvent that can be looped. We can define how and when it should be played + */ public abstract class LoopingSound extends AbstractTickableSoundInstance { protected SoundEvent soundEvent; @@ -30,17 +33,13 @@ public LoopingSound(SoundEvent soundEvent, SoundSource soundSource) { this(soundEvent, soundSource, Attenuation.NONE); } - public void setVolume(float volume) { - this.volume = volume; - } - @Override public float getVolume() { return volume; } - public void setPitch(float pitch) { - this.pitch = pitch; + public void setVolume(float volume) { + this.volume = volume; } @Override @@ -48,34 +47,47 @@ public float getPitch() { return pitch; } + public void setPitch(float pitch) { + this.pitch = pitch; + } + public void setLocation(Vec3 location) { this.x = location.x; this.y = location.y; this.z = location.z; } - /** Gets the player which will be hearing the sound. Doign this saves us having to create multiple instances of the target player */ + /** + * Gets the player which will be hearing the sound. Doign this saves us having to create multiple instances of the target player + */ public Player getPlayer() { return this.player; } - /** Sets the player which will be hearing the sound. Doign this saves us having to create multiple instances of the target player */ - public LoopingSound setPlayer(Player player){ + + /** + * Sets the player which will be hearing the sound. Doign this saves us having to create multiple instances of the target player + */ + public LoopingSound setPlayer(Player player) { this.player = player; return this; } - /** Gets the desired level to play this sound in. By default, it will pick the player's level. - *
Can be useful for sounds that need to be played in another dimension which the player is not currently located in*/ + /** + * Gets the desired level to play this sound in. By default, it will pick the player's level. + *
Can be useful for sounds that need to be played in another dimension which the player is not currently located in + */ public Level getLevel() { - if (this.level == null && this.player != null){ + if (this.level == null && this.player != null) { return this.player.level(); } return this.level; } - /** Sets the desired level to play this sound in. By default, it will pick the player's level. - *
Can be useful for sounds that need to be played in another dimension which the player is not currently located in*/ - public LoopingSound setLevel(Level targetLevel){ + /** + * Sets the desired level to play this sound in. By default, it will pick the player's level. + *
Can be useful for sounds that need to be played in another dimension which the player is not currently located in + */ + public LoopingSound setLevel(Level targetLevel) { this.level = targetLevel; return this; } @@ -89,23 +101,27 @@ public Sound getSound() { return super.getSound(); } - public SoundEvent getSoundEvent(){ + public SoundEvent getSoundEvent() { return this.soundEvent; } - /** Add logic here to determine how the sound should be played given it is able to play. - *
Define logic such as volume, attenuation, delays etc.*/ - public void playSoundInstance(Player player){ + /** + * Add logic here to determine how the sound should be played given it is able to play. + *
Define logic such as volume, attenuation, delays etc. + */ + public void playSoundInstance(Player player) { } - /** Gets the default volume that will be used if the sound needs to be replayed after having its volume set to zero in a previous tick - *
If volume is zero, the sound won't be played again, so it must be set to a value larger than zero to be 'restarted'*/ - public float getDefaultVolume(){ + /** + * Gets the default volume that will be used if the sound needs to be replayed after having its volume set to zero in a previous tick + *
If volume is zero, the sound won't be played again, so it must be set to a value larger than zero to be 'restarted' + */ + public float getDefaultVolume() { return this.defaultVolume; } - public LoopingSound setDefaultVolume(float defaultVolume){ + public LoopingSound setDefaultVolume(float defaultVolume) { this.defaultVolume = defaultVolume; return this; } @@ -113,11 +129,12 @@ public LoopingSound setDefaultVolume(float defaultVolume){ /** * Helper method to restart a sound if it was at volume of zero before. * It sets the volume to a value (should be higher than zero) using the default volume via {@link LoopingSound#getDefaultVolume()} + * * @return */ - public LoopingSound restartSoundPlaying(){ - if (this.getVolume() <= 0){ - if(this.getDefaultVolume() > 0) + public LoopingSound restartSoundPlaying() { + if (this.getVolume() <= 0) { + if (this.getDefaultVolume() > 0) this.setVolume(this.getDefaultVolume()); else this.setVolume(0.5F); 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 be8352250..883330946 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 @@ -5,8 +5,10 @@ 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{ +/** + * 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 LoopingSoundGeneric(@NotNull SoundEvent soundEvent, SoundSource soundSource) { super(soundEvent, soundSource); } @@ -14,13 +16,12 @@ public LoopingSoundGeneric(@NotNull SoundEvent soundEvent, SoundSource soundSour @Override public void tick() { - if(this.player == null) { + if (this.player == null) { TardisRefined.LOGGER.warn("Cannot play Looping Sound. No target player defined by LoopingSound instance: " + this.toString()); this.setVolume(0f); this.stop(); - } - else{ - if (this.canPlaySound()){ + } else { + if (this.canPlaySound()) { this.playSoundInstance(this.player); } } diff --git a/common/src/main/java/whocraft/tardis_refined/client/sounds/LoopingTardisInteriorSound.java b/common/src/main/java/whocraft/tardis_refined/client/sounds/LoopingTardisInteriorSound.java index 26b10ba23..f458b1969 100644 --- a/common/src/main/java/whocraft/tardis_refined/client/sounds/LoopingTardisInteriorSound.java +++ b/common/src/main/java/whocraft/tardis_refined/client/sounds/LoopingTardisInteriorSound.java @@ -7,8 +7,10 @@ import whocraft.tardis_refined.client.TardisClientData; import whocraft.tardis_refined.registry.TRDimensionTypes; -/** Generic implementation of LoopingSound that only occurs in a Tardis dimension type*/ -public abstract class LoopingTardisInteriorSound extends LoopingDimensionTypeSpecificSound{ +/** + * Generic implementation of LoopingSound that only occurs in a Tardis dimension type + */ +public abstract class LoopingTardisInteriorSound extends LoopingDimensionTypeSpecificSound { protected final boolean requiresClientData; private TardisClientData tardisClientData; @@ -26,24 +28,26 @@ public TardisClientData getTardisClientData() { return this.tardisClientData; } + public LoopingTardisInteriorSound setTardisClientData(Level level) { + if (level != null) { + this.tardisClientData = TardisClientData.getInstance(level.dimension()); + } + return this; + } + @Override public LoopingSound setLevel(Level targetLevel) { this.level = targetLevel; return this.setTardisClientData(targetLevel); } - /** Flag to determine if we need to consider there is a valid TardisClientData instance before playing the sound*/ + /** + * Flag to determine if we need to consider there is a valid TardisClientData instance before playing the sound + */ public boolean requiresClientData() { return this.requiresClientData; } - public LoopingTardisInteriorSound setTardisClientData(Level level) { - if(level != null){ - this.tardisClientData = TardisClientData.getInstance(level.dimension()); - } - return this; - } - @Override public boolean canPlaySound() { return this.requiresClientData() ? super.canPlaySound() && this.getTardisClientData() != null : super.canPlaySound(); diff --git a/common/src/main/java/whocraft/tardis_refined/client/sounds/QuickSimpleSound.java b/common/src/main/java/whocraft/tardis_refined/client/sounds/QuickSimpleSound.java index bdd6581cc..dfacb0e07 100644 --- a/common/src/main/java/whocraft/tardis_refined/client/sounds/QuickSimpleSound.java +++ b/common/src/main/java/whocraft/tardis_refined/client/sounds/QuickSimpleSound.java @@ -8,7 +8,6 @@ import net.minecraft.sounds.SoundSource; import net.minecraft.world.phys.Vec3; import org.jetbrains.annotations.NotNull; -import whocraft.tardis_refined.registry.TRSoundRegistry; public class QuickSimpleSound extends AbstractTickableSoundInstance { @@ -20,17 +19,13 @@ public QuickSimpleSound(@NotNull SoundEvent soundEvent, SoundSource soundSource) volume = 0.5f; } - public void setVolume(float volume) { - this.volume = volume; - } - @Override public float getVolume() { return volume; } - public void setPitch(float pitch) { - this.pitch = pitch; + public void setVolume(float volume) { + this.volume = volume; } @Override @@ -38,6 +33,10 @@ public float getPitch() { return pitch; } + public void setPitch(float pitch) { + this.pitch = pitch; + } + public void setLocation(Vec3 location) { x = location.x; y = location.y; diff --git a/common/src/main/java/whocraft/tardis_refined/client/sounds/TRSoundInstances.java b/common/src/main/java/whocraft/tardis_refined/client/sounds/TRSoundInstances.java new file mode 100644 index 000000000..3fc2dd64b --- /dev/null +++ b/common/src/main/java/whocraft/tardis_refined/client/sounds/TRSoundInstances.java @@ -0,0 +1,23 @@ +package whocraft.tardis_refined.client.sounds; + +import net.minecraft.client.sounds.SoundManager; +import net.minecraft.sounds.SoundEvents; +import net.minecraft.sounds.SoundSource; +import whocraft.tardis_refined.client.sounds.soundinstance.*; +import whocraft.tardis_refined.registry.TRSoundRegistry; + +public class TRSoundInstances { + public static LoopingArsAreaSound ARS_HUMMING = new LoopingArsAreaSound(TRSoundRegistry.ARS_HUM.get(), SoundSource.AMBIENT); + public static LoopingGravBlockSound GRAVITY_LOOP = new LoopingGravBlockSound(TRSoundRegistry.GRAVITY_TUNNEL.get(), SoundSource.AMBIENT); + + public static LoopingFlightSound TARDIS_SINGLE_FLY = new LoopingFlightSound(TRSoundRegistry.TARDIS_SINGLE_FLY.get(), SoundSource.AMBIENT); + public static LoopingVortexFlight TARDIS_SINGLE_FLY_VORTEX = new LoopingVortexFlight(TRSoundRegistry.TARDIS_SINGLE_FLY.get(), SoundSource.AMBIENT); + + public static QuickSimpleSound INTERIOR_VOICE = new QuickSimpleSound(TRSoundRegistry.INTERIOR_VOICE.get(), SoundSource.AMBIENT); + public static LoopingVortexSound VORTEX_WINDS = new LoopingVortexSound(SoundEvents.ELYTRA_FLYING, SoundSource.AMBIENT); + + public static boolean shouldMinecraftMusicStop(SoundManager soundManager) { + return soundManager.isActive(VORTEX_WINDS) || soundManager.isActive(TARDIS_SINGLE_FLY) || soundManager.isActive(ARS_HUMMING) || soundManager.isActive(HumSoundManager.getCurrentHumSound()); + } + +} diff --git a/common/src/main/java/whocraft/tardis_refined/client/sounds/soundinstance/LoopingArsAreaSound.java b/common/src/main/java/whocraft/tardis_refined/client/sounds/soundinstance/LoopingArsAreaSound.java index f12a93c7e..ded092d6a 100644 --- a/common/src/main/java/whocraft/tardis_refined/client/sounds/soundinstance/LoopingArsAreaSound.java +++ b/common/src/main/java/whocraft/tardis_refined/client/sounds/soundinstance/LoopingArsAreaSound.java @@ -4,9 +4,7 @@ import net.minecraft.sounds.SoundEvent; import net.minecraft.sounds.SoundSource; import net.minecraft.world.entity.player.Player; -import net.minecraft.world.level.Level; import net.minecraft.world.phys.Vec3; -import whocraft.tardis_refined.client.TardisClientData; import whocraft.tardis_refined.client.sounds.LoopingTardisInteriorSound; import whocraft.tardis_refined.common.util.TardisHelper; @@ -30,7 +28,7 @@ public void playSoundInstance(Player player) { @Override public boolean canPlaySound() { - if (this.player != null){ + if (this.player != null) { return super.canPlaySound() && TardisHelper.isInArsArea(player.blockPosition()); } return false; diff --git a/common/src/main/java/whocraft/tardis_refined/client/sounds/soundinstance/LoopingFlightSound.java b/common/src/main/java/whocraft/tardis_refined/client/sounds/soundinstance/LoopingFlightSound.java index 3dd84c757..e46a3bcea 100644 --- a/common/src/main/java/whocraft/tardis_refined/client/sounds/soundinstance/LoopingFlightSound.java +++ b/common/src/main/java/whocraft/tardis_refined/client/sounds/soundinstance/LoopingFlightSound.java @@ -5,7 +5,9 @@ import net.minecraft.world.entity.player.Player; import whocraft.tardis_refined.client.sounds.LoopingTardisInteriorSound; -/** LoopingSound that is played during flight. At the moment, this is only the TARDIS_SINGLE_FLY sound*/ +/** + * LoopingSound that is played during flight. At the moment, this is only the TARDIS_SINGLE_FLY sound + */ public class LoopingFlightSound extends LoopingTardisInteriorSound { public LoopingFlightSound(SoundEvent soundEvent, SoundSource soundSource) { @@ -15,15 +17,14 @@ public LoopingFlightSound(SoundEvent soundEvent, SoundSource soundSource) { @Override public void playSoundInstance(Player player) { - if (this.getTardisClientData() != null){ + if (this.getTardisClientData() != null) { //Handle single fly loop sound logic //Can be moved to its own handler if more looping sounds are played during flight if (this.getTardisClientData().isFlying() && !this.getTardisClientData().isTakingOff() && !this.getTardisClientData().isLanding() && !getTardisClientData().isCrashing()) { this.setLocation(player.position()); this.setVolume(0.5F); - } - else { + } else { this.setVolume(0F); //This will stop the sound from playing when landing is starting. However, we must set volume to be above zero when we need it to play once more. We currently use LoopingSound#restartSoundPlaying when we need to play the sound via vanilla SoundManager } diff --git a/common/src/main/java/whocraft/tardis_refined/client/sounds/soundinstance/LoopingGravBlockSound.java b/common/src/main/java/whocraft/tardis_refined/client/sounds/soundinstance/LoopingGravBlockSound.java index ac29c39e7..fad194786 100644 --- a/common/src/main/java/whocraft/tardis_refined/client/sounds/soundinstance/LoopingGravBlockSound.java +++ b/common/src/main/java/whocraft/tardis_refined/client/sounds/soundinstance/LoopingGravBlockSound.java @@ -24,7 +24,7 @@ public void playSoundInstance(Player player) { @Override public boolean canPlaySound() { - if (this.player != null){ + if (this.player != null) { return GravityUtil.isInGravityShaft(this.player); } return false; diff --git a/common/src/main/java/whocraft/tardis_refined/client/sounds/soundinstance/LoopingHumSound.java b/common/src/main/java/whocraft/tardis_refined/client/sounds/soundinstance/LoopingHumSound.java index 50429183c..fb8e7edc2 100644 --- a/common/src/main/java/whocraft/tardis_refined/client/sounds/soundinstance/LoopingHumSound.java +++ b/common/src/main/java/whocraft/tardis_refined/client/sounds/soundinstance/LoopingHumSound.java @@ -18,7 +18,7 @@ public LoopingHumSound(@NotNull SoundEvent soundEvent, SoundSource soundSource) @Override public void playSoundInstance(Player player) { setLocation(player.position()); - if(soundEvent.getLocation().getNamespace().contains(NbtConstants.MINECRAFT)){ + if (soundEvent.getLocation().getNamespace().contains(NbtConstants.MINECRAFT)) { this.volume = 1f; } else { this.setVolume(0.10F); diff --git a/common/src/main/java/whocraft/tardis_refined/client/sounds/soundinstance/LoopingVortexFlight.java b/common/src/main/java/whocraft/tardis_refined/client/sounds/soundinstance/LoopingVortexFlight.java new file mode 100644 index 000000000..46cf7cb7d --- /dev/null +++ b/common/src/main/java/whocraft/tardis_refined/client/sounds/soundinstance/LoopingVortexFlight.java @@ -0,0 +1,36 @@ +package whocraft.tardis_refined.client.sounds.soundinstance; + +import net.minecraft.sounds.SoundEvent; +import net.minecraft.sounds.SoundSource; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.phys.Vec3; +import whocraft.tardis_refined.client.TardisClientData; +import whocraft.tardis_refined.common.capability.player.TardisPlayerInfo; + +public class LoopingVortexFlight extends LoopingFlightSound { + + public LoopingVortexFlight(SoundEvent soundEvent, SoundSource soundSource) { + super(soundEvent, soundSource); + } + + @Override + public void playSoundInstance(Player player) { + TardisPlayerInfo.get(player).ifPresent(tardisPlayerInfo -> { + TardisClientData tardisClientData = TardisClientData.getInstance(tardisPlayerInfo.getPlayerPreviousPos().getDimensionKey()); + if (tardisPlayerInfo.isRenderVortex() && !tardisClientData.isLanding() && !tardisClientData.isTakingOff()) { + Vec3 facingDirection = player.getLookAngle(); + Vec3 newPosition = player.position().add(facingDirection.scale(3)); + setLocation(newPosition); + this.setVolume(.3F); + } else { + setLocation(player.position().add(0, 0, 0)); + setVolume(0); + } + }); + } + + @Override + public boolean canPlaySound() { + return true; + } +} diff --git a/common/src/main/java/whocraft/tardis_refined/client/sounds/soundinstance/LoopingVortexSound.java b/common/src/main/java/whocraft/tardis_refined/client/sounds/soundinstance/LoopingVortexSound.java new file mode 100644 index 000000000..9f99e6c19 --- /dev/null +++ b/common/src/main/java/whocraft/tardis_refined/client/sounds/soundinstance/LoopingVortexSound.java @@ -0,0 +1,42 @@ +package whocraft.tardis_refined.client.sounds.soundinstance; + +import net.minecraft.sounds.SoundEvent; +import net.minecraft.sounds.SoundSource; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.phys.Vec3; +import whocraft.tardis_refined.client.TardisClientData; +import whocraft.tardis_refined.common.capability.player.TardisPlayerInfo; + +public class LoopingVortexSound extends LoopingFlightSound { + + + public LoopingVortexSound(SoundEvent soundEvent, SoundSource soundSource) { + super(soundEvent, soundSource); + } + + @Override + public boolean canPlaySound() { + return true; + } + + @Override + public void playSoundInstance(Player player) { + TardisPlayerInfo.get(player).ifPresent(tardisPlayerInfo -> { + TardisClientData tardisClientData = TardisClientData.getInstance(tardisPlayerInfo.getPlayerPreviousPos().getDimensionKey()); + if (tardisPlayerInfo.isRenderVortex() && tardisPlayerInfo.isViewingTardis() && !tardisClientData.isLanding() && !tardisClientData.isTakingOff()) { + Vec3 facingDirection = player.getLookAngle(); + Vec3 newPosition = player.position().add(facingDirection.scale(3)); + setLocation(newPosition); + this.setVolume(0.5F); + } else { + setLocation(player.position().add(0, 0, 0)); + setVolume(0); + } + }); + } + + @Override + public void tick() { + super.tick(); + } +} 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 c7a3586de..6fde71936 100644 --- a/common/src/main/java/whocraft/tardis_refined/command/TardisRefinedCommand.java +++ b/common/src/main/java/whocraft/tardis_refined/command/TardisRefinedCommand.java @@ -19,9 +19,9 @@ public static void register(CommandDispatcher dispatcher) { .then(UpgradesCommand.register(dispatcher)) .then(Commands.literal("data").then(Commands.literal("export").then(ExportDesktopCommand.register(dispatcher)))) .then(LevelCommand.register(dispatcher)) - ); + ); - if(!Platform.isProduction()) { + if (!Platform.isProduction()) { dispatcher.register(Commands.literal(TardisRefined.MODID + "_dev").requires(commandSource -> commandSource.hasPermission(Platform.getServer().getOperatorUserPermissionLevel())) .then(CreateCommand.register(dispatcher) )); diff --git a/common/src/main/java/whocraft/tardis_refined/command/arguments/DesktopArgumentType.java b/common/src/main/java/whocraft/tardis_refined/command/arguments/DesktopArgumentType.java index 44b5df2fc..4192637e6 100644 --- a/common/src/main/java/whocraft/tardis_refined/command/arguments/DesktopArgumentType.java +++ b/common/src/main/java/whocraft/tardis_refined/command/arguments/DesktopArgumentType.java @@ -24,16 +24,24 @@ public class DesktopArgumentType implements ArgumentType { + public static final DynamicCommandExceptionType INVALID_DESKTOP_EXCEPTION = new DynamicCommandExceptionType((desktop) -> Component.translatable(ModMessages.CMD_ARG_DESKTOP_INVALID, desktop)); private static final Collection EXAMPLES = Stream.of(TardisDesktops.FACTORY_THEME, TardisDesktops.DEFAULT_OVERGROWN_THEME).map((desktop) -> { return desktop != null ? desktop.getIdentifier().toString() : ""; }).collect(Collectors.toList()); - public static final DynamicCommandExceptionType INVALID_DESKTOP_EXCEPTION = new DynamicCommandExceptionType((desktop) -> Component.translatable(ModMessages.CMD_ARG_DESKTOP_INVALID, desktop)); - public static DesktopArgumentType desktopArgumentType() { return new DesktopArgumentType(); } + public static DesktopTheme getDesktop(CommandContext context, String name) throws CommandSyntaxException { + ResourceLocation resourcelocation = context.getArgument(name, ResourceLocation.class); + DesktopTheme desktop = TardisDesktops.getRegistry().get(resourcelocation); + if (desktop == null) + throw INVALID_DESKTOP_EXCEPTION.create(resourcelocation); + else + return desktop; + } + @Override public ResourceLocation parse(StringReader reader) throws CommandSyntaxException { return ResourceLocation.read(reader); @@ -49,14 +57,4 @@ public CompletableFuture listSuggestions(CommandContext cont public Collection getExamples() { return EXAMPLES; } - - - public static DesktopTheme getDesktop(CommandContext context, String name) throws CommandSyntaxException { - ResourceLocation resourcelocation = context.getArgument(name, ResourceLocation.class); - DesktopTheme desktop = TardisDesktops.getRegistry().get(resourcelocation); - if (desktop == null) - throw INVALID_DESKTOP_EXCEPTION.create(resourcelocation); - else - return desktop; - } } \ No newline at end of file diff --git a/common/src/main/java/whocraft/tardis_refined/command/arguments/ShellArgumentType.java b/common/src/main/java/whocraft/tardis_refined/command/arguments/ShellArgumentType.java index f5284a5a0..81d139497 100644 --- a/common/src/main/java/whocraft/tardis_refined/command/arguments/ShellArgumentType.java +++ b/common/src/main/java/whocraft/tardis_refined/command/arguments/ShellArgumentType.java @@ -24,32 +24,15 @@ public class ShellArgumentType implements ArgumentType { + public static final DynamicCommandExceptionType INVALID_SHELL_EXCEPTION = new DynamicCommandExceptionType((shell) -> Component.translatable(ModMessages.CMD_ARG_SHELL_INVALID, shell)); private static final Collection EXAMPLES = Stream.of(ShellTheme.FACTORY.get(), ShellTheme.POLICE_BOX.get()).map((shell) -> { return shell != null ? ShellTheme.SHELL_THEME_REGISTRY.getKey(shell).toString() : ""; }).collect(Collectors.toList()); - public static final DynamicCommandExceptionType INVALID_SHELL_EXCEPTION = new DynamicCommandExceptionType((shell) -> Component.translatable(ModMessages.CMD_ARG_SHELL_INVALID, shell)); - public static ShellArgumentType shellArgumentType() { return new ShellArgumentType(); } - @Override - public ResourceLocation parse(StringReader reader) throws CommandSyntaxException { - return ResourceLocation.read(reader); - } - - @Override - public CompletableFuture listSuggestions(CommandContext context, SuggestionsBuilder builder) { - return SharedSuggestionProvider.suggestResource(ShellTheme.SHELL_THEME_REGISTRY.keySet(), builder); - } - - @Override - public Collection getExamples() { - return EXAMPLES; - } - - public static ShellTheme getShell(CommandContext context, String name) throws CommandSyntaxException { ResourceLocation resourcelocation = context.getArgument(name, ResourceLocation.class); ShellTheme shellTheme = ShellTheme.SHELL_THEME_REGISTRY.get(resourcelocation); @@ -66,4 +49,19 @@ public static ResourceLocation getShellId(CommandContext con else return resourcelocation; } + + @Override + public ResourceLocation parse(StringReader reader) throws CommandSyntaxException { + return ResourceLocation.read(reader); + } + + @Override + public CompletableFuture listSuggestions(CommandContext context, SuggestionsBuilder builder) { + return SharedSuggestionProvider.suggestResource(ShellTheme.SHELL_THEME_REGISTRY.keySet(), builder); + } + + @Override + public Collection getExamples() { + return EXAMPLES; + } } \ No newline at end of file diff --git a/common/src/main/java/whocraft/tardis_refined/command/arguments/UpgradeArgumentType.java b/common/src/main/java/whocraft/tardis_refined/command/arguments/UpgradeArgumentType.java index ac41a29c2..2c2fa050b 100644 --- a/common/src/main/java/whocraft/tardis_refined/command/arguments/UpgradeArgumentType.java +++ b/common/src/main/java/whocraft/tardis_refined/command/arguments/UpgradeArgumentType.java @@ -22,33 +22,15 @@ public class UpgradeArgumentType implements ArgumentType { + public static final DynamicCommandExceptionType INVALID_UPGRADE_EXCEPTION = new DynamicCommandExceptionType((upgrade) -> Component.translatable(ModMessages.CMD_ARG_UPGRADE_INVALID, upgrade)); private static final Collection EXAMPLES = Stream.of(TRUpgrades.ARCHITECTURE_SYSTEM).map((upgrade) -> { return upgrade != null ? upgrade.getId().toString() : ""; }).collect(Collectors.toList()); - public static final DynamicCommandExceptionType INVALID_UPGRADE_EXCEPTION = new DynamicCommandExceptionType((upgrade) -> Component.translatable(ModMessages.CMD_ARG_UPGRADE_INVALID, upgrade)); - public static UpgradeArgumentType upgradeArgumentType() { return new UpgradeArgumentType(); } - @Override - public ResourceLocation parse(StringReader reader) throws CommandSyntaxException { - return ResourceLocation.read(reader); - } - - @Override - public CompletableFuture listSuggestions(CommandContext context, SuggestionsBuilder builder) { - - return SharedSuggestionProvider.suggestResource(TRUpgrades.UPGRADE_REGISTRY.keySet(), builder); - } - - @Override - public Collection getExamples() { - EXAMPLES.add("*"); - return EXAMPLES; - } - public static Upgrade getUpgrade(CommandContext context, String name) throws CommandSyntaxException { ResourceLocation resourcelocation = context.getArgument(name, ResourceLocation.class); Upgrade upgrade = TRUpgrades.UPGRADE_REGISTRY.get(resourcelocation); @@ -65,4 +47,21 @@ public static ResourceLocation getUpgradeId(CommandContext c else return resourcelocation; } + + @Override + public ResourceLocation parse(StringReader reader) throws CommandSyntaxException { + return ResourceLocation.read(reader); + } + + @Override + public CompletableFuture listSuggestions(CommandContext context, SuggestionsBuilder builder) { + + return SharedSuggestionProvider.suggestResource(TRUpgrades.UPGRADE_REGISTRY.keySet(), builder); + } + + @Override + public Collection getExamples() { + EXAMPLES.add("*"); + return EXAMPLES; + } } \ No newline at end of file diff --git a/common/src/main/java/whocraft/tardis_refined/command/sub/CreateCommand.java b/common/src/main/java/whocraft/tardis_refined/command/sub/CreateCommand.java index 895d5e372..8f58226b3 100644 --- a/common/src/main/java/whocraft/tardis_refined/command/sub/CreateCommand.java +++ b/common/src/main/java/whocraft/tardis_refined/command/sub/CreateCommand.java @@ -28,10 +28,10 @@ public class CreateCommand { public static ArgumentBuilder register(CommandDispatcher dispatcher) { return Commands.literal("create") .then( - Commands.argument("shell", ShellArgumentType.shellArgumentType()) - .then(Commands.argument("desktop", DesktopArgumentType.desktopArgumentType()) - .executes(CreateCommand::createTardis) - ) + Commands.argument("shell", ShellArgumentType.shellArgumentType()) + .then(Commands.argument("desktop", DesktopArgumentType.desktopArgumentType()) + .executes(CreateCommand::createTardis) + ) ); } @@ -51,7 +51,7 @@ private static int createTardis(CommandContext context) thro context.getSource().sendSystemMessage(Component.translatable(ModMessages.CMD_CREATE_TARDIS_IN_PROGRESS, tardisId)); - if (TardisHelper.createTardis(pos, level, generatedLevelKey, shellTheme, desktopTheme)){ + if (TardisHelper.createTardis(pos, level, generatedLevelKey, shellTheme, desktopTheme)) { context.getSource().sendSystemMessage(Component.translatable(ModMessages.CMD_CREATE_TARDIS_SUCCESS, tardisId)); } diff --git a/common/src/main/java/whocraft/tardis_refined/command/sub/InteriorCommand.java b/common/src/main/java/whocraft/tardis_refined/command/sub/InteriorCommand.java index 635412b8d..6f9231fb9 100644 --- a/common/src/main/java/whocraft/tardis_refined/command/sub/InteriorCommand.java +++ b/common/src/main/java/whocraft/tardis_refined/command/sub/InteriorCommand.java @@ -31,7 +31,7 @@ public class InteriorCommand implements Command { return Commands.literal("interior") .then(Commands.argument("tardis", DimensionArgument.dimension()).suggests(CommandHelper.SUGGEST_TARDISES).executes(context -> teleportToInterior(context, List.of(Objects.requireNonNull(context.getSource().getPlayer())), DimensionArgument.getDimension(context, "tardis"))) .then(Commands.argument("entities", EntityArgument.entities()) - .executes(context -> teleportToInterior(context, EntityArgument.getEntities(context, "entities"), DimensionArgument.getDimension(context, "tardis"))))); + .executes(context -> teleportToInterior(context, EntityArgument.getEntities(context, "entities"), DimensionArgument.getDimension(context, "tardis"))))); } private static int teleportToInterior(CommandContext context, Collection entities, ServerLevel tardis) { @@ -40,8 +40,8 @@ private static int teleportToInterior(CommandContext context ServerPlayer sender = context.getSource().getPlayer(); if (tardisData.isPresent()) { - for(Entity entity : entities){ - if (!teleportToInterior(tardisData.get(), entity)){ //If internal door doesn't exist during teleport attempt, stop teleporting and notify the command sender. + for (Entity entity : entities) { + if (!teleportToInterior(tardisData.get(), entity)) { //If internal door doesn't exist during teleport attempt, stop teleporting and notify the command sender. Component tpCommandSuggestion = CommandHelper.createComponentSuggestCommand("Default Teleport", "/execute in " + tardis.dimension().location().toString() + " run tp 0 100 0"); PlayerUtil.sendMessage(sender, Component.translatable(ModMessages.CMD_NO_INTERNAL_DOOR, tardis.dimension().location().toString(), tpCommandSuggestion), false); return 0; diff --git a/common/src/main/java/whocraft/tardis_refined/command/sub/LevelCommand.java b/common/src/main/java/whocraft/tardis_refined/command/sub/LevelCommand.java index 98df58334..b0ff5c793 100644 --- a/common/src/main/java/whocraft/tardis_refined/command/sub/LevelCommand.java +++ b/common/src/main/java/whocraft/tardis_refined/command/sub/LevelCommand.java @@ -23,28 +23,28 @@ public class LevelCommand { public static ArgumentBuilder register(CommandDispatcher dispatcher) { return Commands.literal("level") .then( - Commands.literal("points") - .then( - Commands.literal("get").then(Commands.argument("tardis", DimensionArgument.dimension()).suggests(CommandHelper.SUGGEST_TARDISES).executes(LevelCommand::getDimensionPoints)) - ) - .then( - Commands.literal("set").then(Commands.argument("amount", IntegerArgumentType.integer()).then(Commands.argument("tardis", DimensionArgument.dimension()).suggests(CommandHelper.SUGGEST_TARDISES).executes(LevelCommand::setDimensionPoints))) - ) - .then( - Commands.literal("add").then(Commands.argument("amount", IntegerArgumentType.integer()).then(Commands.argument("tardis", DimensionArgument.dimension()).suggests(CommandHelper.SUGGEST_TARDISES).executes(LevelCommand::addDimensionPoints))) - ) + Commands.literal("points") + .then( + Commands.literal("get").then(Commands.argument("tardis", DimensionArgument.dimension()).suggests(CommandHelper.SUGGEST_TARDISES).executes(LevelCommand::getDimensionPoints)) + ) + .then( + Commands.literal("set").then(Commands.argument("amount", IntegerArgumentType.integer()).then(Commands.argument("tardis", DimensionArgument.dimension()).suggests(CommandHelper.SUGGEST_TARDISES).executes(LevelCommand::setDimensionPoints))) + ) + .then( + Commands.literal("add").then(Commands.argument("amount", IntegerArgumentType.integer()).then(Commands.argument("tardis", DimensionArgument.dimension()).suggests(CommandHelper.SUGGEST_TARDISES).executes(LevelCommand::addDimensionPoints))) + ) ) .then( Commands.literal("xp") - .then( - Commands.literal("get").then(Commands.argument("tardis", DimensionArgument.dimension()).suggests(CommandHelper.SUGGEST_TARDISES).executes(LevelCommand::getDimensionXp)) - ) - .then( - Commands.literal("set").then(Commands.argument("amount", IntegerArgumentType.integer()).then(Commands.argument("tardis", DimensionArgument.dimension()).suggests(CommandHelper.SUGGEST_TARDISES).executes(LevelCommand::setDimensionXp))) - ) - .then( - Commands.literal("add").then(Commands.argument("amount", IntegerArgumentType.integer()).then(Commands.argument("tardis", DimensionArgument.dimension()).suggests(CommandHelper.SUGGEST_TARDISES).executes(LevelCommand::addDimensionXp))) - ) + .then( + Commands.literal("get").then(Commands.argument("tardis", DimensionArgument.dimension()).suggests(CommandHelper.SUGGEST_TARDISES).executes(LevelCommand::getDimensionXp)) + ) + .then( + Commands.literal("set").then(Commands.argument("amount", IntegerArgumentType.integer()).then(Commands.argument("tardis", DimensionArgument.dimension()).suggests(CommandHelper.SUGGEST_TARDISES).executes(LevelCommand::setDimensionXp))) + ) + .then( + Commands.literal("add").then(Commands.argument("amount", IntegerArgumentType.integer()).then(Commands.argument("tardis", DimensionArgument.dimension()).suggests(CommandHelper.SUGGEST_TARDISES).executes(LevelCommand::addDimensionXp))) + ) ); diff --git a/common/src/main/java/whocraft/tardis_refined/command/sub/UpgradesCommand.java b/common/src/main/java/whocraft/tardis_refined/command/sub/UpgradesCommand.java index cf048b8a8..08eee21d8 100644 --- a/common/src/main/java/whocraft/tardis_refined/command/sub/UpgradesCommand.java +++ b/common/src/main/java/whocraft/tardis_refined/command/sub/UpgradesCommand.java @@ -47,7 +47,6 @@ public class UpgradesCommand { } - private static int unlockAll(CommandContext context) throws CommandSyntaxException { ServerLevel dimension = DimensionArgument.getDimension(context, "tardis"); MutableComponent tardisId = TardisHelper.createTardisIdComponent(dimension.dimension().location()); 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 17615156f..f6d61bebb 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 @@ -64,7 +64,7 @@ private static int exportDesktop(CommandContext context, Blo Component reloadCommandSuggestion = CommandHelper.createComponentSuggestCommand("/reload", "/reload"); Component githubReleasePage = CommandHelper.createComponentOpenUrl("Tardis Refined Github Release Page", ModMessages.GITHUB_RELEASE_PAGE); - + PlayerUtil.sendMessage(sender, Component.translatable(ModMessages.CMD_EXPORT_DESKTOP_SUCCESS, loc, path, reloadCommandSuggestion), false); PlayerUtil.sendMessage(sender, Component.translatable(ModMessages.CMD_EXPORT_DESKTOP_RESOURCE_PACK, githubReleasePage), false); return Command.SINGLE_SUCCESS; diff --git a/common/src/main/java/whocraft/tardis_refined/common/block/RootPlantBlock.java b/common/src/main/java/whocraft/tardis_refined/common/block/RootPlantBlock.java index e3edd9c7e..f0dcfb118 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/block/RootPlantBlock.java +++ b/common/src/main/java/whocraft/tardis_refined/common/block/RootPlantBlock.java @@ -36,7 +36,7 @@ import whocraft.tardis_refined.registry.TRDimensionTypes; -public class RootPlantBlock extends BaseEntityBlock implements SimpleWaterloggedBlock{ +public class RootPlantBlock extends BaseEntityBlock implements SimpleWaterloggedBlock { public static final DirectionProperty FACING = BlockStateProperties.FACING; public static final IntegerProperty AGE = BlockStateProperties.AGE_5; @@ -103,7 +103,6 @@ public void randomTick(BlockState blockState, ServerLevel serverLevel, BlockPos if (age < this.getMaxAge()) { - if (serverLevel.getBlockState(blockPos.below()).getBlock() == Blocks.MAGMA_BLOCK) { if (randomSource.nextInt(6) == 0) { FluidState fluidState = serverLevel.getFluidState(blockPos); @@ -121,7 +120,7 @@ public void randomTick(BlockState blockState, ServerLevel serverLevel, BlockPos double j = randomSource.nextGaussian() * 0.02; for (int i = 0; i < 10; ++i) { - serverLevel.sendParticles(ParticleTypes.COMPOSTER, (double)blockPos.getX() + (double)0.13125f + (double)0.7375f * (double)randomSource.nextFloat(), (double)blockPos.getY() + d + (double)randomSource.nextFloat() * (1.0), (double)blockPos.getZ() + (double)0.13125f + (double)0.7375f * (double)randomSource.nextFloat(), 120, g,h,j, 0.005); + serverLevel.sendParticles(ParticleTypes.COMPOSTER, (double) blockPos.getX() + (double) 0.13125f + (double) 0.7375f * (double) randomSource.nextFloat(), (double) blockPos.getY() + d + (double) randomSource.nextFloat() * (1.0), (double) blockPos.getZ() + (double) 0.13125f + (double) 0.7375f * (double) randomSource.nextFloat(), 120, g, h, j, 0.005); } } @@ -151,7 +150,7 @@ public VoxelShape getShape(BlockState blockState, BlockGetter blockGetter, Block @Override public void onPlace(BlockState blockState, Level level, BlockPos blockPos, BlockState blockState2, boolean bl) { - if(level instanceof ServerLevel serverLevel && level.dimensionTypeId() == TRDimensionTypes.TARDIS){ + if (level instanceof ServerLevel serverLevel && level.dimensionTypeId() == TRDimensionTypes.TARDIS) { TardisLevelOperator.get(serverLevel).ifPresent(TardisHelper::playCloisterBell); serverLevel.destroyBlock(blockPos, true); //Use Level#destroyBlock with boolean flag to TRUE so that it both destroys the block and drops its resources based off its loot table, which is the source of truth. return; @@ -166,7 +165,7 @@ public void onPlace(BlockState blockState, Level level, BlockPos blockPos, Block @Override public BlockState updateShape(BlockState blockState, Direction direction, BlockState blockState2, LevelAccessor levelAccessor, BlockPos blockPos, BlockPos blockPos2) { - if (blockState.getValue(WATERLOGGED)){ + if (blockState.getValue(WATERLOGGED)) { levelAccessor.scheduleTick(blockPos, Fluids.WATER, Fluids.WATER.getTickDelay(levelAccessor)); } return super.updateShape(blockState, direction, blockState2, levelAccessor, blockPos, blockPos2); diff --git a/common/src/main/java/whocraft/tardis_refined/common/block/device/AntiGravityBlock.java b/common/src/main/java/whocraft/tardis_refined/common/block/device/AntiGravityBlock.java index fb500763f..dcdcec439 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/block/device/AntiGravityBlock.java +++ b/common/src/main/java/whocraft/tardis_refined/common/block/device/AntiGravityBlock.java @@ -23,6 +23,7 @@ public class AntiGravityBlock extends Block { public static final int DISABLED_SPACE = 0; public static final int MAX_SPACE = 5; + public AntiGravityBlock(Properties properties) { super(properties); this.registerDefaultState(this.stateDefinition.any().setValue(SPACE, DISABLED_SPACE)); @@ -40,7 +41,6 @@ public BlockState getStateForPlacement(@NotNull BlockPlaceContext context) { } - @Override protected void createBlockStateDefinition(StateDefinition.@NotNull Builder builder) { super.createBlockStateDefinition(builder); @@ -50,7 +50,7 @@ protected void createBlockStateDefinition(StateDefinition.@NotNull Builder MAX_SPACE) { 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 bbc00b37d..0a8f5584f 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 @@ -27,13 +27,13 @@ public class AstralManipulatorBlock extends Block implements EntityBlock { + public static final BooleanProperty POWERED = BooleanProperty.create("powered"); + + public AstralManipulatorBlock(Properties properties) { super(properties); } - - public static final BooleanProperty POWERED = BooleanProperty.create("powered"); - @Override protected void createBlockStateDefinition(StateDefinition.Builder builder) { super.createBlockStateDefinition(builder); diff --git a/common/src/main/java/whocraft/tardis_refined/common/block/device/ConsoleConfigurationBlock.java b/common/src/main/java/whocraft/tardis_refined/common/block/device/ConsoleConfigurationBlock.java index 6224d7b33..ea9319592 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/block/device/ConsoleConfigurationBlock.java +++ b/common/src/main/java/whocraft/tardis_refined/common/block/device/ConsoleConfigurationBlock.java @@ -101,8 +101,6 @@ public InteractionResult use(BlockState blockState, Level level, BlockPos blockP } - - if (level instanceof ServerLevel serverLevel) { if (serverLevel.dimensionTypeId() == TRDimensionTypes.TARDIS) { TardisLevelOperator.get(serverLevel).ifPresent(operator -> { @@ -135,9 +133,9 @@ public InteractionResult use(BlockState blockState, Level level, BlockPos blockP /** * Places a Global Console block at the specified position, with the same theme as the Console Configuration block. * - * @param level The level the Global Console block will be placed in. + * @param level The level the Global Console block will be placed in. * @param configuratorPos - The position where this current configurator block is at - * @param consolePos The position to place the Global Console block at. + * @param consolePos The position to place the Global Console block at. */ private boolean placeNewGlobalConsoleBlock(Level level, BlockPos configuratorPos, BlockPos consolePos) { BlockEntity expectedConfiguratorBlockEntity = level.getBlockEntity(configuratorPos); @@ -167,8 +165,8 @@ private boolean placeNewGlobalConsoleBlock(Level level, BlockPos configuratorPos /** * Removes the Global Console block at the specified position and kills its controls. * - * @param consolePos The position of the Global Console block to be removed. - * @param level The level the Global Console block is in. + * @param consolePos The position of the Global Console block to be removed. + * @param level The level the Global Console block is in. */ private boolean removeGlobalConsoleBlock(BlockPos consolePos, Level level) { BlockEntity blockEntity = level.getBlockEntity(consolePos); @@ -182,13 +180,14 @@ private boolean removeGlobalConsoleBlock(BlockPos consolePos, Level level) { /** * Change the pattern of the console blocks' current theme + * * @param level * @param configuratorPos * @param consolePos * @param player * @return */ - private boolean changePattern(Level level, BlockPos configuratorPos, BlockPos consolePos, Player player){ + private boolean changePattern(Level level, BlockPos configuratorPos, BlockPos consolePos, Player player) { BlockEntity expectedConfiguratorBlockEntity = level.getBlockEntity(configuratorPos); @@ -217,10 +216,9 @@ private boolean changePattern(Level level, BlockPos configuratorPos, BlockPos co /** * Changes the theme of the Console Configuration block and its adjacent Global Console block using the next theme from the configurator's current theme. * - * @param level The level the Console Configuration and Global Console blocks are in. - * @param configuratorPos The position of the Console Configuration block. - * @param consolePos - The configurator block entity which we expect to not be null - + * @param level The level the Console Configuration and Global Console blocks are in. + * @param configuratorPos The position of the Console Configuration block. + * @param consolePos - The configurator block entity which we expect to not be null */ private boolean changeConsoleTheme(Level level, BlockPos configuratorPos, BlockPos consolePos) { @@ -243,7 +241,7 @@ private boolean changeConsoleTheme(Level level, BlockPos configuratorPos, BlockP // Change theme and set the current pattern to the default ConsolePattern defaultOrEquivalentPattern = ConsolePatterns.getPatternOrDefault(nextTheme, ResourceConstants.DEFAULT_PATTERN_ID); - if (defaultOrEquivalentPattern != null){ + if (defaultOrEquivalentPattern != null) { consoleBlockEntity.setPattern(defaultOrEquivalentPattern); level.playSound(null, consolePos, SoundEvents.ENCHANTMENT_TABLE_USE, SoundSource.BLOCKS, 3, 0.45f); @@ -258,13 +256,13 @@ private boolean changeConsoleTheme(Level level, BlockPos configuratorPos, BlockP return false; } - private ResourceLocation nextTheme(ConsoleConfigurationBlockEntity blockEntity){ + private ResourceLocation nextTheme(ConsoleConfigurationBlockEntity blockEntity) { ResourceLocation consoleThemeId = blockEntity.theme(); //Get next console theme List themesList = ConsoleTheme.CONSOLE_THEME_REGISTRY.keySet().stream().toList(); int index = themesList.indexOf(consoleThemeId); int nextIndex = index + 1; - if(nextIndex >= themesList.size()) { + if (nextIndex >= themesList.size()) { nextIndex = 0; } return themesList.get(nextIndex); diff --git a/common/src/main/java/whocraft/tardis_refined/common/block/device/CorridorTeleporterBlock.java b/common/src/main/java/whocraft/tardis_refined/common/block/device/CorridorTeleporterBlock.java index f5ccaca40..2e1494ceb 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/block/device/CorridorTeleporterBlock.java +++ b/common/src/main/java/whocraft/tardis_refined/common/block/device/CorridorTeleporterBlock.java @@ -49,12 +49,12 @@ public BlockEntityTicker getTicker(@NotNull Level lev }; } - + @Override public void entityInside(BlockState blockState, Level level, BlockPos blockPos, Entity entity) { - if (!level.isClientSide()){ - ServerLevel serverLevel = (ServerLevel)level; + if (!level.isClientSide()) { + ServerLevel serverLevel = (ServerLevel) level; if (serverLevel.getBlockEntity(blockPos) instanceof CorridorTeleporterBlockEntity corridorTeleporterBlockEntity) { corridorTeleporterBlockEntity.startTeleporterTimer(); } diff --git a/common/src/main/java/whocraft/tardis_refined/common/block/device/FlightDetectorBlock.java b/common/src/main/java/whocraft/tardis_refined/common/block/device/FlightDetectorBlock.java index 50bb238b1..ea696c783 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/block/device/FlightDetectorBlock.java +++ b/common/src/main/java/whocraft/tardis_refined/common/block/device/FlightDetectorBlock.java @@ -29,14 +29,14 @@ public class FlightDetectorBlock extends HorizontalDirectionalBlock implements E public static final IntegerProperty LEVEL = IntegerProperty.create("level", 0, 16); protected static final VoxelShape SHAPE = Block.box(0.0D, 0.0D, 0.0D, 16.0D, 6.0D, 16.0D); - public VoxelShape getShape(BlockState blockState, BlockGetter blockGetter, BlockPos blockPos, CollisionContext collisionContext) { - return SHAPE; - } - public FlightDetectorBlock(Properties properties) { super(properties); } + public VoxelShape getShape(BlockState blockState, BlockGetter blockGetter, BlockPos blockPos, CollisionContext collisionContext) { + return SHAPE; + } + @Override public BlockEntity newBlockEntity(BlockPos blockPos, BlockState blockState) { return new FlightDetectorBlockEntity(blockPos, blockState); diff --git a/common/src/main/java/whocraft/tardis_refined/common/block/device/TerraformerBlock.java b/common/src/main/java/whocraft/tardis_refined/common/block/device/TerraformerBlock.java index b889f60e8..9090dc793 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/block/device/TerraformerBlock.java +++ b/common/src/main/java/whocraft/tardis_refined/common/block/device/TerraformerBlock.java @@ -36,41 +36,41 @@ public class TerraformerBlock extends Block { public static BooleanProperty ACTIVE = BlockStateProperties.POWERED; - + public static VoxelShape SHAPE = Stream.of( Stream.of( - Block.box(0.5, 5, 13.5, 2.5, 10, 15.5), - Block.box(1.5, 10, 13.5, 1.5, 18, 15.5), - Block.box(0, 0, 13, 3, 5, 16) + Block.box(0.5, 5, 13.5, 2.5, 10, 15.5), + Block.box(1.5, 10, 13.5, 1.5, 18, 15.5), + Block.box(0, 0, 13, 3, 5, 16) ).reduce((v1, v2) -> Shapes.join(v1, v2, OR)).get(), Stream.of( - Block.box(0.5, 5, 0.5, 2.5, 10, 2.5), - Block.box(1.5, 10, 0.5, 1.5, 18, 2.5), - Block.box(0, 0, 0, 3, 5, 3) + Block.box(0.5, 5, 0.5, 2.5, 10, 2.5), + Block.box(1.5, 10, 0.5, 1.5, 18, 2.5), + Block.box(0, 0, 0, 3, 5, 3) ).reduce((v1, v2) -> Shapes.join(v1, v2, OR)).get(), Stream.of( - Block.box(13.5, 5, 0.5, 15.5, 10, 2.5), - Block.box(14.5, 10, 0.5, 14.5, 18, 2.5), - Block.box(13, 0, 0, 16, 5, 3) + Block.box(13.5, 5, 0.5, 15.5, 10, 2.5), + Block.box(14.5, 10, 0.5, 14.5, 18, 2.5), + Block.box(13, 0, 0, 16, 5, 3) ).reduce((v1, v2) -> Shapes.join(v1, v2, OR)).get(), Stream.of( - Block.box(13.5, 5, 13.5, 15.5, 10, 15.5), - Block.box(14.5, 10, 13.5, 14.5, 18, 15.5), - Block.box(13, 0, 13, 16, 5, 16) + Block.box(13.5, 5, 13.5, 15.5, 10, 15.5), + Block.box(14.5, 10, 13.5, 14.5, 18, 15.5), + Block.box(13, 0, 13, 16, 5, 16) ).reduce((v1, v2) -> Shapes.join(v1, v2, OR)).get(), Stream.of( - Block.box(12.5, 17.5, 12.5, 16.5, 21.5, 16.5), - Block.box(0, 19, 0, 16, 19, 16), - Block.box(12.5, 17.5, -0.5, 16.5, 21.5, 3.5), - Block.box(-0.5, 17.5, -0.5, 3.5, 21.5, 3.5), - Block.box(-0.5, 17.5, 12.5, 3.5, 21.5, 16.5), - Block.box(2, 17, 2, 14, 20, 14), - Block.box(5, 15.5, 5, 11, 17.5, 11) + Block.box(12.5, 17.5, 12.5, 16.5, 21.5, 16.5), + Block.box(0, 19, 0, 16, 19, 16), + Block.box(12.5, 17.5, -0.5, 16.5, 21.5, 3.5), + Block.box(-0.5, 17.5, -0.5, 3.5, 21.5, 3.5), + Block.box(-0.5, 17.5, 12.5, 3.5, 21.5, 16.5), + Block.box(2, 17, 2, 14, 20, 14), + Block.box(5, 15.5, 5, 11, 17.5, 11) ).reduce((v1, v2) -> Shapes.join(v1, v2, OR)).get(), Block.box(2, 0, 2, 14, 4, 14), Block.box(4, 4, 4, 12, 6, 12) - ).reduce((v1, v2) -> Shapes.join(v1, v2, OR)).get(); - + ).reduce((v1, v2) -> Shapes.join(v1, v2, OR)).get(); + public TerraformerBlock(Properties properties) { super(properties); this.registerDefaultState(this.stateDefinition.any().setValue(ACTIVE, false)); @@ -158,7 +158,7 @@ private boolean checkIfStructure(Level level, BlockPos blockPos) { return false; } - BlockPos startingCorner = new BlockPos(blockPos.getX() - 1, blockPos.getY()-1, blockPos.getZ()-1); + BlockPos startingCorner = new BlockPos(blockPos.getX() - 1, blockPos.getY() - 1, blockPos.getZ() - 1); for (int x = startingCorner.getX(); x < startingCorner.getX() + 3; x++) { for (int z = startingCorner.getZ(); z < startingCorner.getZ() + 3; z++) { @@ -179,9 +179,10 @@ private boolean checkIfStructure(Level level, BlockPos blockPos) { return true; } + private void destroyStructure(Level level, BlockPos blockPos) { if (level instanceof ServerLevel serverLevel) { - BlockPos startingCorner = new BlockPos(blockPos.getX() - 1, blockPos.getY()-1, blockPos.getZ()-1); + BlockPos startingCorner = new BlockPos(blockPos.getX() - 1, blockPos.getY() - 1, blockPos.getZ() - 1); for (int x = startingCorner.getX(); x < startingCorner.getX() + 3; x++) { for (int z = startingCorner.getZ(); z < startingCorner.getZ() + 3; z++) { serverLevel.destroyBlock(new BlockPos(x, startingCorner.getY(), z), false); 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 456324fcf..c019cdf23 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 @@ -22,11 +22,11 @@ import whocraft.tardis_refined.common.capability.tardis.TardisLevelOperator; import whocraft.tardis_refined.common.tardis.manager.AestheticHandler; -public class GlobalDoorBlock extends InternalDoorBlock{ +public class GlobalDoorBlock extends InternalDoorBlock { protected static final VoxelShape NORTH_AABB = Block.box(0.0D, 0.0D, 0.0D, 16.0D, 32.0D, 0.25D); protected static final VoxelShape SOUTH_AABB = Block.box(0.0D, 0.0D, 15.75D, 16.0D, 32.0D, 16.0D); - protected static final VoxelShape EAST_AABB= Block.box(15.75D, 0.0D, 0.0D, 16.0D, 32.0D, 16.0D); + protected static final VoxelShape EAST_AABB = Block.box(15.75D, 0.0D, 0.0D, 16.0D, 32.0D, 16.0D); protected static final VoxelShape WEST_AABB = Block.box(0.0D, 0.0D, 0.0D, 0.25D, 32.0D, 16.0D); public GlobalDoorBlock(Properties properties) { @@ -44,11 +44,11 @@ public BlockEntity newBlockEntity(BlockPos blockPos, BlockState blockState) { @Override public void onPlace(BlockState blockState, Level level, BlockPos blockPos, BlockState blockState2, boolean bl) { super.onPlace(blockState, level, blockPos, blockState2, bl); - if(level instanceof ServerLevel serverLevel){ + if (level instanceof ServerLevel serverLevel) { TardisLevelOperator.get(serverLevel).ifPresent(tardisLevelOperator -> { BlockEntity block = level.getBlockEntity(blockPos); AestheticHandler aesthetics = tardisLevelOperator.getAestheticHandler(); - if(block instanceof GlobalDoorBlockEntity globalDoorBlockEntity){ + if (block instanceof GlobalDoorBlockEntity globalDoorBlockEntity) { globalDoorBlockEntity.setShellTheme(aesthetics.getShellTheme()); globalDoorBlockEntity.setPattern(aesthetics.shellPattern()); globalDoorBlockEntity.sendUpdates(); @@ -71,7 +71,7 @@ public BlockState getStateForPlacement(@NotNull BlockPlaceContext blockPlaceCont public InteractionResult use(BlockState blockState, Level level, BlockPos blockPos, Player player, InteractionHand interactionHand, BlockHitResult blockHitResult) { if (interactionHand == InteractionHand.MAIN_HAND) { if (!player.level().isClientSide()) { - if (level instanceof ServerLevel serverLevel) { + if (level instanceof ServerLevel serverLevel) { if (TardisLevelOperator.get(serverLevel).isPresent()) { if (serverLevel.getBlockEntity(blockPos) instanceof GlobalDoorBlockEntity entity) { entity.onRightClick(blockState, entity, player); @@ -87,7 +87,7 @@ 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)) { + switch (blockState.getValue(FACING)) { case EAST: return EAST_AABB; case SOUTH: 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 7eacf302b..8f5414435 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,8 +30,10 @@ public class InternalDoorBlock extends BaseEntityBlock { public static final DirectionProperty FACING = HorizontalDirectionalBlock.FACING; public static final BooleanProperty OPEN = BooleanProperty.create("open"); - /** 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*/ + /** + * 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 + */ public static final BooleanProperty LOCKED = BooleanProperty.create("locked"); protected static final VoxelShape COLLISION = Block.box(0, 0, 0, 16, 32, 16); protected static BlockEntity blockEntity; @@ -67,11 +69,11 @@ public BlockEntity newBlockEntity(BlockPos blockPos, BlockState blockState) { return this.getDoorBlockEntity(); } - public void setBlockEntity(BlockEntity blockEntity){ + public void setBlockEntity(BlockEntity blockEntity) { this.blockEntity = blockEntity; } - public BlockEntity getDoorBlockEntity(){ + public BlockEntity getDoorBlockEntity() { return this.blockEntity; } @@ -96,12 +98,12 @@ public BlockState getStateForPlacement(@NotNull BlockPlaceContext blockPlaceCont public void entityInside(BlockState blockState, Level level, BlockPos blockPos, Entity entity) { if (!level.isClientSide()) { - ServerLevel serverLevel = (ServerLevel)level; + ServerLevel serverLevel = (ServerLevel) level; if (serverLevel.getBlockEntity(blockPos) instanceof TardisInternalDoor door) { if (TardisLevelOperator.get(serverLevel).isPresent()) { AABB teleportAABB = this.getCollisionShape(blockState, level, blockPos, CollisionContext.of(entity)).bounds().move(blockPos); - if (TRTeleporter.teleportIfCollided(serverLevel, blockPos, entity, teleportAABB)){ + if (TRTeleporter.teleportIfCollided(serverLevel, blockPos, entity, teleportAABB)) { door.onAttemptEnter(blockState, serverLevel, blockPos, entity); } } diff --git a/common/src/main/java/whocraft/tardis_refined/common/block/door/RootShellDoorBlock.java b/common/src/main/java/whocraft/tardis_refined/common/block/door/RootShellDoorBlock.java index f67fa0eab..a0cd576eb 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/block/door/RootShellDoorBlock.java +++ b/common/src/main/java/whocraft/tardis_refined/common/block/door/RootShellDoorBlock.java @@ -20,6 +20,12 @@ public class RootShellDoorBlock extends GlobalDoorBlock { protected static final VoxelShape SOUTH_AABB, NORTH_AABB, WEST_AABB, EAST_AABB; + static { + NORTH_AABB = Block.box(0.0D, 0.0D, 0.0D, 16.0D, 32.0D, 3.0D); + SOUTH_AABB = Block.box(0.0D, 0.0D, 13.0D, 16.0D, 32.0D, 16.0D); + EAST_AABB = Block.box(13.0D, 0.0D, 0.0D, 16.0D, 32.0D, 16.0D); + WEST_AABB = Block.box(0.0D, 0.0D, 0.0D, 3.0D, 32.0D, 16.0D); + } public RootShellDoorBlock(Properties properties) { super(properties); @@ -38,9 +44,15 @@ public VoxelShape getCollisionShape(BlockState blockState, BlockGetter blockGett case SOUTH -> { return SOUTH_AABB; } - case NORTH -> {return NORTH_AABB;} - case WEST -> {return WEST_AABB;} - case EAST -> {return EAST_AABB;} + case NORTH -> { + return NORTH_AABB; + } + case WEST -> { + return WEST_AABB; + } + case EAST -> { + return EAST_AABB; + } } return SOUTH_AABB; @@ -48,17 +60,17 @@ public VoxelShape getCollisionShape(BlockState blockState, BlockGetter blockGett @Override public VoxelShape getShape(BlockState blockState, BlockGetter blockGetter, BlockPos blockPos, CollisionContext collisionContext) { - switch(blockState.getValue(FACING)) { + switch (blockState.getValue(FACING)) { case SOUTH: - return SOUTH_AABB ; + return SOUTH_AABB; case WEST: return WEST_AABB; case NORTH: return NORTH_AABB; case EAST: default: - return EAST_AABB; + return EAST_AABB; } } @@ -66,11 +78,4 @@ public VoxelShape getShape(BlockState blockState, BlockGetter blockGetter, Block public InteractionResult use(BlockState blockState, Level level, BlockPos blockPos, Player player, InteractionHand interactionHand, BlockHitResult blockHitResult) { return InteractionResult.SUCCESS; } - - static { - NORTH_AABB = Block.box(0.0D, 0.0D, 0.0D, 16.0D, 32.0D, 3.0D); - SOUTH_AABB = Block.box(0.0D, 0.0D, 13.0D, 16.0D, 32.0D, 16.0D); - EAST_AABB = Block.box(13.0D, 0.0D, 0.0D, 16.0D, 32.0D, 16.0D); - WEST_AABB = Block.box(0.0D, 0.0D, 0.0D, 3.0D, 32.0D, 16.0D); - } } diff --git a/common/src/main/java/whocraft/tardis_refined/common/block/life/ArsEggBlock.java b/common/src/main/java/whocraft/tardis_refined/common/block/life/ArsEggBlock.java index 2620b757d..eeede3283 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/block/life/ArsEggBlock.java +++ b/common/src/main/java/whocraft/tardis_refined/common/block/life/ArsEggBlock.java @@ -39,7 +39,8 @@ public class ArsEggBlock extends BaseEntityBlock { public static final BooleanProperty HANGING = BlockStateProperties.HANGING; - public static final BooleanProperty ALIVE = BooleanProperty.create("alive");; + public static final BooleanProperty ALIVE = BooleanProperty.create("alive"); + ; public static final BooleanProperty WATERLOGGED = BlockStateProperties.WATERLOGGED; protected static final VoxelShape AABB = Shapes.join(Stream.of( @@ -51,9 +52,18 @@ public class ArsEggBlock extends BaseEntityBlock { private static final VoxelShape NO_CLAMP_AABB = Block.box(4, 0, 4, 12, 9, 12); + public ArsEggBlock(Properties properties) { + super(properties); + this.registerDefaultState(this.stateDefinition.any().setValue(HANGING, false).setValue(WATERLOGGED, false).setValue(ALIVE, true)); + } + + protected static Direction getConnectedDirection(BlockState blockState) { + return blockState.getValue(HANGING) ? Direction.DOWN : Direction.UP; + } + @Override public VoxelShape getShape(BlockState blockState, BlockGetter blockGetter, BlockPos blockPos, CollisionContext collisionContext) { - return blockState.getValue(HANGING) ? AABB.move(0,0.3,0) : (blockState.getValue(ALIVE) ? AABB : NO_CLAMP_AABB); + return blockState.getValue(HANGING) ? AABB.move(0, 0.3, 0) : (blockState.getValue(ALIVE) ? AABB : NO_CLAMP_AABB); } @Override @@ -74,11 +84,6 @@ public BlockState getStateForPlacement(BlockPlaceContext blockPlaceContext) { return null; } - public ArsEggBlock(Properties properties) { - super(properties); - this.registerDefaultState(this.stateDefinition.any().setValue(HANGING, false).setValue(WATERLOGGED, false).setValue(ALIVE, true)); - } - @Override public boolean isPathfindable(BlockState blockState, BlockGetter blockGetter, BlockPos blockPos, PathComputationType pathComputationType) { return false; @@ -92,7 +97,6 @@ public BlockState updateShape(BlockState blockState, Direction direction, BlockS return getConnectedDirection(blockState).getOpposite() == direction && !blockState.canSurvive(levelAccessor, blockPos) ? Blocks.AIR.defaultBlockState() : super.updateShape(blockState, direction, blockState2, levelAccessor, blockPos, blockPos2); } - @Override protected void createBlockStateDefinition(StateDefinition.Builder builder) { builder.add(HANGING, WATERLOGGED, ALIVE); @@ -109,10 +113,6 @@ public FluidState getFluidState(BlockState blockState) { return blockState.getValue(WATERLOGGED) ? Fluids.WATER.getSource(false) : super.getFluidState(blockState); } - protected static Direction getConnectedDirection(BlockState blockState) { - return blockState.getValue(HANGING) ? Direction.DOWN : Direction.UP; - } - @Nullable @Override public BlockEntity newBlockEntity(BlockPos blockPos, BlockState blockState) { @@ -121,9 +121,9 @@ public BlockEntity newBlockEntity(BlockPos blockPos, BlockState blockState) { @Override public InteractionResult use(BlockState blockState, Level level, BlockPos blockPos, Player player, InteractionHand interactionHand, BlockHitResult blockHitResult) { - if(player instanceof ServerPlayer serverPlayer){ + if (player instanceof ServerPlayer serverPlayer) { TardisLevelOperator.get(serverPlayer.serverLevel()).ifPresent(tardisLevelOperator -> { - if(TardisHelper.isInArsArea(blockPos)) { + if (TardisHelper.isInArsArea(blockPos)) { CompoundTag upgradeNbt = tardisLevelOperator.getUpgradeHandler().saveData(new CompoundTag()); new S2CDisplayUpgradeScreen(upgradeNbt).send(serverPlayer); } diff --git a/common/src/main/java/whocraft/tardis_refined/common/block/life/EyeBlock.java b/common/src/main/java/whocraft/tardis_refined/common/block/life/EyeBlock.java index 9b8944507..91411f099 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/block/life/EyeBlock.java +++ b/common/src/main/java/whocraft/tardis_refined/common/block/life/EyeBlock.java @@ -48,21 +48,16 @@ public BlockEntityTicker getTicker(@NotNull Level lev public void animateTick(BlockState blockState, Level level, BlockPos blockPos, RandomSource randomSource) { if (randomSource.nextInt(5) == 0) { - level.playLocalSound((double)blockPos.getX() + 0.5, (double)blockPos.getY() + 0.5, (double)blockPos.getZ() + 0.5, SoundEvents.CAMPFIRE_CRACKLE, SoundSource.BLOCKS, 10, randomSource.nextFloat() * 0.7F + 0.6F, false); + level.playLocalSound((double) blockPos.getX() + 0.5, (double) blockPos.getY() + 0.5, (double) blockPos.getZ() + 0.5, SoundEvents.CAMPFIRE_CRACKLE, SoundSource.BLOCKS, 10, randomSource.nextFloat() * 0.7F + 0.6F, false); } - if ( randomSource.nextInt(2) == 0) { - for(int i = 0; i < randomSource.nextInt(5) + 1; ++i) { - level.addParticle(ParticleTypes.LAVA, true, (double)blockPos.getX() + 0.5, (double)blockPos.getY() + 0.5, (double)blockPos.getZ() + 0.5, (double)(randomSource.nextFloat() / 2.0F), 5.0E-5, (double)(randomSource.nextFloat() / 2.0F)); + if (randomSource.nextInt(2) == 0) { + for (int i = 0; i < randomSource.nextInt(5) + 1; ++i) { + level.addParticle(ParticleTypes.LAVA, true, (double) blockPos.getX() + 0.5, (double) blockPos.getY() + 0.5, (double) blockPos.getZ() + 0.5, (double) (randomSource.nextFloat() / 2.0F), 5.0E-5, (double) (randomSource.nextFloat() / 2.0F)); } } - - - - - } } diff --git a/common/src/main/java/whocraft/tardis_refined/common/block/shell/GlobalShellBlock.java b/common/src/main/java/whocraft/tardis_refined/common/block/shell/GlobalShellBlock.java index 375485bf7..0c0faf165 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/block/shell/GlobalShellBlock.java +++ b/common/src/main/java/whocraft/tardis_refined/common/block/shell/GlobalShellBlock.java @@ -26,9 +26,12 @@ import whocraft.tardis_refined.common.blockentity.shell.ShellBaseBlockEntity; import whocraft.tardis_refined.common.tardis.themes.ShellTheme; -public class GlobalShellBlock extends ShellBaseBlock{ +public class GlobalShellBlock extends ShellBaseBlock { public static final BooleanProperty LIT = BooleanProperty.create("lit"); + //The collision box for the briefcase shell + //overrides the default collision shape from ShellBaseBlock.java + protected static final VoxelShape BRIEFCASE_COLLISION_SHAPE = Block.box(0.0, 0.0, 0.0, 16.0, 8.0, 16.0); public GlobalShellBlock(Properties properties) { super(properties); @@ -46,12 +49,6 @@ public BlockState getStateForPlacement(@NotNull BlockPlaceContext blockPlaceCont return super.getStateForPlacement(blockPlaceContext); } - //The collision box for the briefcase shell - //overrides the default collision shape from ShellBaseBlock.java - protected static final VoxelShape BRIEFCASE_COLLISION_SHAPE = Block.box(0.0, 0.0, 0.0, 16.0, 8.0, 16.0); - - - @Override public VoxelShape getCollisionShape(BlockState blockState, BlockGetter blockGetter, BlockPos blockPos, CollisionContext collisionContext) { if (blockGetter.getBlockEntity(blockPos) instanceof GlobalShellBlockEntity shellBlockEntity) { @@ -64,7 +61,7 @@ public VoxelShape getCollisionShape(BlockState blockState, BlockGetter blockGett @Override public VoxelShape getShape(BlockState blockState, BlockGetter blockGetter, BlockPos blockPos, CollisionContext collisionContext) { if (blockGetter.getBlockEntity(blockPos) instanceof GlobalShellBlockEntity shellBlockEntity) { - if(shellBlockEntity.theme() == ShellTheme.BRIEFCASE.getId()) + if (shellBlockEntity.theme() == ShellTheme.BRIEFCASE.getId()) return BRIEFCASE_COLLISION_SHAPE; } return super.getShape(blockState, blockGetter, blockPos, collisionContext); 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 9f042684b..60e8f3024 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 @@ -35,8 +35,8 @@ public abstract class ShellBaseBlock extends BaseEntityBlock implements SimpleWa public static final BooleanProperty WATERLOGGED = BlockStateProperties.WATERLOGGED; protected static final VoxelShape NORTH_AABB = Block.box(0.0D, 0.0D, 0.0D, 16.0D, 30.0D, 11.0D); protected static final VoxelShape SOUTH_AABB = Block.box(0.0D, 0.0D, 2.0D, 16.0D, 30.0D, 16.0D); - protected static final VoxelShape WEST_AABB = Block.box(0.0D, 0.0D, 0.0D, 11.0D, 30.0D, 16.0D); - protected static final VoxelShape EAST_AABB = Block.box(2.0D, 0.0D, 0.0D, 16.0D, 30.0D, 16.0D); + protected static final VoxelShape WEST_AABB = Block.box(0.0D, 0.0D, 0.0D, 11.0D, 30.0D, 16.0D); + protected static final VoxelShape EAST_AABB = Block.box(2.0D, 0.0D, 0.0D, 16.0D, 30.0D, 16.0D); public ShellBaseBlock(Properties properties) { super(properties); @@ -74,7 +74,7 @@ public BlockState updateShape(BlockState blockState, Direction direction, BlockS levelAccessor.scheduleTick(blockPos, this, this.getDelayAfterPlace()); */ - if (blockState.getValue(WATERLOGGED)){ + if (blockState.getValue(WATERLOGGED)) { levelAccessor.scheduleTick(blockPos, Fluids.WATER, Fluids.WATER.getTickDelay(levelAccessor)); } @@ -134,8 +134,8 @@ public VoxelShape getCollisionShape(BlockState blockState, BlockGetter blockGett @Override public void entityInside(BlockState blockState, Level level, BlockPos blockPos, Entity entity) { - if (!level.isClientSide()){ - ServerLevel serverLevel = (ServerLevel)level; + if (!level.isClientSide()) { + 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)) { diff --git a/common/src/main/java/whocraft/tardis_refined/common/blockentity/TardisDoorProperties.java b/common/src/main/java/whocraft/tardis_refined/common/blockentity/TardisDoorProperties.java index a5e778fe0..6ed0b5047 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/blockentity/TardisDoorProperties.java +++ b/common/src/main/java/whocraft/tardis_refined/common/blockentity/TardisDoorProperties.java @@ -10,27 +10,46 @@ public interface TardisDoorProperties { boolean isOpen(); - /** Source of truth logic for setting this Door to be opened/closed. */ + + /** + * Source of truth logic for setting this Door to be opened/closed. + */ void setClosed(boolean closeDoor); + BlockPos getDoorPosition(); - /** Get the position which we want the player to land at when it is arrived at the door block, for teleportation purposes. - * @implNote This should be the opposite facing of the door block*/ + /** + * Get the position which we want the player to land at when it is arrived at the door block, for teleportation purposes. + * + * @implNote This should be the opposite facing of the door block + */ BlockPos getTeleportPosition(); - /** Get the direction which we want the player to face when it is arrived at the door block, for teleportation purposes. - * @implNote This should be the opposite facing of the door block*/ + /** + * Get the direction which we want the player to face when it is arrived at the door block, for teleportation purposes. + * + * @implNote This should be the opposite facing of the door block + */ Direction getTeleportRotation(); - /** The true facing of the door based off its blockstate*/ + /** + * The true facing of the door based off its blockstate + */ Direction getRotation(); void onEntityExit(ServerEntity entity); - /** Sets the internal door to be locked*/ + + /** + * Sets the internal door to be locked + */ void setLocked(boolean locked); - /** Determines if this particular door block thinks it is locked or not. + + /** + * Determines if this particular door block thinks it is locked or not. *
When multiple internal doors are placed inside a Tardis dimension, and the player interacts on a door that is not the main door, the TardisExteriorManager may still be tracking the previous door's data - *
Hence the ExteriorManager will need to check this door's local value.*/ + *
Hence the ExteriorManager will need to check this door's local value. + */ boolean locked(); + void onAttemptEnter(BlockState blockState, Level level, BlockPos doorPos, Entity 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 895329556..eb00e67ad 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 @@ -38,12 +38,9 @@ public class GlobalConsoleBlockEntity extends BlockEntity implements BlockEntityTicker { - private boolean shouldSpawnControls = true; - private final List controlEntityList = new ArrayList<>(); - public AnimationState liveliness = new AnimationState(); - + private boolean shouldSpawnControls = true; private ResourceLocation consoleTheme; private ConsolePattern basePattern; @@ -149,7 +146,6 @@ public void spawnControlEntities() { controlEntity.assignControlData(consoleTheme, control, this.getBlockPos()); - serverLevel.addFreshEntity(controlEntity); controlEntityList.add(controlEntity); } diff --git a/common/src/main/java/whocraft/tardis_refined/common/blockentity/device/ArtronPillarBlockEntity.java b/common/src/main/java/whocraft/tardis_refined/common/blockentity/device/ArtronPillarBlockEntity.java index 30c5f9b92..fbbf02d9f 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/blockentity/device/ArtronPillarBlockEntity.java +++ b/common/src/main/java/whocraft/tardis_refined/common/blockentity/device/ArtronPillarBlockEntity.java @@ -5,8 +5,8 @@ import net.minecraft.world.level.block.state.BlockState; import whocraft.tardis_refined.registry.TRBlockEntityRegistry; -public class ArtronPillarBlockEntity extends BlockEntity { - public ArtronPillarBlockEntity( BlockPos blockPos, BlockState blockState) { +public class ArtronPillarBlockEntity extends BlockEntity { + public ArtronPillarBlockEntity(BlockPos blockPos, BlockState blockState) { super(TRBlockEntityRegistry.ARTRON_PILLAR.get(), blockPos, blockState); } } diff --git a/common/src/main/java/whocraft/tardis_refined/common/blockentity/device/AstralManipulatorBlockEntity.java b/common/src/main/java/whocraft/tardis_refined/common/blockentity/device/AstralManipulatorBlockEntity.java index 927d63c43..5839894d9 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/blockentity/device/AstralManipulatorBlockEntity.java +++ b/common/src/main/java/whocraft/tardis_refined/common/blockentity/device/AstralManipulatorBlockEntity.java @@ -269,8 +269,8 @@ private boolean attemptToBuild(BlockPos pointA, BlockPos pointB) { if (recipe.result() instanceof ManipulatorBlockResult blockResult) { BlockState blockState = blockResult.recipeOutput(); - if (blockState != null){ - Vec3 centerVector = new AABB(pointABlockPos, pointBBlockPos).getCenter(); + if (blockState != null) { + Vec3 centerVector = new AABB(pointABlockPos, pointBBlockPos).getCenter(); int min = Math.min(pointABlockPos.getY(), pointBBlockPos.getY()); BlockPos centerPos = new BlockPos((int) centerVector.x, min, (int) centerVector.z); @@ -280,7 +280,7 @@ private boolean attemptToBuild(BlockPos pointA, BlockPos pointB) { } else { if (recipe.result() instanceof ManipulatorItemResult itemResult) { ItemStack itemStack = itemResult.recipeOutput(); - if (itemStack != null){ + if (itemStack != null) { ItemEntity item = new ItemEntity(level, getBlockPos().getX() + 0.5f, getBlockPos().getY() + 1, getBlockPos().getZ() + 0.5f, itemStack); level.addFreshEntity(item); } diff --git a/common/src/main/java/whocraft/tardis_refined/common/blockentity/device/ConsoleConfigurationBlockEntity.java b/common/src/main/java/whocraft/tardis_refined/common/blockentity/device/ConsoleConfigurationBlockEntity.java index 2075c89f9..1fd86d2db 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/blockentity/device/ConsoleConfigurationBlockEntity.java +++ b/common/src/main/java/whocraft/tardis_refined/common/blockentity/device/ConsoleConfigurationBlockEntity.java @@ -18,19 +18,19 @@ public class ConsoleConfigurationBlockEntity extends BlockEntity { private ResourceLocation consoleTheme; - public ConsoleConfigurationBlockEntity( BlockPos blockPos, BlockState blockState) { + public ConsoleConfigurationBlockEntity(BlockPos blockPos, BlockState blockState) { super(TRBlockEntityRegistry.CONSOLE_CONFIGURATION.get(), blockPos, blockState); this.consoleTheme = ConsoleTheme.FACTORY.getId(); } - public ResourceLocation theme(){ - if (this.consoleTheme == null){ + public ResourceLocation theme() { + if (this.consoleTheme == null) { this.consoleTheme = ConsoleTheme.FACTORY.getId(); } return this.consoleTheme; } - public void setConsoleTheme(ResourceLocation themeId){ + public void setConsoleTheme(ResourceLocation themeId) { this.consoleTheme = themeId; this.level.sendBlockUpdated(this.getBlockPos(), this.getBlockState(), this.getBlockState(), Block.UPDATE_ALL); this.setChanged(); @@ -54,7 +54,7 @@ public void load(CompoundTag tag) { this.consoleTheme = themeId; } - if (this.consoleTheme == null){ + if (this.consoleTheme == null) { this.consoleTheme = this.theme(); } diff --git a/common/src/main/java/whocraft/tardis_refined/common/blockentity/device/CorridorTeleporterBlockEntity.java b/common/src/main/java/whocraft/tardis_refined/common/blockentity/device/CorridorTeleporterBlockEntity.java index 9d10ccccb..fe03860bd 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/blockentity/device/CorridorTeleporterBlockEntity.java +++ b/common/src/main/java/whocraft/tardis_refined/common/blockentity/device/CorridorTeleporterBlockEntity.java @@ -27,7 +27,7 @@ public class CorridorTeleporterBlockEntity extends BlockEntity implements BlockE private int timeSinceTriggeredTicks = 0; private int cooldownTicks = 0; - public CorridorTeleporterBlockEntity( BlockPos blockPos, BlockState blockState) { + public CorridorTeleporterBlockEntity(BlockPos blockPos, BlockState blockState) { super(TRBlockEntityRegistry.CORRIDOR_TELEPORTER.get(), blockPos, blockState); } @@ -66,7 +66,7 @@ public void tick(Level level, BlockPos blockPos, BlockState blockState, Corridor List entities = serverLevel.getEntitiesOfClass(Entity.class, box); BlockPos corridorAirlock = TardisInteriorManager.STATIC_CORRIDOR_POSITION; for (Entity entity : entities) { - TardisTeleportData.scheduleEntityTeleport(entity, serverLevel.dimension(), corridorAirlock.getX() + 0.5f, corridorAirlock.getY(), corridorAirlock.getZ() + 0.5f, 0,0 ); + TardisTeleportData.scheduleEntityTeleport(entity, serverLevel.dimension(), corridorAirlock.getX() + 0.5f, corridorAirlock.getY(), corridorAirlock.getZ() + 0.5f, 0, 0); } if (entities.stream().count() > 0) { diff --git a/common/src/main/java/whocraft/tardis_refined/common/blockentity/device/FlightDetectorBlockEntity.java b/common/src/main/java/whocraft/tardis_refined/common/blockentity/device/FlightDetectorBlockEntity.java index 9ba25712f..78e341dea 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/blockentity/device/FlightDetectorBlockEntity.java +++ b/common/src/main/java/whocraft/tardis_refined/common/blockentity/device/FlightDetectorBlockEntity.java @@ -7,7 +7,7 @@ public class FlightDetectorBlockEntity extends BlockEntity { - public FlightDetectorBlockEntity( BlockPos blockPos, BlockState blockState) { + public FlightDetectorBlockEntity(BlockPos blockPos, BlockState blockState) { super(TRBlockEntityRegistry.FLIGHT_DETECTOR.get(), blockPos, blockState); } } diff --git a/common/src/main/java/whocraft/tardis_refined/common/blockentity/door/AbstractDoorBlockEntity.java b/common/src/main/java/whocraft/tardis_refined/common/blockentity/door/AbstractDoorBlockEntity.java index 2ef598f77..7710e8824 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/blockentity/door/AbstractDoorBlockEntity.java +++ b/common/src/main/java/whocraft/tardis_refined/common/blockentity/door/AbstractDoorBlockEntity.java @@ -62,7 +62,7 @@ public boolean isOpen() { @Override public void setClosed(boolean closeDoor) { BlockState blockState = this.getLevel().getBlockState(getDoorPosition()); - if (blockState.getBlock() instanceof InternalDoorBlock){ + if (blockState.getBlock() instanceof InternalDoorBlock) { Level currentLevel = getLevel(); currentLevel.setBlock(getDoorPosition(), blockState.setValue(GlobalDoorBlock.OPEN, !closeDoor), Block.UPDATE_ALL); this.playDoorCloseSound(closeDoor); @@ -100,7 +100,7 @@ public void onEntityExit(ServerEntity entity) { @Override public void setLocked(boolean locked) { BlockState blockState = this.getLevel().getBlockState(getDoorPosition()); - if (blockState.getBlock() instanceof InternalDoorBlock){ + if (blockState.getBlock() instanceof InternalDoorBlock) { Level currentLevel = getLevel(); currentLevel.setBlock(this.getDoorPosition(), blockState.setValue(InternalDoorBlock.LOCKED, locked), Block.UPDATE_ALL); this.playDoorLockedSound(locked); @@ -125,7 +125,6 @@ public void onBlockPlaced() { } - @Override protected void saveAdditional(CompoundTag compoundTag) { super.saveAdditional(compoundTag); @@ -143,7 +142,7 @@ public void load(CompoundTag compoundTag) { @Override public void onAttemptEnter(BlockState blockState, Level level, BlockPos doorPos, Entity entity) { - if(!entity.level().isClientSide() && level instanceof ServerLevel serverLevel){ + if (!entity.level().isClientSide() && level instanceof ServerLevel serverLevel) { Optional data = TardisLevelOperator.get(serverLevel); data.ifPresent(tardisLevelOperator -> { tardisLevelOperator.setInternalDoor(this); @@ -152,13 +151,13 @@ public void onAttemptEnter(BlockState blockState, Level level, BlockPos doorPos, } } - public void playDoorCloseSound(boolean closeDoor){ + public void playDoorCloseSound(boolean closeDoor) { Level currentLevel = getLevel(); currentLevel.playSound(null, this.getDoorPosition(), closeDoor ? SoundEvents.IRON_DOOR_CLOSE : SoundEvents.IRON_DOOR_OPEN, SoundSource.BLOCKS, 1, closeDoor ? 1.4F : 1F); this.setChanged(); } - public void playDoorLockedSound(boolean lockDoor){ + public void playDoorLockedSound(boolean lockDoor) { Level currentLevel = getLevel(); currentLevel.playSound(null, this.getDoorPosition(), lockDoor ? BlockSetType.IRON.doorClose() : BlockSetType.IRON.doorOpen(), SoundSource.BLOCKS, 1, lockDoor ? 1.4F : 1F); } 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 3332e6674..09d418142 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 @@ -56,8 +56,8 @@ public void tick(Level level, BlockPos blockPos, BlockState blockState, BulkHead */ public void toggleDoor(Level level, BlockPos blockPos, BlockState blockState, boolean isOpen) { - 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); + 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); } 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 eaa609fe6..73c541415 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 @@ -47,14 +47,14 @@ public void sendUpdates() { setChanged(); } - public ResourceLocation theme(){ - if (this.shellTheme == null){ + public ResourceLocation theme() { + if (this.shellTheme == null) { this.shellTheme = ShellTheme.HALF_BAKED.getId(); } return this.shellTheme; } - public void setShellTheme(ResourceLocation shellTheme){ + public void setShellTheme(ResourceLocation shellTheme) { this.shellTheme = shellTheme; this.setChanged(); } @@ -83,12 +83,12 @@ public void load(CompoundTag pTag) { if (pTag.contains(NbtConstants.PATTERN)) { ResourceLocation currentPattern = new ResourceLocation(pTag.getString(NbtConstants.PATTERN)); - if (ShellPatterns.doesPatternExist( this.shellTheme, currentPattern)) { + if (ShellPatterns.doesPatternExist(this.shellTheme, currentPattern)) { this.basePattern = ShellPatterns.getPatternOrDefault(this.shellTheme, currentPattern); } } - if (this.shellTheme == null){ + if (this.shellTheme == null) { this.shellTheme = this.theme(); } @@ -98,7 +98,6 @@ public void load(CompoundTag pTag) { } - @Override protected void saveAdditional(CompoundTag pTag) { super.saveAdditional(pTag); @@ -119,7 +118,7 @@ public void onRightClick(BlockState blockState, TardisInternalDoor door, Player if (cap.getInternalDoor() != door) { cap.setInternalDoor(door); //Set the main door and also tell this door block that it is the main door. } - if(player.isShiftKeyDown() && !cap.getPilotingManager().isInFlight()) { + if (player.isShiftKeyDown() && !cap.getPilotingManager().isInFlight()) { /*When multiple internal doors are in a Tardis, and the player is locking a different door, use the door block's data to update the Tardis' data */ cap.setDoorLocked(!door.locked()); //Tell the Tardis that the door is locked if (door.locked()) @@ -136,7 +135,7 @@ public void onRightClick(BlockState blockState, TardisInternalDoor door, Player @Override public void playDoorCloseSound(boolean closeDoor) { ShellPattern pattern = this.pattern(); - if (pattern != null){ + if (pattern != null) { Level currentLevel = this.getLevel(); pattern.soundProfile().ifPresent(shellSoundProfile -> { @@ -151,7 +150,7 @@ public void playDoorCloseSound(boolean closeDoor) { @Override public void playDoorLockedSound(boolean lockDoor) { ShellPattern pattern = this.pattern(); - if (pattern != null){ + if (pattern != null) { Level currentLevel = this.getLevel(); pattern.soundProfile().ifPresent(shellSoundProfile -> { ConfiguredSound configuredSound = shellSoundProfile.getDoorClose(); diff --git a/common/src/main/java/whocraft/tardis_refined/common/blockentity/door/InternalDoorBlockEntity.java b/common/src/main/java/whocraft/tardis_refined/common/blockentity/door/InternalDoorBlockEntity.java index 37d7d67d5..4910301a2 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/blockentity/door/InternalDoorBlockEntity.java +++ b/common/src/main/java/whocraft/tardis_refined/common/blockentity/door/InternalDoorBlockEntity.java @@ -6,7 +6,7 @@ public class InternalDoorBlockEntity extends AbstractDoorBlockEntity { - public InternalDoorBlockEntity(BlockEntityType type, BlockPos blockPos,BlockState blockState) { + public InternalDoorBlockEntity(BlockEntityType type, BlockPos blockPos, BlockState blockState) { super(type, blockPos, blockState); } diff --git a/common/src/main/java/whocraft/tardis_refined/common/blockentity/door/TardisInternalDoor.java b/common/src/main/java/whocraft/tardis_refined/common/blockentity/door/TardisInternalDoor.java index 36767ed8d..52997e704 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/blockentity/door/TardisInternalDoor.java +++ b/common/src/main/java/whocraft/tardis_refined/common/blockentity/door/TardisInternalDoor.java @@ -5,9 +5,11 @@ public interface TardisInternalDoor extends TardisDoorProperties { boolean isMainDoor(); + void onSetMainDoor(boolean isMainDoor); String getID(); + void setID(String id); } diff --git a/common/src/main/java/whocraft/tardis_refined/common/blockentity/life/ArsEggBlockEntity.java b/common/src/main/java/whocraft/tardis_refined/common/blockentity/life/ArsEggBlockEntity.java index 2d47aa71b..be4bf9ee4 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/blockentity/life/ArsEggBlockEntity.java +++ b/common/src/main/java/whocraft/tardis_refined/common/blockentity/life/ArsEggBlockEntity.java @@ -8,12 +8,12 @@ public class ArsEggBlockEntity extends BlockEntity { + private AnimationState liveliness = new AnimationState(); + public ArsEggBlockEntity(BlockPos blockPos, BlockState blockState) { super(TRBlockEntityRegistry.ARS_EGG.get(), blockPos, blockState); } - private AnimationState liveliness = new AnimationState(); - public AnimationState getLiveliness() { return liveliness; } 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 ddc2ffe3c..21df34a5f 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 @@ -14,6 +14,4 @@ public interface ExteriorShell extends TardisDoorProperties { void setTardisId(ResourceKey levelKey); - - } 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 3a203381c..27a299fee 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 @@ -46,14 +46,18 @@ public GlobalShellBlockEntity(BlockPos blockPos, BlockState blockState) { this.basePattern = this.pattern(); } - public ResourceLocation theme(){ - if (this.shellTheme == null){ + public ResourceLocation theme() { + if (this.shellTheme == null) { this.shellTheme = ShellTheme.HALF_BAKED.getId(); } return this.shellTheme; } - public void setShellTheme(ResourceLocation theme){ + public ResourceLocation getShellTheme() { + return shellTheme; + } + + public void setShellTheme(ResourceLocation theme) { this.shellTheme = theme; this.setChanged(); this.level.sendBlockUpdated(this.getBlockPos(), this.getBlockState(), this.getBlockState(), Block.UPDATE_CLIENTS); @@ -80,7 +84,7 @@ public void load(CompoundTag pTag) { } if (pTag.contains(NbtConstants.PATTERN)) { - if (this.shellTheme != null){ + if (this.shellTheme != null) { ResourceLocation currentPattern = new ResourceLocation(pTag.getString(NbtConstants.PATTERN)); if (ShellPatterns.doesPatternExist(this.shellTheme, currentPattern)) { this.basePattern = ShellPatterns.getPatternOrDefault(this.shellTheme, currentPattern); @@ -88,7 +92,7 @@ public void load(CompoundTag pTag) { } } - if (this.shellTheme == null){ + if (this.shellTheme == null) { this.shellTheme = this.theme(); } @@ -145,7 +149,7 @@ public boolean onRightClick(BlockState blockState, ItemStack stack, Level level, return true; } - if(!exteriorManager.locked()){ //If the Tardis thinks it is not locked, open this shell's door + if (!exteriorManager.locked()) { //If the Tardis thinks it is not locked, open this shell's door 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; @@ -167,7 +171,7 @@ public void spawnCoralItems() { for (int i = 0; i < numberOfItems; i++) { ItemStack coralItem = new ItemStack(Items.HORN_CORAL_FAN); BlockPos currentPos = getBlockPos(); - Containers.dropItemStack(level, currentPos.getX(), currentPos.getY(), currentPos.getZ() , coralItem); + Containers.dropItemStack(level, currentPos.getX(), currentPos.getY(), currentPos.getZ(), coralItem); } } 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 2d809bf65..a01da16d5 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 @@ -19,14 +19,13 @@ import java.util.UUID; -public class RootedShellBlockEntity extends ShellBaseBlockEntity{ +public class RootedShellBlockEntity extends ShellBaseBlockEntity { + public static boolean setUpOnNextTick = false; // used in fabric MinecraftServer:getAllLevels mixin + private boolean runSetUpOnNextTick = false; public RootedShellBlockEntity(BlockPos blockPos, BlockState blockState) { super(TRBlockEntityRegistry.ROOT_SHELL.get(), blockPos, blockState); } - private boolean runSetUpOnNextTick = false; - public static boolean setUpOnNextTick = false; // used in fabric MinecraftServer:getAllLevels mixin - @Override public DesktopTheme getAssociatedTheme() { return TardisDesktops.DEFAULT_OVERGROWN_THEME; @@ -55,7 +54,9 @@ public void setUpTardisOnNextTick() { setUpOnNextTick = true; } - /** Generate the dimension and open the Root Shell */ + /** + * Generate the dimension and open the Root Shell + */ private void setUpTardis(BlockState blockState, Level level, BlockPos blockPos) { if (level instanceof ServerLevel serverLevel) { if (this.shouldSetup()) { 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 039bc0d1b..354bc00b2 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 @@ -43,16 +43,19 @@ public abstract class ShellBaseBlockEntity extends BlockEntity implements ExteriorShell, BlockEntityTicker { - protected ResourceKey TARDIS_ID; + private final int DUPLICATION_CHECK_TIME = 1200; // A minute public AnimationState liveliness = new AnimationState(); + protected ResourceKey TARDIS_ID; public ShellBaseBlockEntity(BlockEntityType blockEntityType, BlockPos blockPos, BlockState blockState) { super(blockEntityType, blockPos, blockState); } + @Override public ResourceKey getTardisId() { return this.TARDIS_ID; } + @Override public void setTardisId(ResourceKey levelKey) { this.TARDIS_ID = levelKey; @@ -105,12 +108,13 @@ public void onAttemptEnter(BlockState blockState, Level level, BlockPos external TardisRefined.LOGGER.error("Error in onAttemptEnter: null Tardis ID (Invalid block or not terraformed yet?) [" + externalShellPos.toShortString() + "]"); return; } + ServerLevel interior = DimensionHandler.getOrCreateInterior(serverLevel, this.TARDIS_ID.location()); TardisLevelOperator.get(interior).ifPresent(cap -> { UpgradeHandler upgradeHandler = cap.getUpgradeHandler(); - if (cap.isTardisReady() && (blockState.getValue(ShellBaseBlock.OPEN) || (cap.getPilotingManager().endFlight(false) && TRUpgrades.MATERIALIZE_AROUND.get().isUnlocked(upgradeHandler)))) { + 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(); @@ -137,13 +141,11 @@ public DesktopTheme getAssociatedTheme() { return TardisDesktops.FACTORY_THEME; } - private final int DUPLICATION_CHECK_TIME = 1200; // A minute - @Override public void tick(Level level, BlockPos blockPos, BlockState blockState, ShellBaseBlockEntity blockEntity) { - if(level.getGameTime() % DUPLICATION_CHECK_TIME == 0 && !level.isClientSide){ + if (level.getGameTime() % DUPLICATION_CHECK_TIME == 0 && !level.isClientSide) { ResourceKey tardisId = getTardisId(); - if(tardisId == null) return; + if (tardisId == null) return; ServerLevel tardisLevel = Platform.getServer().getLevel(tardisId); BlockPos myCurrentPosition = getBlockPos(); @@ -161,7 +163,7 @@ public void tick(Level level, BlockPos blockPos, BlockState blockState, ShellBas pilotingManager.setCurrentLocation(new TardisNavLocation(getBlockPos(), direction != null ? direction : Direction.NORTH, serverLevel)); } - if (!myCurrentPosition.equals(currentLocation) && !myCurrentPosition.equals(wantedDestination) ) { + if (!myCurrentPosition.equals(currentLocation) && !myCurrentPosition.equals(wantedDestination)) { level.removeBlock(myCurrentPosition, false); } @@ -178,7 +180,7 @@ public boolean isOpen() { public void setClosed(boolean closeDoor) { BlockPos blockPos = this.getBlockPos(); BlockState blockState = this.getLevel().getBlockState(blockPos); - if (blockState.getBlock() instanceof ShellBaseBlock shellBaseBlock){ + if (blockState.getBlock() instanceof ShellBaseBlock shellBaseBlock) { this.getLevel().setBlock(blockPos, blockState.setValue(ShellBaseBlock.OPEN, !closeDoor), Block.UPDATE_ALL); this.playDoorCloseSound(closeDoor); this.setChanged(); @@ -193,7 +195,7 @@ public void onEntityExit(ServerEntity entity) { @Override public void setLocked(boolean locked) { BlockState blockState = this.getLevel().getBlockState(this.getBlockPos()); - if (blockState.getBlock() instanceof ShellBaseBlock shellBaseBlock){ + if (blockState.getBlock() instanceof ShellBaseBlock shellBaseBlock) { this.getLevel().setBlock(this.getBlockPos(), blockState.setValue(ShellBaseBlock.LOCKED, locked), Block.UPDATE_ALL); this.playDoorLockedSound(locked); this.setChanged(); @@ -226,13 +228,13 @@ public BlockPos getDoorPosition() { return this.getBlockPos(); } - public void playDoorCloseSound(boolean closeDoor){ + public void playDoorCloseSound(boolean closeDoor) { Level currentLevel = getLevel(); currentLevel.playSound(null, this.getBlockPos(), closeDoor ? SoundEvents.IRON_DOOR_CLOSE : SoundEvents.IRON_DOOR_OPEN, SoundSource.BLOCKS, 1, closeDoor ? 1.4F : 1F); this.setChanged(); } - public void playDoorLockedSound(boolean lockDoor){ + 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); } 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 1b25e30bd..a0267c2a1 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,15 +14,24 @@ public interface TardisPilot { void updatePlayerAbilities(ServerPlayer player, Abilities abilities, boolean isWatcher); - void setupPlayerForInspection(ServerPlayer serverPlayer, TardisLevelOperator tardisLevelOperator, TardisNavLocation spectateTarget); + void setupPlayerForInspection(ServerPlayer serverPlayer, TardisLevelOperator tardisLevelOperator, TardisNavLocation spectateTarget, boolean timeVortex); void endPlayerForInspection(ServerPlayer serverPlayer, TardisLevelOperator tardisLevelOperator); + UUID getViewedTardis(); + void setViewedTardis(UUID uuid); + boolean isViewingTardis(); + CompoundTag saveData(); + void loadData(CompoundTag tag); + Player getPlayer(); + void syncToClients(@Nullable ServerPlayer serverPlayerEntity); + void tick(TardisLevelOperator tardisLevelOperator, ServerPlayer serverPlayerEntity); + } 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 423e310da..c1035e55f 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 @@ -4,21 +4,20 @@ import net.minecraft.commands.arguments.EntityAnchorArgument; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; +import net.minecraft.core.Vec3i; import net.minecraft.nbt.CompoundTag; -import net.minecraft.nbt.NbtUtils; import net.minecraft.server.level.ServerLevel; import net.minecraft.server.level.ServerPlayer; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.player.Abilities; import net.minecraft.world.entity.player.Player; -import net.minecraft.world.level.GameType; import net.minecraft.world.phys.Vec3; -import whocraft.tardis_refined.common.blockentity.console.GlobalConsoleBlockEntity; -import whocraft.tardis_refined.common.blockentity.door.TardisInternalDoor; import whocraft.tardis_refined.common.capability.tardis.TardisLevelOperator; +import whocraft.tardis_refined.common.dimension.TardisTeleportData; +import whocraft.tardis_refined.common.network.messages.player.EndPlayerVortexSession; import whocraft.tardis_refined.common.network.messages.player.SyncTardisPlayerInfoMessage; -import whocraft.tardis_refined.common.tardis.TardisArchitectureHandler; import whocraft.tardis_refined.common.tardis.TardisNavLocation; +import whocraft.tardis_refined.common.tardis.manager.TardisPilotingManager; import whocraft.tardis_refined.common.util.Platform; import whocraft.tardis_refined.common.util.TardisHelper; @@ -31,38 +30,56 @@ public class TardisPlayerInfo implements TardisPilot { private Player player; private UUID viewedTardis; - private TardisNavLocation observationPosition; - private BlockPos playerPreviousPos = BlockPos.ZERO; + private TardisNavLocation playerPreviousPos = TardisNavLocation.ORIGIN; + private float playerPreviousRot = 0; + private float playerPreviousYaw = 0; + private boolean renderVortex = false; public TardisPlayerInfo(Player player) { this.player = player; } + @ExpectPlatform + public static Optional get(LivingEntity player) { + throw new AssertionError(); + } - public void setPlayer(Player player) { - this.player = player; + public static void updateTardisForAllPlayers(TardisLevelOperator tardisLevelOperator, TardisNavLocation tardisNavLocation, boolean timeVortex) { + if (Platform.getServer() == null) return; + Platform.getServer().getPlayerList().getPlayers().forEach(serverPlayer -> { + 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); + } + } + }); + }); } - public TardisNavLocation getObservationPosition() { - return observationPosition; + public float getPlayerPreviousRot() { + return playerPreviousRot; } - public void setObservationPosition(TardisNavLocation observationPosition) { - this.observationPosition = observationPosition; + public void setPlayerPreviousRot(float playerPreviousRot) { + this.playerPreviousRot = playerPreviousRot; } - @ExpectPlatform - public static Optional get(LivingEntity player) { - throw new AssertionError(); + public float getPlayerPreviousYaw() { + return playerPreviousYaw; } + public void setPlayerPreviousYaw(float playerPreviousYaw) { + this.playerPreviousYaw = playerPreviousYaw; + } @Override public void updatePlayerAbilities(ServerPlayer player, Abilities abilities, boolean isWatcher) { - if(isWatcher) { + if (isWatcher) { abilities.mayfly = false; abilities.instabuild = false; + abilities.mayBuild = false; abilities.invulnerable = true; abilities.flying = true; player.setNoGravity(true); @@ -73,23 +90,28 @@ public void updatePlayerAbilities(ServerPlayer player, Abilities abilities, bool } @Override - public void setupPlayerForInspection(ServerPlayer serverPlayer, TardisLevelOperator tardisLevelOperator, TardisNavLocation spectateTarget) { + public void setupPlayerForInspection(ServerPlayer serverPlayer, TardisLevelOperator tardisLevelOperator, TardisNavLocation spectateTarget, boolean timeVortex) { // Set the player's viewed TARDIS UUID UUID uuid = UUID.fromString(tardisLevelOperator.getLevelKey().location().getPath()); - if(!isViewingTardis()) { - setPlayerPreviousPos(player.blockPosition()); + if (!isViewingTardis()) { + setPlayerPreviousPos(new TardisNavLocation(player.blockPosition(), Direction.NORTH, tardisLevelOperator.getLevelKey())); + setPlayerPreviousRot(player.getYHeadRot()); + setPlayerPreviousYaw(player.getXRot()); } setViewedTardis(uuid); - if (tardisLevelOperator.getPilotingManager().getCurrentLocation() != null) { + if (spectateTarget != null) { TardisNavLocation sourceLocation = tardisLevelOperator.getPilotingManager().getCurrentLocation(); - TardisHelper.teleportEntityTardis(tardisLevelOperator, player, sourceLocation, spectateTarget, false); + 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); + } updatePlayerAbilities(serverPlayer, serverPlayer.getAbilities(), true); + setRenderVortex(timeVortex); serverPlayer.onUpdateAbilities(); syncToClients(null); } @@ -97,24 +119,11 @@ public void setupPlayerForInspection(ServerPlayer serverPlayer, TardisLevelOpera } - public static void updateTardisForAllPlayers(TardisLevelOperator tardisLevelOperator, TardisNavLocation tardisNavLocation){ - if(Platform.getServer() == null) return; - Platform.getServer().getPlayerList().getPlayers().forEach(serverPlayer -> { - 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); - } - } - }); - }); - } - - public BlockPos getPlayerPreviousPos() { + public TardisNavLocation getPlayerPreviousPos() { return playerPreviousPos; } - public void setPlayerPreviousPos(BlockPos playerPreviousPos) { + public void setPlayerPreviousPos(TardisNavLocation playerPreviousPos) { this.playerPreviousPos = playerPreviousPos; } @@ -122,25 +131,20 @@ public void setPlayerPreviousPos(BlockPos playerPreviousPos) { public void endPlayerForInspection(ServerPlayer serverPlayer, TardisLevelOperator tardisLevelOperator) { - BlockPos targetPosition = getPlayerPreviousPos(); - ServerLevel tardisDimensionLevel = serverPlayer.server.getLevel(tardisLevelOperator.getLevelKey()); - - TardisNavLocation console = tardisLevelOperator.getPilotingManager().getCurrentLocation(); - - TardisNavLocation targetLocation = new TardisNavLocation(targetPosition, Direction.NORTH, tardisDimensionLevel); - TardisNavLocation sourceLocation = tardisLevelOperator.getPilotingManager().getCurrentLocation(); - - TardisHelper.teleportEntityTardis(tardisLevelOperator, serverPlayer, sourceLocation, targetLocation, true); + BlockPos targetPosition = getPlayerPreviousPos().getPosition(); + TardisTeleportData.scheduleEntityTeleport(serverPlayer, tardisLevelOperator.getLevelKey(), targetPosition.getX(), targetPosition.getY(), targetPosition.getZ(), playerPreviousYaw, playerPreviousRot); updatePlayerAbilities(serverPlayer, serverPlayer.getAbilities(), false); serverPlayer.onUpdateAbilities(); + new EndPlayerVortexSession().send(serverPlayer); - serverPlayer.lookAt(EntityAnchorArgument.Anchor.EYES, new Vec3(console.getPosition().getX(), console.getPosition().getY(), console.getPosition().getZ())); - + setPlayerPreviousPos(TardisNavLocation.ORIGIN); + setRenderVortex(false); // Clear the viewed TARDIS UUID setViewedTardis(null); syncToClients(null); + } @Override @@ -166,17 +170,33 @@ public CompoundTag saveData() { tag.putUUID("ViewedTardis", viewedTardis); } - CompoundTag playerPos = NbtUtils.writeBlockPos(playerPreviousPos); - tag.put("PlayerPos", playerPos); + CompoundTag playerPos = playerPreviousPos.serialise(); + tag.put("TardisPlayerPos", playerPos); + + tag.putBoolean("RenderVortex", renderVortex); + tag.putFloat("PlayerPreviousRot", playerPreviousRot); + tag.putFloat("PlayerPreviousYaw", playerPreviousYaw); return tag; } + public boolean isRenderVortex() { + return renderVortex; + } + + public void setRenderVortex(boolean renderVortex) { + this.renderVortex = renderVortex; + syncToClients(null); + } + @Override public void loadData(CompoundTag tag) { - if(tag.contains("PlayerPos")){ - playerPreviousPos = NbtUtils.readBlockPos(tag.getCompound("PlayerPos")); + playerPreviousRot = tag.getFloat("PlayerPreviousRot"); + playerPreviousYaw = tag.getFloat("PlayerPreviousYaw"); + + if (tag.contains("TardisPlayerPos")) { + playerPreviousPos = TardisNavLocation.deserialize(tag.getCompound("TardisPlayerPos")); } if (tag.hasUUID("ViewedTardis")) { @@ -185,6 +205,8 @@ public void loadData(CompoundTag tag) { this.viewedTardis = null; } + renderVortex = tag.getBoolean("RenderVortex"); + } @Override @@ -206,4 +228,24 @@ public void syncToClients(@Nullable ServerPlayer serverPlayerEntity) { message.send(serverPlayerEntity); } } + + @Override + public void tick(TardisLevelOperator tardisLevelOperator, ServerPlayer serverPlayerEntity) { + TardisPilotingManager pilotManger = tardisLevelOperator.getPilotingManager(); + if (tardisLevelOperator.getLevelKey() == getPlayerPreviousPos().getDimensionKey()) { + boolean showVortex = pilotManger.isLanding() || pilotManger.isTakingOff() || pilotManger.isInFlight(); + + TardisNavLocation movePlayerToLocation = pilotManger.getCurrentLocation(); + + if (pilotManger.isInFlight()) { + if (pilotManger.isLanding()) { + movePlayerToLocation = pilotManger.getTargetLocation(); + } else if (pilotManger.isTakingOff()) { + movePlayerToLocation = pilotManger.getCurrentLocation(); + } + } + updateTardisForAllPlayers(tardisLevelOperator, movePlayerToLocation, showVortex); + setRenderVortex(showVortex); + } + } } 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 960b34c09..6b46b3124 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 @@ -33,6 +33,7 @@ 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; @@ -46,12 +47,12 @@ import static whocraft.tardis_refined.common.block.shell.ShellBaseBlock.REGEN; -public class TardisLevelOperator{ +public class TardisLevelOperator { + public static final int STATE_CAVE = 0; + public static final int STATE_TERRAFORMED_NO_EYE = 1; + public static final int STATE_EYE_OF_HARMONY = 2; private final Level level; private final ResourceKey levelKey; - private boolean hasInitiallyGenerated = false; - private TardisInternalDoor internalDoor = null; - // Managers private final TardisExteriorManager exteriorManager; private final TardisInteriorManager interiorManager; @@ -61,14 +62,11 @@ public class TardisLevelOperator{ private final TardisClientData tardisClientData; private final UpgradeHandler upgradeHandler; private final AestheticHandler aestheticHandler; - + private boolean hasInitiallyGenerated = false; + private TardisInternalDoor internalDoor = null; // TARDIS state refers to different stages of TARDIS creation. This allows for different logic to operate in those moments. private int tardisState = 0; - public static final int STATE_CAVE = 0; - public static final int STATE_TERRAFORMED_NO_EYE = 1; - public static final int STATE_EYE_OF_HARMONY = 2; - public TardisLevelOperator(Level level) { this.level = level; @@ -83,6 +81,11 @@ public TardisLevelOperator(Level level) { this.flightDanceManager = new FlightDanceManager(this); } + @ExpectPlatform + public static Optional get(ServerLevel level) { + throw new AssertionError(); + } + public UpgradeHandler getUpgradeHandler() { return upgradeHandler; } @@ -99,11 +102,6 @@ public FlightDanceManager getFlightDanceManager() { return this.flightDanceManager; } - @ExpectPlatform - public static Optional get(ServerLevel level) { - throw new AssertionError(); - } - public CompoundTag serializeNBT() { CompoundTag compoundTag = new CompoundTag(); compoundTag.putBoolean(NbtConstants.TARDIS_IS_SETUP, this.hasInitiallyGenerated); @@ -161,11 +159,23 @@ public ResourceKey getLevelKey() { public void tick(ServerLevel level) { - if (interiorManager != null) { interiorManager.tick(level);} - if (pilotingManager != null) { pilotingManager.tick(level);} - if (flightDanceManager != null) { flightDanceManager.tick(level);} + if (interiorManager != null) { + interiorManager.tick(level); + } + if (pilotingManager != null) { + pilotingManager.tick(level); + } + if (flightDanceManager != null) { + flightDanceManager.tick(level); + } + + // Update Viewing Players! + level.getServer().getPlayerList().getPlayers().forEach(serverPlayer -> { + TardisPlayerInfo.get(serverPlayer).ifPresent(tardisPlayerInfo -> { + tardisPlayerInfo.tick(this, serverPlayer); + }); + }); - var shouldSync = level.getGameTime() % 40 == 0; if (shouldSync) { tardisClientData.setIsOnCooldown(pilotingManager.isInRecovery()); @@ -177,6 +187,18 @@ public void tick(ServerLevel level) { tardisClientData.setTardisState(tardisState); tardisClientData.setRecoveryProgress(pilotingManager.getCrashRecoveryTicks()); + //Needed now for flight viewer + tardisClientData.setFlying(pilotingManager.isInFlight()); + tardisClientData.setIsLanding(exteriorManager.isLanding()); + tardisClientData.setIsTakingOff(exteriorManager.isTakingOff()); + + float percentageCompleted = (getPilotingManager().getFlightPercentageCovered() * 100f); + if (percentageCompleted > 100) { + percentageCompleted = 100; + } + + tardisClientData.setJourneyProgress(percentageCompleted); + tardisClientData.sync(); } else { tardisClientData.setRecoveryProgress(pilotingManager.getCrashRecoveryTicks()); @@ -232,6 +254,7 @@ public boolean enterTardis(Entity entity, BlockPos externalShellPos, ServerLevel public boolean isTardisReady() { return !this.getInteriorManager().isGeneratingDesktop(); } + public boolean exitTardis(Entity entity, ServerLevel doorLevel, BlockPos doorPos, Direction doorDirection, boolean ignoreDoor) { if (!ignoreDoor && !this.internalDoor.isOpen()) { @@ -275,17 +298,19 @@ public boolean exitTardis(Entity entity, ServerLevel doorLevel, BlockPos doorPos return false; } - public void forceEjectAllPlayers(){ - for (Player player : this.level.players()){ - if (player instanceof ServerPlayer serverPlayer){ + public void forceEjectAllPlayers() { + for (Player player : this.level.players()) { + if (player instanceof ServerPlayer serverPlayer) { this.forceEjectPlayer(serverPlayer); } } } - /** Helper to automatically teleport the player to the Tardis' current location - *
Used for emergency eject feature or to prevent players from remaining in the Tardis during desktop generaton*/ - public boolean forceEjectPlayer(ServerPlayer player){ + /** + * Helper to automatically teleport the player to the Tardis' current location + *
Used for emergency eject feature or to prevent players from remaining in the Tardis during desktop generaton + */ + public boolean forceEjectPlayer(ServerPlayer player) { if (player != null) { TardisNavLocation location = this.getPilotingManager().getCurrentLocation(); return this.exitTardis(player, location.getLevel(), location.getPosition(), location.getDirection(), true); @@ -293,7 +318,8 @@ public boolean forceEjectPlayer(ServerPlayer player){ return false; } - /** Unified logic to update blockstates and data + /** + * Unified logic to update blockstates and data * * @param startRegen - True if we should mark the Tardis is regenerating itself. * @return True if successfully triggered, false if failed @@ -306,7 +332,7 @@ public boolean triggerRegenState(boolean startRegen) { } TardisNavLocation currentPosition = this.getPilotingManager().getCurrentLocation(); - if(currentPosition == null) return false; + if (currentPosition == null) return false; BlockPos currentBlockPos = currentPosition.getPosition(); ServerLevel currentLevel = currentPosition.getLevel(); @@ -323,15 +349,14 @@ public boolean triggerRegenState(boolean startRegen) { //Extra sanity check to ensure the player didn't rapidly replace the block at this position with another block. //Unlikely, but you never know what players are capable of. - if (blockStateAfterDoorUpdates.hasProperty(ShellBaseBlock.REGEN)){ + if (blockStateAfterDoorUpdates.hasProperty(ShellBaseBlock.REGEN)) { BlockState updatedBlockState = blockStateAfterDoorUpdates.setValue(ShellBaseBlock.REGEN, startRegen); //Set the block to be in a regenerating state - if (this.getTardisState() == STATE_CAVE || this.getTardisState() == STATE_TERRAFORMED_NO_EYE){ //If either in a cave state or terraformed without an activated eye of harmony, assume we are transforming from root shell to half baked Tardis + if (this.getTardisState() == STATE_CAVE || this.getTardisState() == STATE_TERRAFORMED_NO_EYE) { //If either in a cave state or terraformed without an activated eye of harmony, assume we are transforming from root shell to half baked Tardis //If starting regen for a root shell, update, but do not, create a new blockstate instance //We only want to create a new blockstate instance when generation is finished so that a new GlobalShellBlockEntity instance can be placed with the half-baked theme applied //The logic to handle whether to use the passed in blockstate is being handled in setOrUpdateExteriorBlock this.setOrUpdateExteriorBlock(currentPosition, Optional.of(updatedBlockState), startRegen, ShellChangeSources.ROOT_TO_TARDIS); - } - else { + } else { this.setOrUpdateExteriorBlock(currentPosition, Optional.of(updatedBlockState), startRegen, ShellChangeSources.REGEN_EXISTING_TARDIS); } return true; @@ -339,23 +364,28 @@ public boolean triggerRegenState(boolean startRegen) { } return false; } - /** Convenience method to use when we are going to update the exterior block but we are not setting up a new Tardis - * @param location - location of the block we are updating + + /** + * Convenience method to use when we are going to update the exterior block but we are not setting up a new Tardis + * + * @param location - location of the block we are updating * @param targetBlockState - Only leave this empty if we are landing the Tardis after finishing flight, otherwise provide a value to indicate we are updating specific data on an existing Tardis shell. * @implNote You must call this after calling {@link TardisLevelOperator#setShellTheme(ResourceLocation, ResourceLocation, ShellChangeSource)} - * */ - public void setOrUpdateExteriorBlock(TardisNavLocation location, Optional targetBlockState){ + */ + public void setOrUpdateExteriorBlock(TardisNavLocation location, Optional targetBlockState) { setOrUpdateExteriorBlock(location, targetBlockState, false, ShellChangeSources.GENERIC_UPDATE); } - /** Common logic to set or update the exterior shell block. This is needed to ensure we preserve data on the exterior shell such as Shell Patterns. - * @implNote If we have updated the ShellTheme but haven't updated the Exterior data yet, you must call this after calling {@link TardisLevelOperator#setShellTheme(ResourceLocation, ResourceLocation, ShellChangeSource)} - * @param location - target position we are performing block updates on. + /** + * Common logic to set or update the exterior shell block. This is needed to ensure we preserve data on the exterior shell such as Shell Patterns. + * + * @param location - target position we are performing block updates on. * @param overridingBlockState - Pass in an updated exterior shell blockstate with the data you want to include. Only leave this empty if we are landing the Tardis after finishing flight, otherwise provide a value to indicate we are updating specific data on an existing Tardis shell. - * @param startingRegen - If we are starting or finishing the regenerating of the Tardis. e.g. During Desktop generation. - * @param shellChangeSource - Source of the shell update. If the Shell Change event was caused by a Tardis being setup from a Root Shell to a fully functioning version. + * @param startingRegen - If we are starting or finishing the regenerating of the Tardis. e.g. During Desktop generation. + * @param shellChangeSource - Source of the shell update. If the Shell Change event was caused by a Tardis being setup from a Root Shell to a fully functioning version. + * @implNote If we have updated the ShellTheme but haven't updated the Exterior data yet, you must call this after calling {@link TardisLevelOperator#setShellTheme(ResourceLocation, ResourceLocation, ShellChangeSource)} */ - public void setOrUpdateExteriorBlock(TardisNavLocation location, Optional overridingBlockState, boolean startingRegen, ShellChangeSource shellChangeSource){ + public void setOrUpdateExteriorBlock(TardisNavLocation location, Optional overridingBlockState, boolean startingRegen, ShellChangeSource shellChangeSource) { AestheticHandler aestheticHandler = this.getAestheticHandler(); ResourceLocation theme = (aestheticHandler.getShellTheme() != null) ? aestheticHandler.getShellTheme() : ShellTheme.HALF_BAKED.getId(); ShellTheme shellTheme = ShellTheme.getShellTheme(theme); @@ -375,12 +405,11 @@ public void setOrUpdateExteriorBlock(TardisNavLocation location, Optional Updates both internal door and exterior shell door OPEN state - *
Fires the CloseDoor/OpenDoor events*/ + *
Fires the CloseDoor/OpenDoor events + */ public void setDoorClosed(boolean closeDoor) { TardisInternalDoor intDoor = getInternalDoor(); //Closed the internal door @@ -437,9 +468,12 @@ public void setDoorClosed(boolean closeDoor) { } } - /** Unified logic to lock or unlock a door + + /** + * Unified logic to lock or unlock a door *
Updates both internal door and exterior shell door LOCK state - *
Fires the LockDoor/UnlockDoor events*/ + *
Fires the LockDoor/UnlockDoor events + */ public void setDoorLocked(boolean lockDoor) { TardisInternalDoor intDoor = getInternalDoor(); @@ -449,7 +483,7 @@ public void setDoorLocked(boolean lockDoor) { if (this.pilotingManager != null) { if (this.pilotingManager.getCurrentLocation() != null) { - if (this.exteriorManager != null){ + if (this.exteriorManager != null) { this.exteriorManager.setLocked(lockDoor); } } @@ -463,7 +497,9 @@ public void setDoorLocked(boolean lockDoor) { } - /** Unified logic to update the Tardis' ShellTheme and Pattern, as well as the exterior and internal doors*/ + /** + * Unified logic to update the Tardis' ShellTheme and Pattern, as well as the exterior and internal doors + */ public void setShellTheme(ResourceLocation shellTheme, ResourceLocation shellPattern, ShellChangeSource shellChangeSource) { aestheticHandler.setShellTheme(shellTheme, shellPattern, this.getPilotingManager().getCurrentLocation()); aestheticHandler.setShellPattern(ShellPatterns.getPatternOrDefault(shellTheme, shellPattern)); @@ -475,21 +511,10 @@ public void setShellTheme(ResourceLocation shellTheme, ResourceLocation shellPat } /** - * Sets the main operating door of an interior. - * - * @param door Internal door object. - **/ - public void setInternalDoor(TardisInternalDoor door) { - if (this.internalDoor != null) { - this.internalDoor.onSetMainDoor(false); - } - this.internalDoor = door; - if (door != null) //If the new door value is not null - this.internalDoor.onSetMainDoor(true); - } - /** Sets up data and prepares the desktop theme for when the Tardis is generating for the first time. + * Sets up data and prepares the desktop theme for when the Tardis is generating for the first time. *
DO NOT update the exterior/internal doors here, because door updating logic is unified in {@link TardisLevelOperator#triggerRegenState(boolean)} - *
We do not need to open the Tardis doors here because it is always being called in {@link whocraft.tardis_refined.common.block.shell.RootedShellBlock}*/ + *
We do not need to open the Tardis doors here because it is always being called in {@link whocraft.tardis_refined.common.block.shell.RootedShellBlock} + */ public void setupInitialCave(ServerLevel shellServerLevel, BlockState shellBlockState, BlockPos shellBlockPos) { this.interiorManager.generateDesktop(TardisDesktops.DEFAULT_OVERGROWN_THEME); @@ -506,15 +531,33 @@ public void setupInitialCave(ServerLevel shellServerLevel, BlockState shellBlock public TardisExteriorManager getExteriorManager() { return this.exteriorManager; } + public TardisInternalDoor getInternalDoor() { return this.internalDoor; } + + /** + * Sets the main operating door of an interior. + * + * @param door Internal door object. + **/ + public void setInternalDoor(TardisInternalDoor door) { + if (this.internalDoor != null) { + this.internalDoor.onSetMainDoor(false); + } + this.internalDoor = door; + if (door != null) //If the new door value is not null + this.internalDoor.onSetMainDoor(true); + } + public TardisInteriorManager getInteriorManager() { return this.interiorManager; } + 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/IncrementUpgrade.java b/common/src/main/java/whocraft/tardis_refined/common/capability/tardis/upgrades/IncrementUpgrade.java index a6e1f643b..988c3ee1a 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/capability/tardis/upgrades/IncrementUpgrade.java +++ b/common/src/main/java/whocraft/tardis_refined/common/capability/tardis/upgrades/IncrementUpgrade.java @@ -5,7 +5,7 @@ import java.util.function.Supplier; -public class IncrementUpgrade extends Upgrade{ +public class IncrementUpgrade extends Upgrade { int incrementAmount = 0; diff --git a/common/src/main/java/whocraft/tardis_refined/common/capability/tardis/upgrades/Upgrade.java b/common/src/main/java/whocraft/tardis_refined/common/capability/tardis/upgrades/Upgrade.java index 6a7e7819a..c8e863c11 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/capability/tardis/upgrades/Upgrade.java +++ b/common/src/main/java/whocraft/tardis_refined/common/capability/tardis/upgrades/Upgrade.java @@ -18,18 +18,13 @@ public class Upgrade { private final Supplier parent; private final UpgradeType upgradeType; + private final Supplier icon; private int cost = 1; private boolean posSet = false; private double posX = 0, posY = 0; - private final Supplier icon; - - public enum UpgradeType { - MAIN_UPGRADE, SUB_UPGRADE; - } private ResourceLocation translationKey; /** - * * @param icon * @param translationKey - Requires the namespace of your mod (e.g. my_mod_id) and the registry object (E.g. explorer) to be used for display names and translation keys */ @@ -41,9 +36,8 @@ public Upgrade(Supplier icon, ResourceLocation translationKey, Upgrad } /** - * * @param icon - * @param parent - the parent Upgrade object before we can unlock this current upgrade + * @param parent - the parent Upgrade object before we can unlock this current upgrade * @param translationKey - Requires the namespace of your mod (e.g. my_mod_id) and the registry object (E.g. explorer) to be used for display names and translation keys */ public Upgrade(Supplier icon, Supplier parent, ResourceLocation translationKey, UpgradeType upgradeType) { @@ -57,11 +51,6 @@ public ItemStack getIcon() { return this.icon.get(); } - public Upgrade setSkillPointsRequired(int cost) { - this.cost = cost; - return this; - } - public UpgradeType getUpgradeType() { return upgradeType; } @@ -69,12 +58,18 @@ public UpgradeType getUpgradeType() { /** * Currently, the Tardis has a XP system, every successful flight event supplies a certain amount of Tardis XP * 50 Tardis XP becomes 1 skill point + * * @return Skill points required before the upgrade unlocks */ public int getSkillPointsRequired() { return this.cost; } + public Upgrade setSkillPointsRequired(int cost) { + this.cost = cost; + return this; + } + public Upgrade setPosition(double x, double y) { this.posSet = true; this.posX = x; @@ -128,4 +123,8 @@ public boolean isUnlocked(UpgradeHandler upgradeHandler) { return upgradeHandler.isUpgradeUnlocked(this); } + public enum UpgradeType { + MAIN_UPGRADE, SUB_UPGRADE; + } + } 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 984bf1f93..f6e64d909 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 @@ -25,10 +25,10 @@ public class UpgradeHandler { @NotNull private final TardisLevelOperator tardisLevelOperator; + private final List unlockedUpgrades = new ArrayList<>(); private int upgradeXP = 0; private int upgradePoints = 0; private int overallTardisPoints = 0; - private final List unlockedUpgrades = new ArrayList<>(); public UpgradeHandler(@NotNull TardisLevelOperator tardisLevelOperator) { this.tardisLevelOperator = tardisLevelOperator; @@ -71,10 +71,6 @@ public String toString() { '}'; } - public void setUpgradeXP(int upgradeXP) { - this.upgradeXP = Mth.clamp(upgradeXP, 0, 49); - } - public List getUnlockedUpgrades() { return this.unlockedUpgrades; } @@ -83,6 +79,10 @@ public int getUpgradeXP() { return this.upgradeXP; } + public void setUpgradeXP(int upgradeXP) { + this.upgradeXP = Mth.clamp(upgradeXP, 0, 49); + } + public void addUpgradeXP(int upgradeXP) { this.upgradeXP += upgradeXP; @@ -110,14 +110,14 @@ public int getNeededXPForNextPoint() { return XP_PER_UPGRADE_POINT - this.upgradeXP; } - public void setUpgradePoints(int upgradePoints) { - this.upgradePoints = Mth.clamp(upgradePoints, 0, Integer.MAX_VALUE); - } - public int getUpgradePoints() { return this.upgradePoints; } + public void setUpgradePoints(int upgradePoints) { + this.upgradePoints = Mth.clamp(upgradePoints, 0, Integer.MAX_VALUE); + } + public int getOverallTardisPoints() { return overallTardisPoints; } @@ -157,7 +157,7 @@ public void unlockUpgrade(Upgrade upgrade) { this.unlockedUpgrades.add(upgrade); upgrade.onUnlocked(this.tardisLevelOperator, this); - if(this.tardisLevelOperator.getLevel() instanceof ServerLevel serverLevel) { + if (this.tardisLevelOperator.getLevel() instanceof ServerLevel serverLevel) { generateArsTree(tardisLevelOperator, serverLevel); } diff --git a/common/src/main/java/whocraft/tardis_refined/common/crafting/astral_manipulator/ManipulatorBlockResult.java b/common/src/main/java/whocraft/tardis_refined/common/crafting/astral_manipulator/ManipulatorBlockResult.java index 3679652e5..77a98cbe7 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/crafting/astral_manipulator/ManipulatorBlockResult.java +++ b/common/src/main/java/whocraft/tardis_refined/common/crafting/astral_manipulator/ManipulatorBlockResult.java @@ -6,7 +6,7 @@ import net.minecraft.world.level.block.state.BlockState; import whocraft.tardis_refined.registry.TRManipulatorRecipeResultTypes; -public class ManipulatorBlockResult extends ManipulatorCraftingResult{ +public class ManipulatorBlockResult extends ManipulatorCraftingResult { //Creates a MapCodec. We must use MapCodecs because the "type" field in our json will need to use MapCodecs //to determine what fields to deserialise. In 1.20.5+ MapCodecs will also become mandatory so it's better to future-proof for it now 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 9359cb369..e8059b2cc 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 @@ -7,23 +7,21 @@ /** * Main ingredient object for a ManipulatorCraftingRecipe. - * **/ + **/ public class ManipulatorCraftingIngredient { + public static final Codec CODEC = RecordCodecBuilder.create( + builder -> builder.group( + BlockPos.CODEC.fieldOf("relative_pos").forGetter(recipe -> recipe.relativeBlockPos), + BlockState.CODEC.fieldOf("block_state").forGetter(recipe -> recipe.blockState) + ) + .apply(builder, ManipulatorCraftingIngredient::new) + ); // Block position relative to the closest corner to 0,0,0 in world space. private BlockPos relativeBlockPos; - // The block state that must exist at that position. private BlockState blockState; - public static final Codec CODEC = RecordCodecBuilder.create( - builder -> builder.group( - BlockPos.CODEC.fieldOf("relative_pos").forGetter(recipe -> recipe.relativeBlockPos), - BlockState.CODEC.fieldOf("block_state").forGetter(recipe -> recipe.blockState) - ) - .apply(builder, ManipulatorCraftingIngredient::new) - ); - public ManipulatorCraftingIngredient(BlockPos pos, BlockState blockState) { this.relativeBlockPos = pos; this.blockState = blockState; @@ -31,9 +29,10 @@ public ManipulatorCraftingIngredient(BlockPos pos, BlockState blockState) { /** * Compares a ManipulatorCraftingRecipeItem to another. + * * @param compared The recipe item to compare to. * @return If the items are equivalent. - * **/ + **/ public boolean IsSameAs(ManipulatorCraftingIngredient compared) { if (!compared.blockState.is(this.blockState.getBlock())) { return false; @@ -41,12 +40,14 @@ public boolean IsSameAs(ManipulatorCraftingIngredient compared) { return this.relativeBlockPos.getX() == compared.relativeBlockPos.getX() && this.relativeBlockPos.getY() == compared.relativeBlockPos.getY() && this.relativeBlockPos.getZ() == compared.relativeBlockPos.getZ(); } - /** Defines the offset position for a block, in terms of a distance away from the position closest to the smallest coordinates out of the two positions chosen by the player*/ - public BlockPos relativeBlockPos(){ + /** + * Defines the offset position for a block, in terms of a distance away from the position closest to the smallest coordinates out of the two positions chosen by the player + */ + public BlockPos relativeBlockPos() { return this.relativeBlockPos; } - public BlockState inputBlockState(){ + public BlockState inputBlockState() { return this.blockState; } } diff --git a/common/src/main/java/whocraft/tardis_refined/common/crafting/astral_manipulator/ManipulatorCraftingRecipe.java b/common/src/main/java/whocraft/tardis_refined/common/crafting/astral_manipulator/ManipulatorCraftingRecipe.java index f3bb1bdfe..a0c0d56ae 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/crafting/astral_manipulator/ManipulatorCraftingRecipe.java +++ b/common/src/main/java/whocraft/tardis_refined/common/crafting/astral_manipulator/ManipulatorCraftingRecipe.java @@ -17,22 +17,18 @@ /** * Main recipe object for the Astral Manipulator. - * **/ + **/ public class ManipulatorCraftingRecipe implements CraftingRecipe { - // List of ingredient blocks for the recipe to work. - private List ingredients; - - private ManipulatorCraftingResult result; - - private ResourceLocation id; - - public static final Codec CODEC = RecordCodecBuilder.create( builder -> builder.group( ManipulatorCraftingIngredient.CODEC.listOf().fieldOf("ingredients").forGetter(ManipulatorCraftingRecipe::ingredients), ManipulatorCraftingResult.RESULT_CODEC.fieldOf("result").forGetter(ManipulatorCraftingRecipe::result) ).apply(builder, ManipulatorCraftingRecipe::new) ); + // List of ingredient blocks for the recipe to work. + private List ingredients; + private ManipulatorCraftingResult result; + private ResourceLocation id; public ManipulatorCraftingRecipe(List itemList, ManipulatorCraftingResult recipeOutput) { this.ingredients = itemList; @@ -47,31 +43,36 @@ public ManipulatorCraftingRecipe(List ingredients this(ingredients, new ManipulatorBlockResult(recipeOutput)); } - /** Get the unique id for this recipe. Needed for debugging purposes, and also to make sure we keep track of the recipes in some manner*/ + /** + * Helper to get all recipes without needing to use a Container. In 1.21+ recipes will be decoupled from Containers but until them, we will need this workaround + */ + public static List getAllRecipes(Level level) { + List> recipeHolders = level.getRecipeManager().getAllRecipesFor(TRCraftingRecipeTypes.ASTRAL_MANIPULATOR_RECIPE.get()); + List recipeList = new ArrayList<>(); + recipeHolders.forEach(recipeHolder -> recipeList.add(recipeHolder.value().setRegistryId(recipeHolder.id()))); //Make sure to set registry id + return recipeList; + } + + /** + * Get the unique id for this recipe. Needed for debugging purposes, and also to make sure we keep track of the recipes in some manner + */ public ResourceLocation getId() { return this.id; } - /** Sets the id for this recipe. ALWAYS call this when making a new instance of this, as the registry name is null by default*/ + /** + * Sets the id for this recipe. ALWAYS call this when making a new instance of this, as the registry name is null by default + */ public ManipulatorCraftingRecipe setRegistryId(ResourceLocation id) { this.id = id; return this; } - /** Helper to get all recipes without needing to use a Container. In 1.21+ recipes will be decoupled from Containers but until them, we will need this workaround*/ - public static List getAllRecipes(Level level){ - List> recipeHolders = level.getRecipeManager().getAllRecipesFor(TRCraftingRecipeTypes.ASTRAL_MANIPULATOR_RECIPE.get()); - List recipeList = new ArrayList<>(); - recipeHolders.forEach(recipeHolder -> recipeList.add(recipeHolder.value().setRegistryId(recipeHolder.id()))); //Make sure to set registry id - return recipeList; - } - - - /** * Compares a ManipulatorCraftingRecipe to another by sorting by size, then registered block entries + * * @param comparedItemList The items of the recipe to compare to. - * **/ + **/ public boolean hasSameItems(List comparedItemList) { if (ingredients.size() != comparedItemList.size()) { @@ -94,17 +95,23 @@ public boolean hasSameItems(List comparedItemList return true; } - /** Provides the result of the recipe. This can be either a blockstate or itemstack depending on the result type*/ - public ManipulatorCraftingResult result(){ + /** + * Provides the result of the recipe. This can be either a blockstate or itemstack depending on the result type + */ + public ManipulatorCraftingResult result() { return this.result; } - /** Provides the list of ingredients for the recipe, in the form of a list of blockstate to block position offsets*/ - public List ingredients(){ + /** + * Provides the list of ingredients for the recipe, in the form of a list of blockstate to block position offsets + */ + public List ingredients() { return this.ingredients; } - /** Default vanilla data, we will add dummy values as we won't be using them*/ + /** + * Default vanilla data, we will add dummy values as we won't be using them + */ @Override public CraftingBookCategory category() { return CraftingBookCategory.MISC; @@ -127,22 +134,28 @@ public boolean canCraftInDimensions(int width, int height) { @Override public ItemStack getResultItem(RegistryAccess registryAccess) { - if(result.type() instanceof ManipulatorItemResult manipulatorItemResult){ + if (result.type() instanceof ManipulatorItemResult manipulatorItemResult) { return manipulatorItemResult.recipeOutput(); } - if(result.type() instanceof ManipulatorBlockResult manipulatorBlockResult){ + if (result.type() instanceof ManipulatorBlockResult manipulatorBlockResult) { return new ItemStack(manipulatorBlockResult.recipeOutput().getBlock().asItem()); } return ItemStack.EMPTY; } - /** Required to allow vanilla to parse the recipe during datapack parsing*/ + + /** + * Required to allow vanilla to parse the recipe during datapack parsing + */ @Override public RecipeSerializer getSerializer() { return TRCraftingRecipeSerializers.ASTRAL_MANIPULATOR.get(); } - /** Required to allow vanilla to parse the recipe during datapack parsing*/ + + /** + * Required to allow vanilla to parse the recipe during datapack parsing + */ @Override public RecipeType getType() { return TRCraftingRecipeTypes.ASTRAL_MANIPULATOR_RECIPE.get(); 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 3dca34b3d..ab3b87f23 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 @@ -8,16 +8,18 @@ import net.minecraft.world.item.crafting.RecipeSerializer; import whocraft.tardis_refined.TardisRefined; -/** The recipe serialiser implementation. +/** + * The recipe serialiser implementation. *
Making this allows vanilla to automatically add our recipe types onto its recipe packet entry and reload listener - * */ + */ public class ManipulatorCraftingRecipeSerializer implements RecipeSerializer { public static ResourceLocation SERIALIZER_ID = new ResourceLocation(TardisRefined.MODID, "astral_manipulator"); - public ManipulatorCraftingRecipeSerializer(){ + public ManipulatorCraftingRecipeSerializer() { } + @Override public Codec codec() { return ManipulatorCraftingRecipe.CODEC; diff --git a/common/src/main/java/whocraft/tardis_refined/common/crafting/astral_manipulator/ManipulatorCraftingResult.java b/common/src/main/java/whocraft/tardis_refined/common/crafting/astral_manipulator/ManipulatorCraftingResult.java index 05c710c43..fe2113520 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/crafting/astral_manipulator/ManipulatorCraftingResult.java +++ b/common/src/main/java/whocraft/tardis_refined/common/crafting/astral_manipulator/ManipulatorCraftingResult.java @@ -8,15 +8,20 @@ /** * Base Object for different types of recipe results, such as itemstack or blockstate or block structure in the recipe json. * Example: Subclasses of this object determines whether to place the result at the center position or create an item entity. - *
This is required because since we use Codecs to de/serialise recipes, we will need to use sub codecs depending on the result type, hence this is needed*/ + *
This is required because since we use Codecs to de/serialise recipes, we will need to use sub codecs depending on the result type, hence this is needed + */ public abstract class ManipulatorCraftingResult { - /** Defines a Codec which shows what data should be used to make up the result object based on the "type" field defined by the master codec*/ - public abstract Codec type(); - - /** Master Codec object for the recipe result. We use dispatch codec to create a key-value ledger of the different Result types, and the data format (in the form of Codecs) for each type. - * Each type of recipe result is defined as a registry object, registered to a custom registry in {@link TRManipulatorRecipeResultTypes }*/ + /** + * Master Codec object for the recipe result. We use dispatch codec to create a key-value ledger of the different Result types, and the data format (in the form of Codecs) for each type. + * Each type of recipe result is defined as a registry object, registered to a custom registry in {@link TRManipulatorRecipeResultTypes } + */ public static final Codec RESULT_CODEC = TRManipulatorRecipeResultTypes.RESULT_TYPE_REGISTRY.byNameCodec().dispatch(ManipulatorCraftingResult::type, Function.identity()); + /** + * Defines a Codec which shows what data should be used to make up the result object based on the "type" field defined by the master codec + */ + public abstract Codec type(); + } diff --git a/common/src/main/java/whocraft/tardis_refined/common/crafting/astral_manipulator/ManipulatorItemResult.java b/common/src/main/java/whocraft/tardis_refined/common/crafting/astral_manipulator/ManipulatorItemResult.java index c50a8dedf..d2b9c3664 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/crafting/astral_manipulator/ManipulatorItemResult.java +++ b/common/src/main/java/whocraft/tardis_refined/common/crafting/astral_manipulator/ManipulatorItemResult.java @@ -6,12 +6,12 @@ import net.minecraft.world.item.ItemStack; import whocraft.tardis_refined.registry.TRManipulatorRecipeResultTypes; -public class ManipulatorItemResult extends ManipulatorCraftingResult{ +public class ManipulatorItemResult extends ManipulatorCraftingResult { //Creates a MapCodec. We must use MapCodecs because the "type" field in our json will need to use MapCodecs // to determine what fields to deserialise. // In 1.20.5+ MapCodecs will also become mandatory so it's better to future-proof for it now - public static final MapCodec MAP_CODEC = RecordCodecBuilder.mapCodec(instance -> + public static final MapCodec MAP_CODEC = RecordCodecBuilder.mapCodec(instance -> instance.group( ItemStack.CODEC.fieldOf("itemstack").forGetter(ManipulatorItemResult::recipeOutput) ).apply(instance, ManipulatorItemResult::new) 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 e360d6d97..6217fc217 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 @@ -9,7 +9,9 @@ import java.util.*; -/** Default recipes added by Tardis Refined. Used for data generators */ +/** + * Default recipes added by Tardis Refined. Used for data generators + */ public class ManipulatorRecipes { public static Map MANIPULATOR_CRAFTING_RECIPES = new HashMap<>(); @@ -139,7 +141,7 @@ public static void registerRecipes() { ), new ItemStack(TRBlockRegistry.LANDING_PAD.get().asItem()))); - register("corridor_teleporter",new ManipulatorCraftingRecipe(Arrays.asList( + register("corridor_teleporter", new ManipulatorCraftingRecipe(Arrays.asList( new ManipulatorCraftingIngredient(new BlockPos(0, 0, 0), TRBlockRegistry.ZEITON_FUSED_IRON_BLOCK.get().defaultBlockState()), new ManipulatorCraftingIngredient(new BlockPos(0, 0, 1), Blocks.SMOOTH_STONE_SLAB.defaultBlockState()), new ManipulatorCraftingIngredient(new BlockPos(0, 0, 2), TRBlockRegistry.ZEITON_FUSED_IRON_BLOCK.get().defaultBlockState()), 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 63cd0c392..39dfe9cb9 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 @@ -36,15 +36,15 @@ import static whocraft.tardis_refined.common.util.Platform.getServer; /* -* Majority of this code is sourced from Commoble's Hyberbox with permission. -* You can view their project here: https://github.com/Commoble/hyperbox -* */ + * Majority of this code is sourced from Commoble's Hyberbox with permission. + * You can view their project here: https://github.com/Commoble/hyperbox + * */ public class DimensionHandler { public static ArrayList> LEVELS = new ArrayList<>(); - public static void addDimension(ResourceKey resourceKey){ + public static void addDimension(ResourceKey resourceKey) { LEVELS.add(resourceKey); writeLevels(); } @@ -53,9 +53,10 @@ public static Path getWorldSavingDirectory() { return getStorage().getDimensionPath(Level.OVERWORLD); } - public static LevelStorageSource.LevelStorageAccess getStorage(){ + public static LevelStorageSource.LevelStorageAccess getStorage() { return ((MinecraftServerStorageAccessor) getServer()).getStorageSource(); } + private static void writeLevels() { File file = new File(getWorldSavingDirectory().toFile(), TardisRefined.MODID + "_tardis_info.json"); JsonObject jsonObject = new JsonObject(); @@ -87,11 +88,11 @@ public static ServerLevel getOrCreateInterior(Level interactionLevel, ResourceLo } if (interactionLevel instanceof ServerLevel serverLevel) { - ServerLevel existingLevel = getExistingLevel(serverLevel, levelResourceKey); + ServerLevel existingLevel = getExistingLevel(serverLevel, levelResourceKey); - if (existingLevel != null) { - return existingLevel; - } + if (existingLevel != null) { + return existingLevel; + } return createDimension(interactionLevel, levelResourceKey); } @@ -115,10 +116,9 @@ public static void loadLevels(ServerLevel serverLevel) { ResourceKey levelKey = ResourceKey.create(Registries.DIMENSION, id); if (getExistingLevel(serverLevel, levelKey) == null) { TardisRefined.LOGGER.warn("Level {} not found! Creating new level instance", dimension.getAsString()); - if(DimensionHandler.getOrCreateInterior(serverLevel, id) != null) + if (DimensionHandler.getOrCreateInterior(serverLevel, id) != null) TardisRefined.LOGGER.warn("Successfully created and loaded new level {}", dimension.getAsString()); - } - else{ + } else { TardisRefined.LOGGER.info("Successfully loaded existing level {}", dimension.getAsString()); } } diff --git a/common/src/main/java/whocraft/tardis_refined/common/dimension/TardisTeleportData.java b/common/src/main/java/whocraft/tardis_refined/common/dimension/TardisTeleportData.java index 30a7c9dd6..e3d97336e 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/dimension/TardisTeleportData.java +++ b/common/src/main/java/whocraft/tardis_refined/common/dimension/TardisTeleportData.java @@ -23,17 +23,12 @@ public class TardisTeleportData { private static TardisTeleportData INSTANCE = new TardisTeleportData(); - public List getQueuedTeleports() { - return queuedTeleports; - } - /** * This is to be called from the world tick event, if the world being ticked * is a ServerWorld and if the tick phase is the end of the world tick. *

* Does *not* create dynamic worlds that don't already exist, * So dynamic worlds should be created by the thing that schedules the tick, if possible - * */ public static void tick() { TardisTeleportData eventData = TardisTeleportData.INSTANCE; @@ -59,8 +54,7 @@ public static void tick() { if (TRTeleporter.fullTeleport(entity, targetWorld, entry.getX(), entry.getY(), entry.getZ(), entry.getyRot(), entry.getxRot(), teleportedEntities)) { teleportedEntities.add(entity); entry.setSuccessfulTeleport(true); - } - else { + } else { entry.setSuccessfulTeleport(false); } } @@ -77,7 +71,7 @@ public static void tick() { } public static void scheduleEntityTeleport(Entity entity, ResourceKey destination, double x, double y, double z, float yRot, float xRot) { - if(entity != null && !entity.level().isClientSide() && !isEntityQueuedToTeleportAlready(entity)) { + if (entity != null && !entity.level().isClientSide() && !isEntityQueuedToTeleportAlready(entity)) { queuedTeleports.add(new TeleportEntry(entity, destination, x, y, z, yRot, xRot)); } @@ -87,7 +81,11 @@ public static boolean isEntityQueuedToTeleportAlready(Entity entity) { return queuedTeleports.stream().anyMatch(entry -> entry.getEntity().equals(entity)); } - private static final class TeleportEntry{ + public List getQueuedTeleports() { + return queuedTeleports; + } + + private static final class TeleportEntry { private final Entity entity; private final ResourceKey destination; diff --git a/common/src/main/java/whocraft/tardis_refined/common/entity/ControlEntity.java b/common/src/main/java/whocraft/tardis_refined/common/entity/ControlEntity.java index 5f94b42d7..df721e05f 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/entity/ControlEntity.java +++ b/common/src/main/java/whocraft/tardis_refined/common/entity/ControlEntity.java @@ -46,34 +46,39 @@ public class ControlEntity extends Entity { - /** The total amount of control alignment health points before a control will start causing the Tardis to crash. - *
This name comes from a time when the terminology wasn't finalised, and a more traditional "health" system was being used. */ + /** + * Flag to determine if this Control can continue to become more mis-aligned and thus lose "health". + *
This name comes from a time when the terminology wasn't finalised, and a more traditional "health" system was being used. + *
True - if able to keep being mis-aligned, False if cannot be further mis-aligned + */ + private static final EntityDataAccessor TICKING_DOWN = SynchedEntityData.defineId(ControlEntity.class, EntityDataSerializers.BOOLEAN); + /** + * Flag to determine if this Control is far too mis-aligned and is considered "dead". + *
This name comes from a time when the terminology wasn't finalised, and a more traditional "health" system was being used. + */ + private static final EntityDataAccessor IS_DEAD = SynchedEntityData.defineId(ControlEntity.class, EntityDataSerializers.BOOLEAN); + /** + * Attribute to determine how far this Control is mis-aligned. + *
This name comes from a time when the terminology wasn't finalised, and a more traditional "health" system was being used. + */ + private static final EntityDataAccessor CONTROL_HEALTH = SynchedEntityData.defineId(ControlEntity.class, EntityDataSerializers.INT); + private static final EntityDataAccessor SHOW_PARTICLE = SynchedEntityData.defineId(ControlEntity.class, EntityDataSerializers.BOOLEAN); + private static final EntityDataAccessor SIZE_WIDTH = SynchedEntityData.defineId(ControlEntity.class, EntityDataSerializers.FLOAT); + private static final EntityDataAccessor SIZE_HEIGHT = SynchedEntityData.defineId(ControlEntity.class, EntityDataSerializers.FLOAT); + /** + * The total amount of control alignment health points before a control will start causing the Tardis to crash. + *
This name comes from a time when the terminology wasn't finalised, and a more traditional "health" system was being used. + */ private int totalControlHealth = 10; - private ControlSpecification controlSpecification; private ConsoleTheme consoleTheme; private BlockPos consoleBlockPos; private FlightDanceManager flightDanceManager; private Vector3f offset; - public ControlEntity(EntityType entityTypeIn, Level level) { super(entityTypeIn, level); } - /** Flag to determine if this Control can continue to become more mis-aligned and thus lose "health". - *
This name comes from a time when the terminology wasn't finalised, and a more traditional "health" system was being used. - *
True - if able to keep being mis-aligned, False if cannot be further mis-aligned*/ - private static final EntityDataAccessor TICKING_DOWN = SynchedEntityData.defineId(ControlEntity.class, EntityDataSerializers.BOOLEAN); - /** Flag to determine if this Control is far too mis-aligned and is considered "dead". - *
This name comes from a time when the terminology wasn't finalised, and a more traditional "health" system was being used. */ - private static final EntityDataAccessor IS_DEAD = SynchedEntityData.defineId(ControlEntity.class, EntityDataSerializers.BOOLEAN); - /** Attribute to determine how far this Control is mis-aligned. - *
This name comes from a time when the terminology wasn't finalised, and a more traditional "health" system was being used. */ - private static final EntityDataAccessor CONTROL_HEALTH = SynchedEntityData.defineId(ControlEntity.class, EntityDataSerializers.INT); - private static final EntityDataAccessor SHOW_PARTICLE = SynchedEntityData.defineId(ControlEntity.class, EntityDataSerializers.BOOLEAN); - private static final EntityDataAccessor SIZE_WIDTH = SynchedEntityData.defineId(ControlEntity.class, EntityDataSerializers.FLOAT); - private static final EntityDataAccessor SIZE_HEIGHT = SynchedEntityData.defineId(ControlEntity.class, EntityDataSerializers.FLOAT); - public ControlEntity(Level level) { super(TREntityRegistry.CONTROL_ENTITY.get(), level); } @@ -143,7 +148,7 @@ public Component getName() { TardisClientData tardisClientData = TardisClientData.getInstance(level().dimension()); - if(tardisClientData.isInRecovery()){ + if (tardisClientData.isInRecovery()) { int cooldownTicks = tardisClientData.getRecoveryTicks(); int maxCooldownTicks = 12000; // 10 minutes in ticks int percentage = (int) ((cooldownTicks / (float) maxCooldownTicks) * 100); @@ -158,7 +163,9 @@ public Component getName() { } - /** Tell the Tardis that the control is currently continuing to be misaligned + /** + * Tell the Tardis that the control is currently continuing to be misaligned + * * @param manager * @return true if can continue to become more misaligned, false if already too misaligned. */ @@ -244,7 +251,7 @@ public Packet getAddEntityPacket() { public boolean hurt(DamageSource damageSource, float f) { if (damageSource.getDirectEntity() instanceof Player player) { //Using getDirectEntity can allow for players to indirectly interact with controls, such as through primed TNT if (this.level() instanceof ServerLevel serverLevel) { - if(!player.level().isClientSide()) { + if (!player.level().isClientSide()) { if (entityData.get(IS_DEAD)) { return false; } @@ -252,7 +259,7 @@ public boolean hurt(DamageSource damageSource, float f) { ItemStack itemStack = player.getMainHandItem(); - if(itemStack.is(TRItemRegistry.MALLET.get()) && !player.getCooldowns().isOnCooldown(TRItemRegistry.MALLET.get())){ + if (itemStack.is(TRItemRegistry.MALLET.get()) && !player.getCooldowns().isOnCooldown(TRItemRegistry.MALLET.get())) { player.getCooldowns().addCooldown(TRItemRegistry.MALLET.get(), 600); playSound(TRSoundRegistry.MALLET.get()); itemStack.hurtAndBreak(15, player, (livingEntityx) -> { @@ -314,7 +321,10 @@ public InteractionResult interactAt(Player player, Vec3 hitPos, InteractionHand public boolean isTickingDown() { return getEntityData().get(TICKING_DOWN); } - /** Restores the control alignment points to a higher value so that it won't cause the Tardis to crash*/ + + /** + * Restores the control alignment points to a higher value so that it won't cause the Tardis to crash + */ public void realignControl() { int currentHealth = this.entityData.get(CONTROL_HEALTH); int nextHealth = currentHealth + 2; @@ -467,17 +477,16 @@ public boolean isDesktopWaitingToGenerate(TardisLevelOperator operator) { } private boolean handleLeftClick(Player player, ServerLevel serverLevel) { - if (!TardisLevelOperator.get(serverLevel).isPresent()){ + if (!TardisLevelOperator.get(serverLevel).isPresent()) { return false; - } - else { + } else { TardisLevelOperator cap = TardisLevelOperator.get(serverLevel).get(); if (cap.getPilotingManager().getCurrentConsole() == null || cap.getPilotingManager().getCurrentConsole() != getConsoleBlockEntity()) { cap.getPilotingManager().setCurrentConsole(this.getConsoleBlockEntity()); } - if (!controlSpecification.control().canUseControl(cap, controlSpecification.control(), this)){ + if (!controlSpecification.control().canUseControl(cap, controlSpecification.control(), this)) { return false; } @@ -491,10 +500,9 @@ private boolean handleLeftClick(Player player, ServerLevel serverLevel) { } private boolean handleRightClick(Player player, ServerLevel serverLevel, InteractionHand interactionHand) { - if (!TardisLevelOperator.get(serverLevel).isPresent()){ + if (!TardisLevelOperator.get(serverLevel).isPresent()) { return false; - } - else { + } else { TardisLevelOperator cap = TardisLevelOperator.get(serverLevel).get(); if (cap.getPilotingManager().getCurrentConsole() == null || cap.getPilotingManager().getCurrentConsole() != getConsoleBlockEntity()) { @@ -560,7 +568,9 @@ public boolean displayFireAnimation() { return false; } - /** Gets the total amount of control alignment health points before a control will start causing the Tardis to crash*/ + /** + * Gets the total amount of control alignment health points before a control will start causing the Tardis to crash + */ public int getTotalControlHealth() { return this.totalControlHealth; } diff --git a/common/src/main/java/whocraft/tardis_refined/common/hum/HumEntry.java b/common/src/main/java/whocraft/tardis_refined/common/hum/HumEntry.java index 7808eeb45..27c40c0aa 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/hum/HumEntry.java +++ b/common/src/main/java/whocraft/tardis_refined/common/hum/HumEntry.java @@ -28,9 +28,10 @@ public class HumEntry { private String nameComponent; /** - * Generic constructor - * @param identifier - Enter the registry name. - * @param soundEventId - the underlying SoundEvent id + * Generic constructor + * + * @param identifier - Enter the registry name. + * @param soundEventId - the underlying SoundEvent id * @param ambientSounds - List of ambient sounds that can play in addition to the Hum sound event * @param nameComponent - the string that will be displayed. Can be either a language file translation key or a component */ @@ -43,6 +44,7 @@ public HumEntry(ResourceLocation identifier, ResourceLocation soundEventId, List /** * Convenience constructor that creates a default value for the nameComponent parameter by creating a gold coloured text component + * * @param identifier * @param soundEventId * @param ambientSounds @@ -52,9 +54,10 @@ public HumEntry(ResourceLocation identifier, ResourceLocation soundEventId, List } /** - * Tardis Refined specific constructor - * @param identifier - Enter the registry name. No need to add namespace because the TardisRefined namespace is already added - * @param soundEventId - the underlying SoundEvent id + * Tardis Refined specific constructor + * + * @param identifier - Enter the registry name. No need to add namespace because the TardisRefined namespace is already added + * @param soundEventId - the underlying SoundEvent id * @param ambientSounds - List of ambient sounds that can play in addition to the Hum sound event */ public HumEntry(String identifier, ResourceLocation soundEventId, List ambientSounds) { @@ -62,8 +65,9 @@ public HumEntry(String identifier, ResourceLocation soundEventId, List codec() { return CODEC; } - /** Gets the underlying SoundEvent's ID*/ + /** + * Gets the underlying SoundEvent's ID + */ public ResourceLocation getSoundEventId() { return soundEventId; } diff --git a/common/src/main/java/whocraft/tardis_refined/common/hum/TardisHums.java b/common/src/main/java/whocraft/tardis_refined/common/hum/TardisHums.java index 24f6b3670..32bc81a3f 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/hum/TardisHums.java +++ b/common/src/main/java/whocraft/tardis_refined/common/hum/TardisHums.java @@ -16,56 +16,46 @@ public class TardisHums { - private static final CodecJsonReloadListener RELOAD_LISTENER = createReloadListener(); - - private static final Map DEFAULT_HUMS = new HashMap<>(); - public static final HumEntry CAVE = new HumEntry("cave", TRSoundRegistry.HUM_CAVE.getId()); public static final HumEntry TOYOTA = new HumEntry("toyota", TRSoundRegistry.HUM_TOYOTA.getId()); public static final HumEntry CLASSIC = new HumEntry("classic", TRSoundRegistry.HUM_CLASSIC.getId()); public static final HumEntry VICTORIAN = new HumEntry("victorian", TRSoundRegistry.HUM_VICTORIAN.getId()); - public static final HumEntry BASALT_DELTAS = new HumEntry( "basalt_deltas", SoundEvents.AMBIENT_BASALT_DELTAS_LOOP.value().getLocation(), createSoundList(SoundEvents.AMBIENT_BASALT_DELTAS_ADDITIONS.value(), SoundEvents.AMBIENT_BASALT_DELTAS_MOOD.value()) ); - public static final HumEntry CRIMSON_FOREST = new HumEntry( "crimson_forest", SoundEvents.AMBIENT_CRIMSON_FOREST_LOOP.value().getLocation(), createSoundList(SoundEvents.AMBIENT_CRIMSON_FOREST_ADDITIONS.value(), SoundEvents.AMBIENT_CRIMSON_FOREST_MOOD.value()) ); - public static final HumEntry NETHER_WASTES = new HumEntry( - "nether_wastes", + "nether_wastes", SoundEvents.AMBIENT_NETHER_WASTES_LOOP.value().getLocation(), createSoundList(SoundEvents.AMBIENT_NETHER_WASTES_ADDITIONS.value(), SoundEvents.AMBIENT_NETHER_WASTES_MOOD.value()) ); - public static final HumEntry UNDER_WATER = new HumEntry( "under_water", SoundEvents.AMBIENT_UNDERWATER_LOOP.getLocation(), createSoundList(SoundEvents.AMBIENT_UNDERWATER_LOOP_ADDITIONS, SoundEvents.AMBIENT_UNDERWATER_LOOP_ADDITIONS_RARE, SoundEvents.AMBIENT_UNDERWATER_LOOP_ADDITIONS_ULTRA_RARE) ); - - public static final HumEntry SOUL_SAND_VALLEY = new HumEntry( "soul_sand_valley", SoundEvents.AMBIENT_SOUL_SAND_VALLEY_LOOP.value().getLocation(), createSoundList(SoundEvents.AMBIENT_SOUL_SAND_VALLEY_ADDITIONS.value(), SoundEvents.AMBIENT_SOUL_SAND_VALLEY_MOOD.value()) ); - public static final HumEntry WARPED_FOREST = new HumEntry( "warped_forest", SoundEvents.AMBIENT_WARPED_FOREST_LOOP.value().getLocation(), createSoundList(SoundEvents.AMBIENT_WARPED_FOREST_ADDITIONS.value(), SoundEvents.AMBIENT_WARPED_FOREST_MOOD.value()) ); - public static final HumEntry AVIATRAX = new HumEntry( "aviatrax", - TRSoundRegistry.HUM_AVIATRAX.getId(),new ArrayList<>() + TRSoundRegistry.HUM_AVIATRAX.getId(), new ArrayList<>() ); + private static final CodecJsonReloadListener RELOAD_LISTENER = createReloadListener(); + private static final Map DEFAULT_HUMS = new HashMap<>(); private static List createSoundList(SoundEvent... sounds) { ArrayList soundList = new ArrayList<>(); diff --git a/common/src/main/java/whocraft/tardis_refined/common/items/DrillItem.java b/common/src/main/java/whocraft/tardis_refined/common/items/DrillItem.java index 9fa5a74b2..93636056f 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/items/DrillItem.java +++ b/common/src/main/java/whocraft/tardis_refined/common/items/DrillItem.java @@ -45,7 +45,6 @@ public InteractionResult useOn(UseOnContext useOnContext) { } - private void destroyGrowthBlock(Level level, BlockPos pos) { if (level.getBlockState(pos).getBlock() == TRBlockRegistry.FOOLS_STONE.get()) { level.destroyBlock(pos, true); diff --git a/common/src/main/java/whocraft/tardis_refined/common/items/GlassesItem.java b/common/src/main/java/whocraft/tardis_refined/common/items/GlassesItem.java index 7b70ff15c..85799fe79 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/items/GlassesItem.java +++ b/common/src/main/java/whocraft/tardis_refined/common/items/GlassesItem.java @@ -30,6 +30,7 @@ public SoundEvent getEquipSound() { return Equipable.super.getEquipSound(); } + @Override public InteractionResultHolder use(Level level, Player player, InteractionHand interactionHand) { return this.swapWithEquipmentSlot(this, level, player, interactionHand); } 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 4614dc536..1545bfdb8 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 @@ -44,16 +44,6 @@ public KeyItem(Properties properties) { super(properties); } - @Override - public Component getName(ItemStack itemStack) { - - if (getKeychain(itemStack).size() >= 2) { - return Component.translatable(ModMessages.ITEM_KEYCHAIN); - } - - return super.getName(itemStack); - } - public static ItemStack addTardis(ItemStack itemStack, ResourceKey levelResourceKey) { // Get the tag of the itemStack object CompoundTag itemtag = itemStack.getOrCreateTag(); @@ -77,26 +67,6 @@ public static ItemStack addTardis(ItemStack itemStack, ResourceKey levelR return 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){ - ArrayList> keychain = KeyItem.getKeychain(player.getMainHandItem()); - if(!keychain.isEmpty()) { - var tardisLevel = Platform.getServer().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); - } - } - } - - return super.use(level, player, interactionHand); - } - public static void setKeychain(ItemStack itemStack, ArrayList> levels) { CompoundTag nbt = itemStack.getOrCreateTag(); ListTag keychain; @@ -145,6 +115,36 @@ public static boolean keychainContains(ItemStack itemStack, ResourceKey l return keychain.contains(levelResourceKey); } + @Override + public Component getName(ItemStack itemStack) { + + if (getKeychain(itemStack).size() >= 2) { + return Component.translatable(ModMessages.ITEM_KEYCHAIN); + } + + return super.getName(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) { + ArrayList> keychain = KeyItem.getKeychain(player.getMainHandItem()); + if (!keychain.isEmpty()) { + var tardisLevel = Platform.getServer().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); + } + } + } + + return super.use(level, player, interactionHand); + } + public boolean interactMonitor(ItemStack itemStack, Player player, ControlEntity control, InteractionHand interactionHand) { if (control.level() instanceof ServerLevel serverLevel) { @@ -155,7 +155,9 @@ public boolean interactMonitor(ItemStack itemStack, Player player, ControlEntity setKeychain(itemStack, new ArrayList<>(List.of(serverLevel.dimension()))); - if (keychainContains(itemStack, tardis)) {return false;} + if (keychainContains(itemStack, tardis)) { + return false; + } player.setItemInHand(interactionHand, addTardis(itemStack, tardis)); PlayerUtil.sendMessage(player, Component.translatable(ModMessages.MSG_KEY_BOUND, tardis.location().getPath()), true); @@ -181,7 +183,7 @@ public InteractionResult useOn(UseOnContext context) { Collections.rotate(keychain.subList(0, keychain.size()), -1); setKeychain(context.getItemInHand(), keychain); context.getPlayer().displayClientMessage(Component.translatable(ModMessages.MSG_KEY_CYCLED, keychain.get(0).location().getPath()), true); - context.getLevel().playSound(null, context.getPlayer().blockPosition(), SoundEvents.UI_BUTTON_CLICK.value(), SoundSource.BLOCKS, 1,2); + context.getLevel().playSound(null, context.getPlayer().blockPosition(), SoundEvents.UI_BUTTON_CLICK.value(), SoundSource.BLOCKS, 1, 2); } } } @@ -205,7 +207,6 @@ public void appendHoverText(ItemStack itemStack, @Nullable Level level, List { + if (tardisPlayerInfo.isViewingTardis()) { + ci.cancel(); + } + }); + } + + @Inject(method = "renderCrosshair(Lnet/minecraft/client/gui/GuiGraphics;)V", at = @At(value = "HEAD"), cancellable = true) + private void renderCrosshair(GuiGraphics guiGraphics, CallbackInfo ci) { + TardisPlayerInfo.get(Minecraft.getInstance().player).ifPresent(tardisPlayerInfo -> { + if (tardisPlayerInfo.isViewingTardis()) { + ci.cancel(); + } + }); + } + + @Inject(method = "renderSpyglassOverlay(Lnet/minecraft/client/gui/GuiGraphics;F)V", at = @At(value = "HEAD"), cancellable = true) + public void renderSpyglassOverlay(GuiGraphics guiGraphics, float f, CallbackInfo ci) { + TardisPlayerInfo.get(Minecraft.getInstance().player).ifPresent(tardisPlayerInfo -> { + if (tardisPlayerInfo.isViewingTardis()) { + ci.cancel(); + } + }); + } + + @Inject(method = "renderExperienceBar(Lnet/minecraft/client/gui/GuiGraphics;I)V", at = @At(value = "HEAD"), cancellable = true) + public void renderExperienceBar(GuiGraphics guiGraphics, int i, CallbackInfo ci) { + TardisPlayerInfo.get(Minecraft.getInstance().player).ifPresent(tardisPlayerInfo -> { + if (tardisPlayerInfo.isViewingTardis()) { + ci.cancel(); + } + }); + } + + @Inject(method = "renderSpyglassOverlay(Lnet/minecraft/client/gui/GuiGraphics;F)V", at = @At(value = "HEAD"), cancellable = true) + protected void renderTextureOverlay(GuiGraphics guiGraphics, float f, CallbackInfo ci) { + TardisPlayerInfo.get(Minecraft.getInstance().player).ifPresent(tardisPlayerInfo -> { + if (tardisPlayerInfo.isViewingTardis()) { + ci.cancel(); + } + }); + } + + @Inject(method = "renderPlayerHealth(Lnet/minecraft/client/gui/GuiGraphics;)V", at = @At(value = "HEAD"), cancellable = true) + private void renderPlayerHealth(GuiGraphics guiGraphics, CallbackInfo ci) { + TardisPlayerInfo.get(Minecraft.getInstance().player).ifPresent(tardisPlayerInfo -> { + if (tardisPlayerInfo.isViewingTardis()) { + ci.cancel(); + } + }); + } +} diff --git a/common/src/main/java/whocraft/tardis_refined/common/mixin/LocalPlayerMixin.java b/common/src/main/java/whocraft/tardis_refined/common/mixin/LocalPlayerMixin.java index 189cca8cf..5cb16ce9d 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/mixin/LocalPlayerMixin.java +++ b/common/src/main/java/whocraft/tardis_refined/common/mixin/LocalPlayerMixin.java @@ -4,10 +4,12 @@ import net.minecraft.client.player.LocalPlayer; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; +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 whocraft.tardis_refined.client.TRKeybinds; +import whocraft.tardis_refined.client.overlays.ExteriorViewOverlay; import whocraft.tardis_refined.common.capability.player.TardisPlayerInfo; import whocraft.tardis_refined.common.network.messages.player.ExitTardisViewMessage; @@ -17,6 +19,9 @@ public class LocalPlayerMixin { @Shadow public Input input; + @Unique + private long lastToggleInfoTime = 0; + @Inject(method = "aiStep()V", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/Minecraft;getTutorial()Lnet/minecraft/client/tutorial/Tutorial;")) private void inputEdit(CallbackInfo ci) { LocalPlayer localPlayer = (LocalPlayer) (Object) this; @@ -24,23 +29,29 @@ private void inputEdit(CallbackInfo ci) { } private void handleInput(LocalPlayer localPlayer, Input input) { - TardisPlayerInfo.get(localPlayer).ifPresent(tardisPlayerInfo -> { - if(tardisPlayerInfo.isViewingTardis()){ + if (tardisPlayerInfo.isViewingTardis()) { blockMovement(input); } }); - } - private static void blockMovement(Input moveType) { + private void blockMovement(Input moveType) { // Set all movement-related fields to false or 0.0F to block movement - if(TRKeybinds.EXIT_EXTERIOR_VIEW.isDown()){ + if (TRKeybinds.EXIT_EXTERIOR_VIEW.isDown()) { new ExitTardisViewMessage().send(); return; } + if (TRKeybinds.TOGGLE_INFO_EXTERIOR_VIEW.isDown()) { + long currentTime = System.currentTimeMillis(); + if (currentTime - lastToggleInfoTime >= 500) { + ExteriorViewOverlay.shouldRender = !ExteriorViewOverlay.shouldRender; + lastToggleInfoTime = currentTime; + } + } + moveType.right = false; moveType.left = false; moveType.down = false; @@ -49,5 +60,4 @@ private static void blockMovement(Input moveType) { moveType.shiftKeyDown = false; moveType.leftImpulse = 0.0F; } - -} \ No newline at end of file +} diff --git a/common/src/main/java/whocraft/tardis_refined/common/mixin/MultiplayerGameModeMixin.java b/common/src/main/java/whocraft/tardis_refined/common/mixin/MultiplayerGameModeMixin.java index f381e2d41..6e36ab98a 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/mixin/MultiplayerGameModeMixin.java +++ b/common/src/main/java/whocraft/tardis_refined/common/mixin/MultiplayerGameModeMixin.java @@ -14,16 +14,18 @@ @Mixin(MultiPlayerGameMode.class) public class MultiplayerGameModeMixin { - @Shadow @Final private Minecraft minecraft; + @Shadow + @Final + private Minecraft minecraft; - @Inject(method = "destroyBlock", at = @At("HEAD"), cancellable = true) - public void tr$destroyBlock(BlockPos blockPos, CallbackInfoReturnable cir) { - ClientLevel level = this.minecraft.level; - if (level == null) return; + @Inject(method = "destroyBlock", at = @At("HEAD"), cancellable = true) + public void tr$destroyBlock(BlockPos blockPos, CallbackInfoReturnable cir) { + ClientLevel level = this.minecraft.level; + if (level == null) return; - if (MiscHelper.shouldCancelBreaking(level, null, blockPos, level.getBlockState(blockPos))) { - cir.setReturnValue(false); - cir.cancel(); - } - } + if (MiscHelper.shouldCancelBreaking(level, null, blockPos, level.getBlockState(blockPos))) { + cir.setReturnValue(false); + cir.cancel(); + } + } } diff --git a/common/src/main/java/whocraft/tardis_refined/common/mixin/PlayerEntityMixin.java b/common/src/main/java/whocraft/tardis_refined/common/mixin/PlayerEntityMixin.java index 3ce351e11..45cee885b 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/mixin/PlayerEntityMixin.java +++ b/common/src/main/java/whocraft/tardis_refined/common/mixin/PlayerEntityMixin.java @@ -25,7 +25,7 @@ private void move(Vec3 vec3, CallbackInfo info) { } }); - if(!player.level().isClientSide) return; + if (!player.level().isClientSide) return; GravityClient.moveGravity(player, info); } @@ -33,11 +33,11 @@ private void move(Vec3 vec3, CallbackInfo info) { @Inject(method = "tick()V", at = @At("TAIL")) private void tick(CallbackInfo ci) { Player player = (Player) (Object) this; - if(GravityUtil.isInGravityShaft(player)){ + if (GravityUtil.isInGravityShaft(player)) { player.resetFallDistance(); } - if(player.tickCount % 20 == 0 && !player.level().isClientSide){ + if (player.tickCount % 20 == 0 && !player.level().isClientSide) { TardisPlayerInfo.get(player).ifPresent(tardisPlayerInfo -> { tardisPlayerInfo.syncToClients(null); }); @@ -46,5 +46,4 @@ private void tick(CallbackInfo ci) { } - } diff --git a/common/src/main/java/whocraft/tardis_refined/common/mixin/PlayerRenderMixin.java b/common/src/main/java/whocraft/tardis_refined/common/mixin/PlayerRenderMixin.java index e98606e32..01961f00e 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/mixin/PlayerRenderMixin.java +++ b/common/src/main/java/whocraft/tardis_refined/common/mixin/PlayerRenderMixin.java @@ -19,11 +19,11 @@ public class PlayerRenderMixin { @Inject(method = "render(Lnet/minecraft/client/player/AbstractClientPlayer;FFLcom/mojang/blaze3d/vertex/PoseStack;Lnet/minecraft/client/renderer/MultiBufferSource;I)V", at = @At("HEAD"), cancellable = true) private void render(AbstractClientPlayer abstractClientPlayer, float f, float g, PoseStack poseStack, MultiBufferSource multiBufferSource, int i, CallbackInfo ci) { - TardisPlayerInfo.get(abstractClientPlayer).ifPresent(tardisPlayerInfo -> { - if (tardisPlayerInfo.isViewingTardis()) { - ci.cancel(); - } - }); + TardisPlayerInfo.get(abstractClientPlayer).ifPresent(tardisPlayerInfo -> { + if (tardisPlayerInfo.isViewingTardis()) { + ci.cancel(); + } + }); } diff --git a/common/src/main/java/whocraft/tardis_refined/common/mixin/SpectatorGuiMixin.java b/common/src/main/java/whocraft/tardis_refined/common/mixin/SpectatorGuiMixin.java new file mode 100644 index 000000000..b54f7dd31 --- /dev/null +++ b/common/src/main/java/whocraft/tardis_refined/common/mixin/SpectatorGuiMixin.java @@ -0,0 +1,23 @@ +package whocraft.tardis_refined.common.mixin; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.GuiGraphics; +import net.minecraft.client.gui.components.spectator.SpectatorGui; +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.common.capability.player.TardisPlayerInfo; + +@Mixin(SpectatorGui.class) +public class SpectatorGuiMixin { + + @Inject(method = "renderHotbar(Lnet/minecraft/client/gui/GuiGraphics;)V", at = @At(value = "HEAD"), cancellable = true) + public void renderHotbar(GuiGraphics guiGraphics, CallbackInfo ci) { + TardisPlayerInfo.get(Minecraft.getInstance().player).ifPresent(tardisPlayerInfo -> { + if (tardisPlayerInfo.isViewingTardis()) { + ci.cancel(); + } + }); + } +} diff --git a/common/src/main/java/whocraft/tardis_refined/common/network/MessageS2C.java b/common/src/main/java/whocraft/tardis_refined/common/network/MessageS2C.java index 48d3f9a44..53b5e3967 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/network/MessageS2C.java +++ b/common/src/main/java/whocraft/tardis_refined/common/network/MessageS2C.java @@ -28,11 +28,11 @@ public void sendToAll() { this.getType().getNetworkManager().sendToAllPlayers(this); } - public void sendToTracking(Entity entity){ + public void sendToTracking(Entity entity) { this.getType().getNetworkManager().sendToTracking(entity, this); } - public void sendToTracking(BlockEntity blockEntity){ + public void sendToTracking(BlockEntity blockEntity) { this.getType().getNetworkManager().sendToTracking(blockEntity, this); } 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 733ef1069..6bac15291 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 @@ -18,19 +18,19 @@ public abstract class NetworkManager { - protected final ResourceLocation channelName; public static final Map toServer = new HashMap<>(); + protected final ResourceLocation channelName; protected final Map toClient = new HashMap<>(); + public NetworkManager(ResourceLocation channelName) { + this.channelName = channelName; + } + @ExpectPlatform public static NetworkManager create(ResourceLocation channelName) { throw new AssertionError(); } - public NetworkManager(ResourceLocation channelName) { - this.channelName = channelName; - } - public MessageType registerS2C(String id, MessageDecoder decoder) { var msgType = new MessageType(id, this, decoder, false); this.toClient.put(id, msgType); @@ -54,16 +54,16 @@ public MessageType registerC2S(String id, MessageDecoder decoder) { public abstract void sendToTracking(BlockEntity entity, MessageS2C message); public void sendToDimension(Level level, MessageS2C message) { - if(!level.isClientSide) { + if (!level.isClientSide) { for (Player player : level.players()) { this.sendToPlayer((ServerPlayer) player, message); } } } - public void sendToAllPlayers(MessageS2C message){ + public void sendToAllPlayers(MessageS2C message) { MinecraftServer server = Platform.getServer(); - if(server == null) return; + if (server == null) return; List players = server.getPlayerList().getPlayers(); players.forEach(entry -> sendToPlayer(entry, message)); } diff --git a/common/src/main/java/whocraft/tardis_refined/common/network/TardisNetwork.java b/common/src/main/java/whocraft/tardis_refined/common/network/TardisNetwork.java index 0a57aa69b..f4623a4ed 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/network/TardisNetwork.java +++ b/common/src/main/java/whocraft/tardis_refined/common/network/TardisNetwork.java @@ -7,6 +7,7 @@ import whocraft.tardis_refined.common.network.messages.ChangeShellMessage; import whocraft.tardis_refined.common.network.messages.EjectPlayerFromConsoleMessage; import whocraft.tardis_refined.common.network.messages.hums.ChangeHumMessage; +import whocraft.tardis_refined.common.network.messages.player.EndPlayerVortexSession; import whocraft.tardis_refined.common.network.messages.player.ExitTardisViewMessage; import whocraft.tardis_refined.common.network.messages.player.SyncTardisPlayerInfoMessage; import whocraft.tardis_refined.common.network.messages.screens.C2SRequestShellSelection; @@ -21,8 +22,8 @@ public class TardisNetwork { public static final NetworkManager NETWORK = NetworkManager.create(new ResourceLocation(TardisRefined.MODID, "channel")); - public static MessageType TARDIS_EXIT, OPEN_SHELL_SELECT, SYNC_HUMS, OPEN_WAYPOINTS_DISPLAY, DEL_WAYPOINT, CLIENT_OPEN_COORDS_DISPLAY, SERVER_OPEN_COORDS_DISPLAY, UPGRADE_SCREEN_S2C, - REQUEST_SHELL_C2S, CLIENT_OPEN_COORDS_SCREEN, SERVER_OPEN_COORDS_SCREEN, CLIENT_OPEN_EDIT_COORDS_SCREEN, SERVER_OPEN_EDIT_COORDS_SCREEN, UPLOAD_WAYPOINT, + public static MessageType END_VORTEX_SESSION, TARDIS_EXIT, OPEN_SHELL_SELECT, SYNC_HUMS, OPEN_WAYPOINTS_DISPLAY, DEL_WAYPOINT, CLIENT_OPEN_COORDS_DISPLAY, SERVER_OPEN_COORDS_DISPLAY, UPGRADE_SCREEN_S2C, + REQUEST_SHELL_C2S, CLIENT_OPEN_COORDS_SCREEN, SERVER_OPEN_COORDS_SCREEN, CLIENT_OPEN_EDIT_COORDS_SCREEN, SERVER_OPEN_EDIT_COORDS_SCREEN, UPLOAD_WAYPOINT, EDIT_WAYPOINT, SET_WAYPOINT, CHANGE_HUM, REQUEST_WAYPOINTS, SYNC_DESKTOPS, SYNC_CONSOLE_PATTERNS, SYNC_SHELL_PATTERNS, SYNC_LEVELS, INT_REACTION, OPEN_MONITOR, CHANGE_SHELL, CHANGE_DESKTOP, CANCEL_CHANGE_DESKTOP, UNLOCK_UPGRADE, EJECT_PLAYER, TARDIS_PLAYER_INFO; @@ -42,6 +43,7 @@ public static void init() { SYNC_HUMS = NETWORK.registerS2C("sync_hums", SyncHumsMessage::new); UPGRADE_SCREEN_S2C = NETWORK.registerS2C("upgrade_screen_s2c", S2CDisplayUpgradeScreen::new); TARDIS_PLAYER_INFO = NETWORK.registerS2C("tardis_player_info", SyncTardisPlayerInfoMessage::new); + END_VORTEX_SESSION = NETWORK.registerS2C("end_vortex_session", EndPlayerVortexSession::new); // C2S Messages CHANGE_SHELL = NETWORK.registerC2S("change_shell", ChangeShellMessage::new); diff --git a/common/src/main/java/whocraft/tardis_refined/common/network/messages/ChangeShellMessage.java b/common/src/main/java/whocraft/tardis_refined/common/network/messages/ChangeShellMessage.java index 1aca5db7a..0f74e1392 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/network/messages/ChangeShellMessage.java +++ b/common/src/main/java/whocraft/tardis_refined/common/network/messages/ChangeShellMessage.java @@ -56,7 +56,7 @@ public void toBytes(FriendlyByteBuf buf) { public void handle(MessageContext context) { Optional level = Optional.ofNullable(context.getPlayer().getServer().levels.get(resourceKey)); level.flatMap(TardisLevelOperator::get).ifPresent(y -> { - if(TRUpgrades.CHAMELEON_CIRCUIT_SYSTEM.get().isUnlocked(y.getUpgradeHandler()) && y.getExteriorManager().hasEnoughFuelForShellChange()) { + if (TRUpgrades.CHAMELEON_CIRCUIT_SYSTEM.get().isUnlocked(y.getUpgradeHandler()) && y.getExteriorManager().hasEnoughFuelForShellChange()) { y.setShellTheme(this.shellTheme, pattern.id(), ShellChangeSources.GENERIC_UPDATE); y.getPilotingManager().removeFuel(y.getExteriorManager().getFuelForShellChange()); } else { diff --git a/common/src/main/java/whocraft/tardis_refined/common/network/messages/player/EndPlayerVortexSession.java b/common/src/main/java/whocraft/tardis_refined/common/network/messages/player/EndPlayerVortexSession.java new file mode 100644 index 000000000..32546d51d --- /dev/null +++ b/common/src/main/java/whocraft/tardis_refined/common/network/messages/player/EndPlayerVortexSession.java @@ -0,0 +1,36 @@ +package whocraft.tardis_refined.common.network.messages.player; + +import net.minecraft.network.FriendlyByteBuf; +import org.jetbrains.annotations.NotNull; +import whocraft.tardis_refined.client.TardisClientLogic; +import whocraft.tardis_refined.common.network.MessageContext; +import whocraft.tardis_refined.common.network.MessageS2C; +import whocraft.tardis_refined.common.network.MessageType; +import whocraft.tardis_refined.common.network.TardisNetwork; + +public class EndPlayerVortexSession extends MessageS2C { + + public EndPlayerVortexSession() { + } + + public EndPlayerVortexSession(FriendlyByteBuf friendlyByteBuf) { + } + + + @Override + public @NotNull MessageType getType() { + return TardisNetwork.END_VORTEX_SESSION; + } + + @Override + public void toBytes(FriendlyByteBuf buf) { + + } + + @Override + public void handle(MessageContext context) { + TardisClientLogic.handleClient(); + } + + +} diff --git a/common/src/main/java/whocraft/tardis_refined/common/network/messages/sync/SyncConsolePatternsMessage.java b/common/src/main/java/whocraft/tardis_refined/common/network/messages/sync/SyncConsolePatternsMessage.java index 54d534d5b..2c8eabff5 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/network/messages/sync/SyncConsolePatternsMessage.java +++ b/common/src/main/java/whocraft/tardis_refined/common/network/messages/sync/SyncConsolePatternsMessage.java @@ -17,11 +17,10 @@ import java.util.List; import java.util.Map; -public class SyncConsolePatternsMessage extends MessageS2C{ - - protected Map> patterns = new HashMap<>(); +public class SyncConsolePatternsMessage extends MessageS2C { protected final UnboundedMapCodec> MAPPER = Codec.unboundedMap(ResourceLocation.CODEC, ConsolePattern.CODEC.listOf().xmap(List::copyOf, List::copyOf)); + protected Map> patterns = new HashMap<>(); public SyncConsolePatternsMessage(Map> patterns) { this.patterns = patterns; diff --git a/common/src/main/java/whocraft/tardis_refined/common/network/messages/sync/SyncDesktopsMessage.java b/common/src/main/java/whocraft/tardis_refined/common/network/messages/sync/SyncDesktopsMessage.java index 0e57359ae..ae6975b26 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/network/messages/sync/SyncDesktopsMessage.java +++ b/common/src/main/java/whocraft/tardis_refined/common/network/messages/sync/SyncDesktopsMessage.java @@ -17,10 +17,10 @@ public class SyncDesktopsMessage extends MessageS2C { - private Map desktops = new HashMap<>(); //We use an unboundedMapCodec. However it is limited in that it can only parse objects whose keys can be serialised to a string, such as ResourceLocation //E.g. If you used an int as a key, the unboundedMapCodec will not parse it and will error. private static final Codec> MAPPER = Codec.unboundedMap(ResourceLocation.CODEC, DesktopTheme.getCodec()); + private Map desktops = new HashMap<>(); public SyncDesktopsMessage(Map desktops) { @@ -39,7 +39,7 @@ public MessageType getType() { @Override public void toBytes(FriendlyByteBuf buf) { - buf.writeNbt((CompoundTag)(MAPPER.encodeStart(NbtOps.INSTANCE, this.desktops).result().orElse(new CompoundTag()))); + buf.writeNbt((CompoundTag) (MAPPER.encodeStart(NbtOps.INSTANCE, this.desktops).result().orElse(new CompoundTag()))); } @Override diff --git a/common/src/main/java/whocraft/tardis_refined/common/network/messages/sync/SyncLevelListMessage.java b/common/src/main/java/whocraft/tardis_refined/common/network/messages/sync/SyncLevelListMessage.java index 970fb41f3..763ff37f2 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/network/messages/sync/SyncLevelListMessage.java +++ b/common/src/main/java/whocraft/tardis_refined/common/network/messages/sync/SyncLevelListMessage.java @@ -21,6 +21,11 @@ public SyncLevelListMessage(ResourceKey level, boolean add) { this.add = add; } + public SyncLevelListMessage(FriendlyByteBuf buf) { + this.level = buf.readResourceKey(Registries.DIMENSION); + this.add = buf.readBoolean(); + } + @NotNull @Override public MessageType getType() { @@ -33,11 +38,6 @@ public void toBytes(FriendlyByteBuf buf) { buf.writeBoolean(this.add); } - public SyncLevelListMessage(FriendlyByteBuf buf) { - this.level = buf.readResourceKey(Registries.DIMENSION); - this.add = buf.readBoolean(); - } - @Override public void handle(MessageContext context) { ClientPacketHandler.handleDimSyncPacket(this.level, this.add); diff --git a/common/src/main/java/whocraft/tardis_refined/common/network/messages/sync/SyncShellPatternsMessage.java b/common/src/main/java/whocraft/tardis_refined/common/network/messages/sync/SyncShellPatternsMessage.java index 11403b923..357188b96 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/network/messages/sync/SyncShellPatternsMessage.java +++ b/common/src/main/java/whocraft/tardis_refined/common/network/messages/sync/SyncShellPatternsMessage.java @@ -19,9 +19,8 @@ public class SyncShellPatternsMessage extends MessageS2C { - protected Map> patterns = new HashMap<>(); - protected final UnboundedMapCodec> MAPPER = Codec.unboundedMap(ResourceLocation.CODEC, ShellPattern.CODEC.listOf().xmap(List::copyOf, List::copyOf)); + protected Map> patterns = new HashMap<>(); public SyncShellPatternsMessage(Map> patterns) { this.patterns = patterns; diff --git a/common/src/main/java/whocraft/tardis_refined/common/network/messages/upgrades/S2CDisplayUpgradeScreen.java b/common/src/main/java/whocraft/tardis_refined/common/network/messages/upgrades/S2CDisplayUpgradeScreen.java index a7911fbbf..f57e99b6b 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/network/messages/upgrades/S2CDisplayUpgradeScreen.java +++ b/common/src/main/java/whocraft/tardis_refined/common/network/messages/upgrades/S2CDisplayUpgradeScreen.java @@ -23,6 +23,10 @@ public S2CDisplayUpgradeScreen(FriendlyByteBuf friendlyByteBuf) { compoundTag = friendlyByteBuf.readNbt(); } + @Environment(EnvType.CLIENT) + private static void display(CompoundTag compoundTag) { + ScreenHandler.displayUpgradesScreen(compoundTag); + } @NotNull @Override @@ -35,12 +39,6 @@ public void toBytes(FriendlyByteBuf buf) { buf.writeNbt(compoundTag); } - - @Environment(EnvType.CLIENT) - private static void display(CompoundTag compoundTag) { - ScreenHandler.displayUpgradesScreen(compoundTag); - } - @Override public void handle(MessageContext context) { display(compoundTag); diff --git a/common/src/main/java/whocraft/tardis_refined/common/network/messages/upgrades/UnlockUpgradeMessage.java b/common/src/main/java/whocraft/tardis_refined/common/network/messages/upgrades/UnlockUpgradeMessage.java index 9e69daf93..3ba4803d5 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/network/messages/upgrades/UnlockUpgradeMessage.java +++ b/common/src/main/java/whocraft/tardis_refined/common/network/messages/upgrades/UnlockUpgradeMessage.java @@ -45,7 +45,7 @@ public void handle(MessageContext context) { TardisLevelOperator.get(serverLevel).ifPresent(tardisLevelOperator -> { UpgradeHandler upgradeHandler = tardisLevelOperator.getUpgradeHandler(); boolean available = !upgradeHandler.isUpgradeUnlocked(upgrade) && upgradeHandler.getUpgradePoints() >= upgrade.getSkillPointsRequired(); - if(available){ + if (available) { upgradeHandler.setUpgradePoints(upgradeHandler.getUpgradePoints() - upgrade.getSkillPointsRequired()); upgradeHandler.unlockUpgrade(upgrade); CompoundTag nbt = upgradeHandler.saveData(new CompoundTag()); diff --git a/common/src/main/java/whocraft/tardis_refined/common/network/messages/waypoints/C2SOpenEditCoordinatesDisplayMessage.java b/common/src/main/java/whocraft/tardis_refined/common/network/messages/waypoints/C2SOpenEditCoordinatesDisplayMessage.java index 737909a35..a2fc2cf1b 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/network/messages/waypoints/C2SOpenEditCoordinatesDisplayMessage.java +++ b/common/src/main/java/whocraft/tardis_refined/common/network/messages/waypoints/C2SOpenEditCoordinatesDisplayMessage.java @@ -40,7 +40,8 @@ public void toBytes(FriendlyByteBuf buf) { @Override public void handle(MessageContext context) { - ServerPlayer serverPlayer = context.getPlayer();; + ServerPlayer serverPlayer = context.getPlayer(); + ; ServerLevel level = serverPlayer.serverLevel(); TardisLevelOperator.get(level).ifPresent(tardisLevelOperator -> { TardisWaypointManager waypointManager = tardisLevelOperator.getTardisWaypointManager(); diff --git a/common/src/main/java/whocraft/tardis_refined/common/network/messages/waypoints/RequestWaypointsMessage.java b/common/src/main/java/whocraft/tardis_refined/common/network/messages/waypoints/RequestWaypointsMessage.java index ff70cbfb9..e7d003024 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/network/messages/waypoints/RequestWaypointsMessage.java +++ b/common/src/main/java/whocraft/tardis_refined/common/network/messages/waypoints/RequestWaypointsMessage.java @@ -17,8 +17,11 @@ public class RequestWaypointsMessage extends MessageC2S { - public RequestWaypointsMessage(FriendlyByteBuf friendlyByteBuf){} - public RequestWaypointsMessage(){} + public RequestWaypointsMessage(FriendlyByteBuf friendlyByteBuf) { + } + + public RequestWaypointsMessage() { + } @NotNull @Override diff --git a/common/src/main/java/whocraft/tardis_refined/common/network/messages/waypoints/S2COpenCoordinatesDisplayMessage.java b/common/src/main/java/whocraft/tardis_refined/common/network/messages/waypoints/S2COpenCoordinatesDisplayMessage.java index 997c150d5..b113a6ff2 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/network/messages/waypoints/S2COpenCoordinatesDisplayMessage.java +++ b/common/src/main/java/whocraft/tardis_refined/common/network/messages/waypoints/S2COpenCoordinatesDisplayMessage.java @@ -21,9 +21,9 @@ public class S2COpenCoordinatesDisplayMessage extends MessageS2C { + CoordInputType coordInputType; private TardisNavLocation tardisNavLocation; private List> levels; - CoordInputType coordInputType; public S2COpenCoordinatesDisplayMessage(List> waypoints, CoordInputType coordInputType, TardisNavLocation tardisNavLocation) { this.levels = waypoints; diff --git a/common/src/main/java/whocraft/tardis_refined/common/network/messages/waypoints/UploadWaypointMessage.java b/common/src/main/java/whocraft/tardis_refined/common/network/messages/waypoints/UploadWaypointMessage.java index d99ca721f..8b0a5da2b 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/network/messages/waypoints/UploadWaypointMessage.java +++ b/common/src/main/java/whocraft/tardis_refined/common/network/messages/waypoints/UploadWaypointMessage.java @@ -51,7 +51,7 @@ public void handle(MessageContext context) { ServerLevel serverLevel = player.serverLevel(); TardisLevelOperator.get(serverLevel).ifPresent(tardisLevelOperator -> { - if(coordInputType == CoordInputType.WAYPOINT) { + if (coordInputType == CoordInputType.WAYPOINT) { TardisWaypointManager tardisWaypointManager = tardisLevelOperator.getTardisWaypointManager(); tardisWaypointManager.addWaypoint(tardisNavLocation.copy(), tardisNavLocation.getName()); } else { diff --git a/common/src/main/java/whocraft/tardis_refined/common/notification/NotifiableItem.java b/common/src/main/java/whocraft/tardis_refined/common/notification/NotifiableItem.java index 3584ccdb8..ce7f292de 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/notification/NotifiableItem.java +++ b/common/src/main/java/whocraft/tardis_refined/common/notification/NotifiableItem.java @@ -9,6 +9,6 @@ public interface NotifiableItem { - boolean containsIntendedTardis(ItemStack stack, ResourceKey tardis); + boolean containsIntendedTardis(ItemStack stack, ResourceKey tardis); } diff --git a/common/src/main/java/whocraft/tardis_refined/common/notification/NotificationService.java b/common/src/main/java/whocraft/tardis_refined/common/notification/NotificationService.java index 8374be1a1..dc588dfd3 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/notification/NotificationService.java +++ b/common/src/main/java/whocraft/tardis_refined/common/notification/NotificationService.java @@ -22,5 +22,4 @@ public static boolean canPlayerBeNotified(Player player, ResourceKey tard } - } diff --git a/common/src/main/java/whocraft/tardis_refined/common/protection/ProtectedZone.java b/common/src/main/java/whocraft/tardis_refined/common/protection/ProtectedZone.java index 01651491e..f01251ecc 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/protection/ProtectedZone.java +++ b/common/src/main/java/whocraft/tardis_refined/common/protection/ProtectedZone.java @@ -11,6 +11,17 @@ public class ProtectedZone { private String name = ""; + public ProtectedZone(BlockPos topCorner, BlockPos bottomCorner) { + this.topCorner = topCorner; + this.bottomCorner = bottomCorner; + } + + public ProtectedZone(BlockPos topCorner, BlockPos bottomCorner, String name) { + this.topCorner = topCorner; + this.bottomCorner = bottomCorner; + this.name = name; + } + public boolean isAllowPlacement() { return allowPlacement; } @@ -29,21 +40,10 @@ public ProtectedZone setAllowBreaking(boolean allowBreaking) { return this; } - public ProtectedZone(BlockPos topCorner, BlockPos bottomCorner) { - this.topCorner = topCorner; - this.bottomCorner = bottomCorner; - } - public String getName() { return name; } - public ProtectedZone(BlockPos topCorner, BlockPos bottomCorner, String name) { - this.topCorner = topCorner; - this.bottomCorner = bottomCorner; - this.name = name; - } - public AABB getArea() { return new AABB(topCorner, bottomCorner); } 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 3ab2001ed..cbcc65c0b 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 @@ -22,7 +22,7 @@ public class 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 final BlockPos EYE_OF_HARMONY_PLACEMENT = new BlockPos(991, 41, 31); public static String currentArsStage = "one"; @@ -82,7 +82,7 @@ public static void buildAirlockEntranceFromStructure(StructureTemplate template, } } } - + public static void generateArsTree(TardisLevelOperator tardisLevelOperator, ServerLevel level) { if (!currentArsStage.equals("one") && Objects.equals(tardisLevelOperator.getUpgradeHandler().getProgressLevel(), currentArsStage)) return; 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 9d29eb5cf..531101e41 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 @@ -15,21 +15,23 @@ */ public class TardisDesktops { - private static final CodecJsonReloadListener RELOAD_LISTENER = createReloadListener(); - - private static Map DEFAULT_DESKTOPS = new HashMap<>(); - - /** 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.*/ + /** + * 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. + */ public static final DesktopTheme DEFAULT_OVERGROWN_THEME = new DesktopTheme("default_overgrown", "cave/cave_generation_one"); - - /** A reference to the default Factory theme, intended for convenience.
DO NOT REGISTER THIS, it has already been included in the default list of desktops.*/ + /** + * A reference to the default Factory theme, intended for convenience.
DO NOT REGISTER THIS, it has already been included in the default list of desktops. + */ public static final DesktopTheme FACTORY_THEME = new DesktopTheme("factory", "desktop/factory"); public static final DesktopTheme TERRAFORMED = new DesktopTheme("terraformed", "desktop/terraformed"); + private static final CodecJsonReloadListener RELOAD_LISTENER = createReloadListener(); + private static Map DEFAULT_DESKTOPS = new HashMap<>(); /** * A factory method to create the instance of our reload listener. *
The TardisDesktops class itself is not a reload listener because the CodecJsonReloadListener needs platform specific implementations. *
That introduces side effects associated with generic types and the ExpectPlatform annotation, so we manually call this factory method to create an instance. + * * @return */ private static CodecJsonReloadListener createReloadListener() { @@ -37,11 +39,11 @@ private static CodecJsonReloadListener createReloadListener() { return instance; } - public static CodecJsonReloadListener getReloadListener(){ + public static CodecJsonReloadListener getReloadListener() { return RELOAD_LISTENER; } - public static Map getRegistry() { + public static Map getRegistry() { return RELOAD_LISTENER.getData(); } @@ -52,9 +54,10 @@ 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() { + public static Map registerDefaultDesktops() { DEFAULT_DESKTOPS.clear(); addDefaultDesktop(new DesktopTheme("arnet", "desktop/arnet")); addDefaultDesktop(new DesktopTheme("copper", "desktop/copper")); @@ -73,7 +76,7 @@ public static Map registerDefaultDesktops() { addDefaultDesktop(new DesktopTheme("refurbished", "desktop/refurbished")); addDefaultDesktop(new DesktopTheme("toyota", "desktop/toyota")); addDefaultDesktop(new DesktopTheme("vapor", "desktop/vapor")); - addDefaultDesktop(new DesktopTheme("victorian","desktop/victorian")); + addDefaultDesktop(new DesktopTheme("victorian", "desktop/victorian")); addDefaultDesktop(new DesktopTheme("violet_eye", "desktop/violet_eye")); addDefaultDesktop(new DesktopTheme("watchface", "desktop/watchface")); addDefaultDesktop(new DesktopTheme("classic", "desktop/classic")); @@ -87,8 +90,10 @@ private static void addDefaultDesktop(DesktopTheme theme) { DEFAULT_DESKTOPS.put(theme.getIdentifier(), theme); } - /** Gets a default list of Desktops added by Tardis Refined. Useful as a fallback list.*/ - public static Map getDefaultDesktops(){ + /** + * Gets a default list of Desktops added by Tardis Refined. Useful as a fallback list. + */ + public static Map getDefaultDesktops() { return DEFAULT_DESKTOPS; } 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 ac35f3e9c..b3c334e69 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 @@ -13,11 +13,10 @@ /** * TardisNavLocation * Co-ordinates that represent position, rotation, level and name. - * **/ + **/ public class TardisNavLocation { - public static final TardisNavLocation ORIGIN = new TardisNavLocation(BlockPos.ZERO, Direction.NORTH, Level.OVERWORLD); private BlockPos position; @@ -29,10 +28,10 @@ public class TardisNavLocation { private String name = ""; /** - * @param position World co-ordinate + * @param position World co-ordinate * @param direction Rotation/Facing direction. - * @param level ResourceKey of the desired level. - * **/ + * @param level ResourceKey of the desired level. + **/ public TardisNavLocation(BlockPos position, Direction direction, ServerLevel level) { this.position = position; this.direction = direction; @@ -47,6 +46,7 @@ public TardisNavLocation(BlockPos position, Direction direction, ServerLevel lev *
Alternate Constructor ONLY for static references. *
DO NOT use for logic E.g. Using methods from the Level instance *
This is because this version doesn't have a {@link Level} reference + * * @param position * @param direction * @param level @@ -57,6 +57,14 @@ public TardisNavLocation(BlockPos position, Direction direction, ResourceKey dimensionKey) { - this.dimensionKey = dimensionKey; - } - public void setLevel(ServerLevel level) { this.dimensionKey = level.dimension(); this.level = level; @@ -79,6 +83,10 @@ public ResourceKey getDimensionKey() { return dimensionKey; } + public void setDimensionKey(ResourceKey dimensionKey) { + this.dimensionKey = dimensionKey; + } + public BlockPos getPosition() { return position; } @@ -105,14 +113,6 @@ public void setName(String name) { this.name = name; } - public static TardisNavLocation deserialize(CompoundTag tag) { - TardisNavLocation loc = new TardisNavLocation(BlockPos.of(tag.getLong("pos")), Direction.values()[tag.getInt("dir")], ResourceKey.create(Registries.DIMENSION, new ResourceLocation(tag.getString("dim")))); - - if (tag.contains("name")) - loc.setName(tag.getString("name")); - return loc; - } - public CompoundTag serialise() { CompoundTag tag = new CompoundTag(); tag.putLong("pos", this.position.asLong()); @@ -122,19 +122,19 @@ public CompoundTag serialise() { return tag; } - public BlockPos setX(int x){ + public BlockPos setX(int x) { BlockPos blockPos = new BlockPos(x, position.getY(), position.getZ()); position = blockPos; return position; } - public BlockPos setY(int y){ + public BlockPos setY(int y) { BlockPos blockPos = new BlockPos(position.getX(), y, position.getZ()); position = blockPos; return position; } - public BlockPos setZ(int z){ + public BlockPos setZ(int z) { BlockPos blockPos = new BlockPos(position.getX(), position.getY(), z); position = blockPos; return position; diff --git a/common/src/main/java/whocraft/tardis_refined/common/tardis/TardisWaypoint.java b/common/src/main/java/whocraft/tardis_refined/common/tardis/TardisWaypoint.java index a07b65fd1..e6a4a3411 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/tardis/TardisWaypoint.java +++ b/common/src/main/java/whocraft/tardis_refined/common/tardis/TardisWaypoint.java @@ -19,6 +19,15 @@ public TardisWaypoint(UUID id, TardisNavLocation location) { this.location = location; } + public static TardisWaypoint deserialise(CompoundTag tag) { + TardisNavLocation loc = TardisNavLocation.deserialize(tag.getCompound("location")); + UUID id = tag.getUUID("id"); + + TardisWaypoint waypoint = new TardisWaypoint(id, loc); + + return waypoint; + } + public UUID getId() { return id; } @@ -31,15 +40,6 @@ public void setLocation(TardisNavLocation location) { this.location = location; } - public static TardisWaypoint deserialise(CompoundTag tag) { - TardisNavLocation loc = TardisNavLocation.deserialize(tag.getCompound("location")); - UUID id = tag.getUUID("id"); - - TardisWaypoint waypoint = new TardisWaypoint(id, loc); - - return waypoint; - } - public CompoundTag serialise() { CompoundTag tag = new CompoundTag(); tag.put("location", this.location.serialise()); diff --git a/common/src/main/java/whocraft/tardis_refined/common/tardis/control/Control.java b/common/src/main/java/whocraft/tardis_refined/common/tardis/control/Control.java index 2457e48ba..ddf60f03a 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/tardis/control/Control.java +++ b/common/src/main/java/whocraft/tardis_refined/common/tardis/control/Control.java @@ -18,90 +18,98 @@ public abstract class Control { protected final ResourceLocation id; protected final String langId; - /** Determines if this Control should be used for the FlightDance. This can be expanded to be used for other purposes in the future.*/ + /** + * Determines if this Control should be used for the FlightDance. This can be expanded to be used for other purposes in the future. + */ private boolean isCriticalForTardisOperation = false; + private ConfiguredSound successSound = new ConfiguredSound(SoundEvents.ARROW_HIT_PLAYER); + private ConfiguredSound failSound = new ConfiguredSound(SoundEvents.ITEM_BREAK); - protected Control(ResourceLocation id, String langId, boolean isCriticalForTardisOperation){ + protected Control(ResourceLocation id, String langId, boolean isCriticalForTardisOperation) { this.id = id; this.langId = langId; this.isCriticalForTardisOperation = isCriticalForTardisOperation; } - protected Control(ResourceLocation id, String langId){ + + protected Control(ResourceLocation id, String langId) { this(id, langId, false); } - protected Control(ResourceLocation id, boolean isCriticalForTardisOperation){ + protected Control(ResourceLocation id, boolean isCriticalForTardisOperation) { this(id, "control." + id.getNamespace() + "." + id.getPath(), isCriticalForTardisOperation); } - - protected Control(ResourceLocation id){ + protected Control(ResourceLocation id) { this(id, false); } - private ConfiguredSound successSound = new ConfiguredSound(SoundEvents.ARROW_HIT_PLAYER); - private ConfiguredSound failSound = new ConfiguredSound(SoundEvents.ITEM_BREAK); - public abstract boolean onLeftClick(TardisLevelOperator operator, ConsoleTheme theme, ControlEntity controlEntity, Player player); public abstract boolean onRightClick(TardisLevelOperator operator, ConsoleTheme theme, ControlEntity controlEntity, Player player); - /** The sound event to be played when the control fails to activate*/ - public ConfiguredSound getFailSound(TardisLevelOperator operator, ConsoleTheme theme, boolean leftClick){ + /** + * The sound event to be played when the control fails to activate + */ + public ConfiguredSound getFailSound(TardisLevelOperator operator, ConsoleTheme theme, boolean leftClick) { return this.failSound; } /** * Directly set the fail sound event to be used in special scenarios + * * @param failSound */ - public void setFailSound(ConfiguredSound failSound){ + public void setFailSound(ConfiguredSound failSound) { this.failSound = failSound; } - public ConfiguredSound getSuccessSound(TardisLevelOperator operator, ConsoleTheme theme, boolean leftClick){ + public ConfiguredSound getSuccessSound(TardisLevelOperator operator, ConsoleTheme theme, boolean leftClick) { ConsolePattern pattern = ConsolePatterns.DEFAULT; GlobalConsoleBlockEntity consoleBlockEntity = operator.getPilotingManager().getCurrentConsole(); - if (consoleBlockEntity != null){ + if (consoleBlockEntity != null) { pattern = consoleBlockEntity.pattern(); } - var pitchedSound = (leftClick) ? pattern.soundProfile().get().getGeneric().leftClick(): pattern.soundProfile().get().getGeneric().rightClick(); - if (pitchedSound != null){ + var pitchedSound = (leftClick) ? pattern.soundProfile().get().getGeneric().leftClick() : pattern.soundProfile().get().getGeneric().rightClick(); + if (pitchedSound != null) { this.successSound = pitchedSound; } return this.successSound; } - /**Directly set the success sound event to be used in special scenario + /** + * Directly set the success sound event to be used in special scenario * * @param successSound */ - public void setSuccessSound(ConfiguredSound successSound){ + public void setSuccessSound(ConfiguredSound successSound) { this.successSound = successSound; } - public void playControlConfiguredSound(TardisLevelOperator operator, ControlEntity controlEntity, ConfiguredSound pitchedSound, SoundSource source, float volume, float pitch, boolean ignorePitch){ + public void playControlConfiguredSound(TardisLevelOperator operator, ControlEntity controlEntity, ConfiguredSound pitchedSound, SoundSource source, float volume, float pitch, boolean ignorePitch) { controlEntity.level().playSound(null, controlEntity.blockPosition(), pitchedSound.getSoundEvent(), source, volume, ignorePitch ? pitch : pitchedSound.getPitch()); } - public void playControlConfiguredSound(TardisLevelOperator operator, ControlEntity controlEntity, ConfiguredSound pitchedSound, float pitch){ + public void playControlConfiguredSound(TardisLevelOperator operator, ControlEntity controlEntity, ConfiguredSound pitchedSound, float pitch) { this.playControlConfiguredSound(operator, controlEntity, pitchedSound, SoundSource.BLOCKS, pitchedSound.getVolume(), pitch, true); } - public void playControlConfiguredSound(TardisLevelOperator operator, ControlEntity controlEntity, ConfiguredSound pitchedSound){ + public void playControlConfiguredSound(TardisLevelOperator operator, ControlEntity controlEntity, ConfiguredSound pitchedSound) { this.playControlConfiguredSound(operator, controlEntity, pitchedSound, SoundSource.BLOCKS, 1F, 1F, false); } - public boolean canUseControl(TardisLevelOperator tardisLevelOperator, Control control, ControlEntity controlEntity){ + public boolean canUseControl(TardisLevelOperator tardisLevelOperator, Control control, ControlEntity controlEntity) { boolean isDeskopWaiting = controlEntity.isDesktopWaitingToGenerate(tardisLevelOperator); return !isDeskopWaiting && TardisCommonEvents.PLAYER_CONTROL_INTERACT.invoker().canControlBeUsed(tardisLevelOperator, control, controlEntity) == EventResult.pass(); } - public ResourceLocation getId(){ + public ResourceLocation getId() { return this.id; } - public String getTranslationKey() {return this.langId;} + + public String getTranslationKey() { + return this.langId; + } @Override public boolean equals(Object o) { @@ -117,7 +125,10 @@ public boolean equals(Object o) { public int hashCode() { return getId().hashCode(); } - /** Determines if the Control will have a custom name that will display other information. E.g. Monitor control shows flight progress*/ + + /** + * Determines if the Control will have a custom name that will display other information. E.g. Monitor control shows flight progress + */ public boolean hasCustomName() { return false; } @@ -126,8 +137,10 @@ public Component getCustomControlName(TardisLevelOperator operator, ControlEntit return Component.translatable(controlSpecification.control().getTranslationKey()); } - /** Determines if this Control should be used for the FlightDance. - *
This can be expanded to be used for other purposes in the future. + /** + * Determines if this Control should be used for the FlightDance. + *
This can be expanded to be used for other purposes in the future. + * * @return true if shouldn't be included in FlightDance, false if allowed to be included in FlightDance. */ public boolean isCriticalForTardisOperation() { diff --git a/common/src/main/java/whocraft/tardis_refined/common/tardis/control/ExteriorDisplayControl.java b/common/src/main/java/whocraft/tardis_refined/common/tardis/control/ExteriorDisplayControl.java index 3c961a713..616023381 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/tardis/control/ExteriorDisplayControl.java +++ b/common/src/main/java/whocraft/tardis_refined/common/tardis/control/ExteriorDisplayControl.java @@ -23,7 +23,7 @@ public ExteriorDisplayControl(ResourceLocation id) { @Override public boolean onLeftClick(TardisLevelOperator operator, ConsoleTheme theme, ControlEntity controlEntity, Player player) { - if(player instanceof ServerPlayer serverPlayer){ + if (player instanceof ServerPlayer serverPlayer) { sendPacket(serverPlayer, operator); } return true; @@ -32,14 +32,14 @@ public boolean onLeftClick(TardisLevelOperator operator, ConsoleTheme theme, Con private void sendPacket(ServerPlayer player, TardisLevelOperator tardisLevelOperator) { // new OpenShellSelectionScreen(tardisLevelOperator.getAestheticHandler().getShellTheme()).send(player); TardisPlayerInfo.get(player).ifPresent(tardisInfo -> - tardisInfo.setupPlayerForInspection(player, tardisLevelOperator, tardisLevelOperator.getPilotingManager().isInFlight() ? tardisLevelOperator.getPilotingManager().getTargetLocation() :tardisLevelOperator.getPilotingManager().getCurrentLocation()) + tardisInfo.setupPlayerForInspection(player, tardisLevelOperator, tardisLevelOperator.getPilotingManager().isTakingOff() ? tardisLevelOperator.getPilotingManager().getCurrentLocation() : tardisLevelOperator.getPilotingManager().getTargetLocation(), !tardisLevelOperator.getPilotingManager().isTakingOff()) ); } @Override public boolean onRightClick(TardisLevelOperator operator, ConsoleTheme theme, ControlEntity controlEntity, Player player) { - if(player instanceof ServerPlayer serverPlayer){ + if (player instanceof ServerPlayer serverPlayer) { sendPacket(serverPlayer, operator); } return true; 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 9a7720c10..4d00a8b06 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 @@ -28,9 +28,11 @@ public class DimensionalControl extends Control { public DimensionalControl(ResourceLocation id) { super(id); } - public DimensionalControl(ResourceLocation id, String langId){ + + public DimensionalControl(ResourceLocation id, String langId) { super(id, langId); } + private List getAllowedDimensions(MinecraftServer server) { var filteredDimensions = new ArrayList(); var filteredLevels = server.getAllLevels(); @@ -60,7 +62,7 @@ private boolean changeDim(TardisLevelOperator operator, ConsoleTheme theme, Cont TardisPilotingManager pilotManager = operator.getPilotingManager(); UpgradeHandler upgradeHandler = operator.getUpgradeHandler(); - if(!TRUpgrades.DIMENSION_TRAVEL.get().isUnlocked(upgradeHandler)){ + if (!TRUpgrades.DIMENSION_TRAVEL.get().isUnlocked(upgradeHandler)) { PlayerUtil.sendMessage(player, Component.translatable(ModMessages.HARDWARE_OFFLINE), true); pilotManager.getTargetLocation().setDimensionKey(OVERWORLD); return false; @@ -69,7 +71,7 @@ private boolean changeDim(TardisLevelOperator operator, ConsoleTheme theme, Cont var server = operator.getLevel().getServer(); var dimensions = getAllowedDimensions(server); var currentIndex = dimensions.indexOf(pilotManager.getTargetLocation().getLevel()); - var nextIndex = forward ? ( (currentIndex >= dimensions.size()-1) ? 0 : currentIndex + 1) : ((currentIndex <= 0) ? dimensions.size() - 1 : currentIndex - 1); + var nextIndex = forward ? ((currentIndex >= dimensions.size() - 1) ? 0 : currentIndex + 1) : ((currentIndex <= 0) ? dimensions.size() - 1 : currentIndex - 1); var nextDimension = dimensions.get(nextIndex); diff --git a/common/src/main/java/whocraft/tardis_refined/common/tardis/control/flight/FastReturnControl.java b/common/src/main/java/whocraft/tardis_refined/common/tardis/control/flight/FastReturnControl.java index 0dffb4671..7ebdbd89b 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/tardis/control/flight/FastReturnControl.java +++ b/common/src/main/java/whocraft/tardis_refined/common/tardis/control/flight/FastReturnControl.java @@ -14,7 +14,8 @@ public class FastReturnControl extends Control { public FastReturnControl(ResourceLocation id) { super(id); } - public FastReturnControl(ResourceLocation id, String langId){ + + public FastReturnControl(ResourceLocation id, String langId) { super(id, langId); } @@ -25,7 +26,7 @@ public boolean onLeftClick(TardisLevelOperator operator, ConsoleTheme theme, Con @Override public boolean onRightClick(TardisLevelOperator operator, ConsoleTheme theme, ControlEntity controlEntity, Player player) { - if (!operator.getLevel().isClientSide()){ + if (!operator.getLevel().isClientSide()) { TardisPilotingManager pilotManager = operator.getPilotingManager(); if (pilotManager.preloadFastReturn()) { return true; @@ -35,6 +36,7 @@ public boolean onRightClick(TardisLevelOperator operator, ConsoleTheme theme, Co } return false; } + @Override public ConfiguredSound getFailSound(TardisLevelOperator operator, ConsoleTheme theme, boolean leftClick) { return new ConfiguredSound(SoundEvents.NOTE_BLOCK_BIT.value(), 1F); diff --git a/common/src/main/java/whocraft/tardis_refined/common/tardis/control/flight/FuelToggleControl.java b/common/src/main/java/whocraft/tardis_refined/common/tardis/control/flight/FuelToggleControl.java index 67058bca4..6bcdbedeb 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/tardis/control/flight/FuelToggleControl.java +++ b/common/src/main/java/whocraft/tardis_refined/common/tardis/control/flight/FuelToggleControl.java @@ -17,21 +17,20 @@ public class FuelToggleControl extends Control { public FuelToggleControl(ResourceLocation id) { super(id); } - public FuelToggleControl(ResourceLocation id, String langId){ + + public FuelToggleControl(ResourceLocation id, String langId) { super(id, langId); } @Override public boolean onRightClick(TardisLevelOperator operator, ConsoleTheme theme, ControlEntity controlEntity, Player player) { - if (!operator.getLevel().isClientSide()){ + if (!operator.getLevel().isClientSide()) { if (operator.getTardisState() != TardisLevelOperator.STATE_EYE_OF_HARMONY) { return false; } TardisPilotingManager pilotManager = operator.getPilotingManager(); - - boolean successful = pilotManager.setPassivelyRefuelling(!pilotManager.isPassivelyRefuelling()); if (successful) { @@ -61,9 +60,9 @@ public Component getCustomControlName(TardisLevelOperator operator, ControlEntit boolean offline = operator.getTardisState() != TardisLevelOperator.STATE_EYE_OF_HARMONY; if (offline) { - return Component.translatable( ModMessages.FUEL_OFFLINE); + return Component.translatable(ModMessages.FUEL_OFFLINE); } - return Component.translatable( ModMessages.FUEL).append(String.valueOf((Math.round((operator.getPilotingManager().getFuelPercentage() * 100))))).append("%"); + return Component.translatable(ModMessages.FUEL, String.valueOf((Math.round((operator.getPilotingManager().getFuelPercentage() * 100))))).append("%"); } } diff --git a/common/src/main/java/whocraft/tardis_refined/common/tardis/control/flight/GenericControl.java b/common/src/main/java/whocraft/tardis_refined/common/tardis/control/flight/GenericControl.java index 82653b08c..1f13772d4 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/tardis/control/flight/GenericControl.java +++ b/common/src/main/java/whocraft/tardis_refined/common/tardis/control/flight/GenericControl.java @@ -11,7 +11,8 @@ public class GenericControl extends Control { public GenericControl(ResourceLocation id) { super(id); } - public GenericControl(ResourceLocation id, String langId){ + + public GenericControl(ResourceLocation id, String langId) { super(id, langId); } diff --git a/common/src/main/java/whocraft/tardis_refined/common/tardis/control/flight/HandbrakeControl.java b/common/src/main/java/whocraft/tardis_refined/common/tardis/control/flight/HandbrakeControl.java index 0c56eddbe..6cd51d502 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/tardis/control/flight/HandbrakeControl.java +++ b/common/src/main/java/whocraft/tardis_refined/common/tardis/control/flight/HandbrakeControl.java @@ -14,7 +14,8 @@ public class HandbrakeControl extends Control { public HandbrakeControl(ResourceLocation id) { super(id, true); } - public HandbrakeControl(ResourceLocation id, String langId){ + + public HandbrakeControl(ResourceLocation id, String langId) { super(id, langId, true); } @@ -29,7 +30,7 @@ public boolean onLeftClick(TardisLevelOperator operator, ConsoleTheme theme, Con } operator.getPilotingManager().setHandbrakeOn(true); - PlayerUtil.sendMessage(player, Component.translatable(operator.getPilotingManager().isHandbrakeOn() ? ModMessages.HANDBRAKE_ENGAGED : ModMessages.HANDBRAKE_DISENGAGED), true); + PlayerUtil.sendMessage(player, Component.translatable(operator.getPilotingManager().isHandbrakeOn() ? ModMessages.HANDBRAKE_ENGAGED : ModMessages.HANDBRAKE_DISENGAGED), true); return true; } @@ -40,11 +41,11 @@ public boolean onLeftClick(TardisLevelOperator operator, ConsoleTheme theme, Con public boolean onRightClick(TardisLevelOperator operator, ConsoleTheme theme, ControlEntity controlEntity, Player player) { if (operator.getPilotingManager().isInFlight()) { - PlayerUtil.sendMessage(player, Component.translatable( ModMessages.HANDBRAKE_WARNING), true); + PlayerUtil.sendMessage(player, Component.translatable(ModMessages.HANDBRAKE_WARNING), true); return false; } else { operator.getPilotingManager().setHandbrakeOn(!operator.getPilotingManager().isHandbrakeOn()); - PlayerUtil.sendMessage(player, Component.translatable(operator.getPilotingManager().isHandbrakeOn() ? ModMessages.HANDBRAKE_ENGAGED : ModMessages.HANDBRAKE_DISENGAGED), true); + PlayerUtil.sendMessage(player, Component.translatable(operator.getPilotingManager().isHandbrakeOn() ? ModMessages.HANDBRAKE_ENGAGED : ModMessages.HANDBRAKE_DISENGAGED), true); return true; } } diff --git a/common/src/main/java/whocraft/tardis_refined/common/tardis/control/flight/IncrementControl.java b/common/src/main/java/whocraft/tardis_refined/common/tardis/control/flight/IncrementControl.java index c3f3beb34..3e7017d8e 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/tardis/control/flight/IncrementControl.java +++ b/common/src/main/java/whocraft/tardis_refined/common/tardis/control/flight/IncrementControl.java @@ -14,9 +14,11 @@ public class IncrementControl extends Control { public IncrementControl(ResourceLocation id) { super(id); } - public IncrementControl(ResourceLocation id, String langId){ + + public IncrementControl(ResourceLocation id, String langId) { super(id, langId); } + @Override public boolean onRightClick(TardisLevelOperator operator, ConsoleTheme theme, ControlEntity controlEntity, Player player) { return this.incrementCoord(operator, theme, controlEntity, player, 1); @@ -27,8 +29,8 @@ public boolean onLeftClick(TardisLevelOperator operator, ConsoleTheme theme, Con return this.incrementCoord(operator, theme, controlEntity, player, -1); } - private boolean incrementCoord(TardisLevelOperator operator, ConsoleTheme theme, ControlEntity controlEntity, Player player, int incAmount){ - if (!operator.getLevel().isClientSide()){ + private boolean incrementCoord(TardisLevelOperator operator, ConsoleTheme theme, ControlEntity controlEntity, Player player, int incAmount) { + if (!operator.getLevel().isClientSide()) { TardisPilotingManager pilotManager = operator.getPilotingManager(); pilotManager.cycleCordIncrement(incAmount); int currentIncAmount = pilotManager.getCordIncrement(); diff --git a/common/src/main/java/whocraft/tardis_refined/common/tardis/control/flight/RandomControl.java b/common/src/main/java/whocraft/tardis_refined/common/tardis/control/flight/RandomControl.java index c4689f74e..043747c31 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/tardis/control/flight/RandomControl.java +++ b/common/src/main/java/whocraft/tardis_refined/common/tardis/control/flight/RandomControl.java @@ -15,21 +15,22 @@ public class RandomControl extends Control { public RandomControl(ResourceLocation id) { super(id); } - public RandomControl(ResourceLocation id, String langId){ + + public RandomControl(ResourceLocation id, String langId) { super(id, langId); } @Override public boolean onRightClick(TardisLevelOperator operator, ConsoleTheme theme, ControlEntity controlEntity, Player player) { - if (!operator.getLevel().isClientSide()){ + if (!operator.getLevel().isClientSide()) { TardisPilotingManager pilotManager = operator.getPilotingManager(); int increment = pilotManager.getCordIncrement(); BlockPos currentExLoc = operator.getPilotingManager().getCurrentLocation().getPosition(); pilotManager.getTargetLocation().setPosition( - new BlockPos((currentExLoc.getX() - (increment / 2)) + operator.getLevel().random.nextInt(increment * 2), + new BlockPos((currentExLoc.getX() - (increment / 2)) + operator.getLevel().random.nextInt(increment * 2), 150, - (currentExLoc.getZ() - (increment / 2)) + operator.getLevel().random.nextInt(increment * 2) + (currentExLoc.getZ() - (increment / 2)) + operator.getLevel().random.nextInt(increment * 2) ) ); diff --git a/common/src/main/java/whocraft/tardis_refined/common/tardis/control/flight/ReadoutControl.java b/common/src/main/java/whocraft/tardis_refined/common/tardis/control/flight/ReadoutControl.java index 514fb5661..080fde368 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/tardis/control/flight/ReadoutControl.java +++ b/common/src/main/java/whocraft/tardis_refined/common/tardis/control/flight/ReadoutControl.java @@ -15,7 +15,8 @@ public class ReadoutControl extends Control { public ReadoutControl(ResourceLocation id) { super(id); } - public ReadoutControl(ResourceLocation id, String langId){ + + public ReadoutControl(ResourceLocation id, String langId) { super(id, langId); } @@ -23,7 +24,7 @@ public ReadoutControl(ResourceLocation id, String langId){ public boolean onLeftClick(TardisLevelOperator operator, ConsoleTheme theme, ControlEntity controlEntity, Player player) { TardisNavLocation currentPosition = operator.getPilotingManager().getCurrentLocation(); - PlayerUtil.sendMessage(player, Component.translatable(ModMessages.CURRENT).append( " - X: " + currentPosition.getPosition().getX() + " Y: " + currentPosition.getPosition().getY()+ " Z: " + currentPosition.getPosition().getZ() + " F: " + currentPosition.getDirection().getName() + " D: " + currentPosition.getDimensionKey().location().getPath()), true); + PlayerUtil.sendMessage(player, Component.translatable(ModMessages.CURRENT).append(" - X: " + currentPosition.getPosition().getX() + " Y: " + currentPosition.getPosition().getY() + " Z: " + currentPosition.getPosition().getZ() + " F: " + currentPosition.getDirection().getName() + " D: " + currentPosition.getDimensionKey().location().getPath()), true); return true; @@ -33,7 +34,7 @@ public boolean onLeftClick(TardisLevelOperator operator, ConsoleTheme theme, Con public boolean onRightClick(TardisLevelOperator operator, ConsoleTheme theme, ControlEntity controlEntity, Player player) { TardisNavLocation targetLocation = operator.getPilotingManager().getTargetLocation(); - PlayerUtil.sendMessage(player, Component.translatable(ModMessages.DESTINATION).append(" - X: " + targetLocation.getPosition().getX() + " Y: " + targetLocation.getPosition().getY()+ " Z: " + targetLocation.getPosition().getZ() + " F: " + targetLocation.getDirection().getName() + " D: " + targetLocation.getDimensionKey().location().getPath()), true); + PlayerUtil.sendMessage(player, Component.translatable(ModMessages.DESTINATION).append(" - X: " + targetLocation.getPosition().getX() + " Y: " + targetLocation.getPosition().getY() + " Z: " + targetLocation.getPosition().getZ() + " F: " + targetLocation.getDirection().getName() + " D: " + targetLocation.getDimensionKey().location().getPath()), true); return true; } diff --git a/common/src/main/java/whocraft/tardis_refined/common/tardis/control/flight/RotationControl.java b/common/src/main/java/whocraft/tardis_refined/common/tardis/control/flight/RotationControl.java index 5ff9ea6bb..d1229b2ff 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/tardis/control/flight/RotationControl.java +++ b/common/src/main/java/whocraft/tardis_refined/common/tardis/control/flight/RotationControl.java @@ -15,7 +15,8 @@ public class RotationControl extends Control { public RotationControl(ResourceLocation id) { super(id); } - public RotationControl(ResourceLocation id, String langId){ + + public RotationControl(ResourceLocation id, String langId) { super(id, langId); } @@ -29,7 +30,7 @@ public boolean onLeftClick(TardisLevelOperator operator, ConsoleTheme theme, Con return this.rotateDir(operator, theme, controlEntity, player, false); } - private boolean rotateDir(TardisLevelOperator operator, ConsoleTheme theme, ControlEntity controlEntity, Player player, boolean clockwise){ + private boolean rotateDir(TardisLevelOperator operator, ConsoleTheme theme, ControlEntity controlEntity, Player player, boolean clockwise) { if (!operator.getLevel().isClientSide()) { TardisPilotingManager pilotManager = operator.getPilotingManager(); diff --git a/common/src/main/java/whocraft/tardis_refined/common/tardis/control/flight/ThrottleControl.java b/common/src/main/java/whocraft/tardis_refined/common/tardis/control/flight/ThrottleControl.java index b849f8de7..7935924fd 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/tardis/control/flight/ThrottleControl.java +++ b/common/src/main/java/whocraft/tardis_refined/common/tardis/control/flight/ThrottleControl.java @@ -12,7 +12,8 @@ public class ThrottleControl extends Control { public ThrottleControl(ResourceLocation id) { super(id, true); } - public ThrottleControl(ResourceLocation id, String langId){ + + public ThrottleControl(ResourceLocation id, String langId) { super(id, langId, 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 f994f1a4a..0f64b5b69 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 @@ -19,13 +19,14 @@ public class MonitorControl extends Control { public MonitorControl(ResourceLocation id) { super(id, true); } - public MonitorControl(ResourceLocation id, String langId){ + + public MonitorControl(ResourceLocation id, String langId) { super(id, langId, true); } @Override public boolean onRightClick(TardisLevelOperator operator, ConsoleTheme theme, ControlEntity controlEntity, Player player) { - if (!player.level().isClientSide()){ + if (!player.level().isClientSide()) { if (operator.getTardisState() != TardisLevelOperator.STATE_EYE_OF_HARMONY || operator.getPilotingManager().isOutOfFuel()) { PlayerUtil.sendMessage(player, ModMessages.HARDWARE_OFFLINE, true); @@ -35,8 +36,8 @@ public boolean onRightClick(TardisLevelOperator operator, ConsoleTheme theme, Co ItemStack hand = player.getMainHandItem(); boolean isSyncingKey = false; - if (hand.getItem() instanceof KeyItem key){ - if (key.interactMonitor(hand,player, controlEntity, player.getUsedItemHand())) + if (hand.getItem() instanceof KeyItem key) { + if (key.interactMonitor(hand, player, controlEntity, player.getUsedItemHand())) isSyncingKey = true; } if (!isSyncingKey) diff --git a/common/src/main/java/whocraft/tardis_refined/common/tardis/control/ship/ToggleDoorControl.java b/common/src/main/java/whocraft/tardis_refined/common/tardis/control/ship/ToggleDoorControl.java index db2534c15..a4a55e08e 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/tardis/control/ship/ToggleDoorControl.java +++ b/common/src/main/java/whocraft/tardis_refined/common/tardis/control/ship/ToggleDoorControl.java @@ -19,20 +19,21 @@ public class ToggleDoorControl extends Control { public ToggleDoorControl(ResourceLocation id) { super(id); } - public ToggleDoorControl(ResourceLocation id, String langId){ + + public ToggleDoorControl(ResourceLocation id, String langId) { super(id, langId); } @Override public boolean onRightClick(TardisLevelOperator operator, ConsoleTheme theme, ControlEntity controlEntity, Player player) { - if (!operator.getLevel().isClientSide()){ + if (!operator.getLevel().isClientSide()) { if (operator.getInternalDoor() != null) { - if(operator.getExteriorManager().locked() || operator.getPilotingManager().isInFlight()) { + if (operator.getExteriorManager().locked() || operator.getPilotingManager().isInFlight()) { return false; } BlockEntity blockEntity = operator.getLevel().getBlockEntity(operator.getInternalDoor().getDoorPosition()); - if (blockEntity != null){ - if (blockEntity instanceof TardisInternalDoor internalDoor){ + if (blockEntity != null) { + if (blockEntity instanceof TardisInternalDoor internalDoor) { var isDoorOpen = internalDoor.isOpen(); operator.setDoorClosed(isDoorOpen); return true; @@ -50,7 +51,7 @@ public boolean onLeftClick(TardisLevelOperator operator, ConsoleTheme theme, Con //Update both internal and exterior shell doors with the value from the exterior manager, which is the Tardis' current data if (operator.getExteriorManager() != null) operator.setDoorLocked(!operator.getExteriorManager().locked()); - operator.getExteriorManager().setLocked(!operator.getExteriorManager().locked()); + operator.getExteriorManager().setLocked(!operator.getExteriorManager().locked()); PlayerUtil.sendMessage(player, Component.translatable(operator.getExteriorManager().locked() ? ModMessages.DOOR_LOCKED : ModMessages.DOOR_UNLOCKED), true); operator.setDoorClosed(true); return true; @@ -62,8 +63,8 @@ public boolean onLeftClick(TardisLevelOperator operator, ConsoleTheme theme, Con public ConfiguredSound getSuccessSound(TardisLevelOperator operator, ConsoleTheme theme, boolean leftClick) { if (!operator.getLevel().isClientSide()) { BlockEntity blockEntity = operator.getLevel().getBlockEntity(operator.getInternalDoor().getDoorPosition()); - if (blockEntity != null){ - if (blockEntity instanceof GlobalDoorBlockEntity internalDoor){ + if (blockEntity != null) { + if (blockEntity instanceof GlobalDoorBlockEntity internalDoor) { var isDoorOpen = internalDoor.isOpen(); var pitchedSound = (isDoorOpen) ? internalDoor.pattern().soundProfile().get().getDoorClose() : internalDoor.pattern().soundProfile().get().getDoorOpen(); if (pitchedSound != null) { 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 790390aed..b84a72ff9 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 @@ -40,7 +40,7 @@ public void setShellPattern(ShellPattern shellPattern) { } public ResourceLocation getShellTheme() { - if(shellTheme.getNamespace().contains("minecraft")){ + if (shellTheme.getNamespace().contains("minecraft")) { return ShellTheme.HALF_BAKED.getId(); } return shellTheme; @@ -50,7 +50,7 @@ public ResourceLocation getShellTheme() { /** * Sets the shell theme ID for the Exterior Shell Block * - * @param theme - the Shell Theme ID + * @param theme - the Shell Theme ID * @param shellPattern - the Shell Theme Pattern */ public boolean setShellTheme(ResourceLocation theme, ResourceLocation shellPattern, TardisNavLocation tardisNavLocation) { diff --git a/common/src/main/java/whocraft/tardis_refined/common/tardis/manager/BaseHandler.java b/common/src/main/java/whocraft/tardis_refined/common/tardis/manager/BaseHandler.java index b55465bfc..bae239247 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/tardis/manager/BaseHandler.java +++ b/common/src/main/java/whocraft/tardis_refined/common/tardis/manager/BaseHandler.java @@ -2,9 +2,12 @@ import net.minecraft.nbt.CompoundTag; -/** Common template object to allow for saving of data*/ +/** + * Common template object to allow for saving of data + */ public abstract class BaseHandler { abstract CompoundTag saveData(CompoundTag tag); + abstract void loadData(CompoundTag tag); } diff --git a/common/src/main/java/whocraft/tardis_refined/common/tardis/manager/FlightDanceManager.java b/common/src/main/java/whocraft/tardis_refined/common/tardis/manager/FlightDanceManager.java index f92d837ae..230466cb3 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/tardis/manager/FlightDanceManager.java +++ b/common/src/main/java/whocraft/tardis_refined/common/tardis/manager/FlightDanceManager.java @@ -37,8 +37,8 @@ public boolean isDancing() { private List getNonCriticalControls(GlobalConsoleBlockEntity controllerConsole) { var allControlsOnConsole = controllerConsole.getControlEntityList(); List updatedList = new ArrayList<>(allControlsOnConsole); //Copy over all entries to a new which we can manipulate - for(ControlEntity controlEntity : allControlsOnConsole){ //Out of all controls in the original control list, remove any from our copy which are considered critical for normal operations. - if(controlEntity.controlSpecification().control().isCriticalForTardisOperation()){ + for (ControlEntity controlEntity : allControlsOnConsole) { //Out of all controls in the original control list, remove any from our copy which are considered critical for normal operations. + if (controlEntity.controlSpecification().control().isCriticalForTardisOperation()) { updatedList.remove(controlEntity); //Remove entries from our copy } } @@ -46,7 +46,7 @@ private List getNonCriticalControls(GlobalConsoleBlockEntity cont } public void startFlightDance(GlobalConsoleBlockEntity controllerConsole) { - if(controllerConsole == null) return; + if (controllerConsole == null) return; this.controlEntityList = getNonCriticalControls(controllerConsole); this.weAreDancing = true; } @@ -97,12 +97,12 @@ private void onDanceTick(ServerLevel operatorLevel) { } private void triggerNextEvent() { - if(controlEntityList.isEmpty()) { + if (controlEntityList.isEmpty()) { GlobalConsoleBlockEntity console = operator.getPilotingManager().getCurrentConsole(); // Someone logged out during flight / a desync happened - we will just nicely end the flight - if(console == null){ + if (console == null) { stopDancing(); - operator.getPilotingManager().endFlight(true); + operator.getPilotingManager().endFlight(true, false); return; } else { console.killControls(); // Just incase 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 6f6d0edae..cebfb264f 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 @@ -24,14 +24,25 @@ * External Shell data. **/ public class TardisExteriorManager extends BaseHandler { + private final TardisLevelOperator operator; private double fuelForShellChange = 15; // Amount of fuel required to change the shell + private boolean locked; + private boolean isLanding; + private boolean isTakingOff; + public TardisExteriorManager(TardisLevelOperator operator) { + this.operator = operator; + } - private final TardisLevelOperator operator; - /** Determine if the Tardis's doors, no matter the external shell or internal door, should be locked*/ + /** + * Determine if the Tardis's doors, no matter the external shell or internal door, should be locked + */ public boolean locked() { return this.locked; } - /** Update the external shell block's locked property so that players cannot enter it without a synced Key item*/ + + /** + * Update the external shell block's locked property so that players cannot enter it without a synced Key item + */ public void setLocked(boolean locked) { TardisPilotingManager pilotingManager = this.operator.getPilotingManager(); @@ -57,26 +68,18 @@ public void setLocked(boolean locked) { } - private boolean locked; - private boolean isLanding; - public boolean isLanding() { return this.isLanding; } - private boolean isTakingOff; - public boolean isTakingOff() { return this.isTakingOff; } public void setIsTakingOff(boolean isTakingOff) { this.isTakingOff = isTakingOff; - } - - - public TardisExteriorManager(TardisLevelOperator operator) { - this.operator = operator; + operator.tardisClientData().setIsTakingOff(true); + operator.tardisClientData().sync(); } @Override @@ -86,6 +89,7 @@ public CompoundTag saveData(CompoundTag tag) { return tag; } + @Override public void loadData(CompoundTag tag) { locked = tag.getBoolean(NbtConstants.LOCKED); @@ -106,12 +110,15 @@ public void playSoundAtShell(SoundEvent event, SoundSource source, float volume, } - /** Sets the Exterior Shell to be opened or closed*/ + + /** + * Sets the Exterior Shell to be opened or closed + */ public void setDoorClosed(boolean closeDoor) { TardisNavLocation currentPosition = this.operator.getPilotingManager().getCurrentLocation(); - if(currentPosition == null) return; + if (currentPosition == null) return; ServerLevel lastKnownLocationLevel = currentPosition.getLevel(); // Get the exterior block. @@ -138,13 +145,17 @@ public void removeExteriorBlock() { 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 + 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 } } - /** Setup the landing data updates and physical placement of the shell block */ + + /** + * Setup the landing data updates and physical placement of the shell block + */ public void startLanding(TardisLevelOperator operator, TardisNavLocation location) { ServerLevel targetLevel = location.getLevel(); BlockPos lastKnownLocationPosition = location.getPosition(); @@ -152,18 +163,21 @@ public void startLanding(TardisLevelOperator operator, TardisNavLocation locatio //Force load target chunk targetLevel.setChunkForced(chunkPos.x, chunkPos.z, true); //Set chunk to be force loaded to properly place block + this.isLanding = true; + operator.tardisClientData().setIsLanding(true); + operator.tardisClientData().sync(); this.placeExteriorBlockForLanding(location); //Un-force load target chunk targetLevel.setChunkForced(chunkPos.x, chunkPos.z, false); //Set chunk to be not be force loaded after we place the block - this.isLanding = true; } - /** Convenience method to place the exterior block when the Tardis is landing */ - public void placeExteriorBlockForLanding(TardisNavLocation location){ - TardisPlayerInfo.updateTardisForAllPlayers(operator, location); + /** + * Convenience method to place the exterior block when the Tardis is landing + */ + public void placeExteriorBlockForLanding(TardisNavLocation location) { this.operator.setOrUpdateExteriorBlock(location, Optional.empty()); } @@ -176,7 +190,7 @@ public boolean isExitLocationSafe() { } TardisNavLocation currentPosition = this.operator.getPilotingManager().getCurrentLocation(); - if(currentPosition == null) return false; + if (currentPosition == null) return false; BlockPos lastKnownLocationPosition = currentPosition.getPosition(); ServerLevel lastKnownLocationLevel = currentPosition.getLevel(); @@ -193,6 +207,7 @@ public boolean isExitLocationSafe() { /** * Returns whether a Tardis has enough fuel to perform an interior change + * * @return true if the Tardis has enough fuel */ public boolean hasEnoughFuelForShellChange() { @@ -201,6 +216,7 @@ public boolean hasEnoughFuelForShellChange() { /** * The amount of fuel required to change the exterior shell + * * @return double amount of fuel to be removed */ public double getFuelForShellChange() { @@ -209,6 +225,7 @@ public double getFuelForShellChange() { /** * Sets the amount of fuel required to change the exterior shell + * * @param fuel the amount of fuel */ private void setFuelForShellChange(double fuel) { 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 14c70c5fa..ebc590c74 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 @@ -39,29 +39,24 @@ import java.util.List; public class TardisInteriorManager extends TickableHandler { + public static final BlockPos STATIC_CORRIDOR_POSITION = new BlockPos(1013, 99, 5); private final TardisLevelOperator operator; + // Pillars + BlockPos pillarTopLeft = new BlockPos(1024, 78, 55); + BlockPos pillarTopRight = new BlockPos(1002, 78, 55); + BlockPos pillarBottomLeft = new BlockPos(1016, 73, 55); + BlockPos pillarBottomRight = new BlockPos(1010, 73, 55); private boolean isWaitingToGenerate = false; private boolean isGeneratingDesktop = false; private boolean hasGeneratedCorridors = false; private int interiorGenerationCooldown = 0; private BlockPos corridorAirlockCenter = BlockPos.ZERO; private DesktopTheme preparedTheme, currentTheme = TardisDesktops.DEFAULT_OVERGROWN_THEME; - - // Pillars - BlockPos pillarTopLeft = new BlockPos(1024,78,55); - BlockPos pillarTopRight = new BlockPos(1002,78,55); - BlockPos pillarBottomLeft = new BlockPos(1016,73,55); - BlockPos pillarBottomRight = new BlockPos(1010,73,55); - // Airlock systems. private boolean processingWarping = false; private int airlockCountdownSeconds = 3; private int airlockTimerSeconds = 5; - private HumEntry humEntry = TardisHums.getDefaultHum(); - - public static final BlockPos STATIC_CORRIDOR_POSITION = new BlockPos(1013, 99, 5); - private double fuelForIntChange = 100; // The amount of fuel required to change interior public TardisInteriorManager(TardisLevelOperator operator) { @@ -94,12 +89,19 @@ public ProtectedZone[] unbreakableZones() { return new ProtectedZone[]{ctrlRoomAirlck, hubAirlck, arsRoom}; } - /** Gets the @{@link DesktopTheme} which is currently used by this Tardis*/ + + /** + * Gets the @{@link DesktopTheme} which is currently used by this Tardis + */ public DesktopTheme currentTheme() { return this.currentTheme; } - /** Updates the current @{@link DesktopTheme}. - * @implNote Should only be used when we are preparing to start a Desktop change*/ + + /** + * Updates the current @{@link DesktopTheme}. + * + * @implNote Should only be used when we are preparing to start a Desktop change + */ public TardisInteriorManager setCurrentTheme(DesktopTheme currentTheme) { this.currentTheme = currentTheme; return this; @@ -130,7 +132,7 @@ public CompoundTag saveData(CompoundTag tag) { tag.putString(NbtConstants.TARDIS_IM_PREPARED_THEME, this.preparedTheme != null ? this.preparedTheme.getIdentifier().toString() : ""); - if(currentTheme != null) { + if (currentTheme != null) { tag.putString(NbtConstants.TARDIS_IM_CURRENT_THEME, this.currentTheme.getIdentifier().toString()); } tag.putString(NbtConstants.TARDIS_CURRENT_HUM, this.humEntry.getIdentifier().toString()); @@ -279,11 +281,11 @@ public boolean shouldTheEyeBeOpen(ServerLevel level) { return level.getBlockState(pillarTopLeft).getBlock() == TRBlockRegistry.ARTRON_PILLAR.get() && level.getBlockState(pillarTopRight).getBlock() == TRBlockRegistry.ARTRON_PILLAR.get() && level.getBlockState(pillarBottomLeft).getBlock() == TRBlockRegistry.ARTRON_PILLAR.get() && level.getBlockState(pillarBottomRight).getBlock() == TRBlockRegistry.ARTRON_PILLAR.get() && operator.getTardisState() != TardisLevelOperator.STATE_EYE_OF_HARMONY; } - public void openTheEye(){ + public void openTheEye() { openTheEye(false); } - public void setEyePillars(Level level){ + public void setEyePillars(Level level) { level.setBlock(pillarTopLeft, TRBlockRegistry.ARTRON_PILLAR.get().defaultBlockState(), Block.UPDATE_ALL); level.setBlock(pillarTopRight, TRBlockRegistry.ARTRON_PILLAR.get().defaultBlockState(), Block.UPDATE_ALL); level.setBlock(pillarBottomLeft, TRBlockRegistry.ARTRON_PILLAR.get().defaultBlockState(), Block.UPDATE_ALL); @@ -299,7 +301,7 @@ public void openTheEye(boolean forced) { AABB portalDoorLength = new AABB(1011, 72, 54, 1015, 71, 56); AABB portalDoorWidth = new AABB(1014, 71, 57, 1012, 72, 53); - if (forced){ + if (forced) { this.setEyePillars(level); } @@ -338,17 +340,19 @@ public boolean isInAirlock(LivingEntity livingEntity) { return airlock.contains(livingEntity) || corridor.contains(livingEntity); } - public void setCorridorAirlockCenter(BlockPos center) { - this.corridorAirlockCenter = center; - } - public BlockPos getCorridorAirlockCenter() { return this.corridorAirlockCenter; } - /** Master logic that schedules the desktop preparation, generation and aesthetic effects in one place - *
Should be called in the {@link TardisInteriorManager#tick()}*/ - public void handleDesktopGeneration(ServerLevel level){ + public void setCorridorAirlockCenter(BlockPos center) { + this.corridorAirlockCenter = center; + } + + /** + * Master logic that schedules the desktop preparation, generation and aesthetic effects in one place + *
Should be called in the {@link TardisInteriorManager#tick()} + */ + public void handleDesktopGeneration(ServerLevel level) { if (this.isWaitingToGenerate) { if (level.random.nextInt(30) == 0) { level.playSound(null, TardisArchitectureHandler.DESKTOP_CENTER_POS, SoundEvents.FIRE_AMBIENT, SoundSource.BLOCKS, 5.0F + level.random.nextFloat(), level.random.nextFloat() * 0.7F + 0.3F); @@ -360,7 +364,7 @@ public void handleDesktopGeneration(ServerLevel level){ //This check doesn't actually work for players that respawn, login or teleport to the Tardis dimension when the Tardis is waiting to generate because our tick method is being called at the start of the server tick. //To mitigate the problem where players become stuck inside the stone and suffocate to death, we call TardisLevelOperator#ejectPlayer in the relevant Events. if (level.players().isEmpty()) { - if (this.operator.triggerRegenState(true)){ //Make sure we actually triggered the regen state before thinking we are good to go + if (this.operator.triggerRegenState(true)) { //Make sure we actually triggered the regen state before thinking we are good to go this.operator.forceEjectAllPlayers(); //Teleport all players to the exterior in case they still remain. TardisCommonEvents.DESKTOP_CHANGE_EVENT.invoker().onDesktopChange(operator); this.generateDesktop(this.preparedTheme); //During desktop generation, if the state is still the initial cave state, we will update it to terraformed but no eye activated @@ -379,7 +383,7 @@ public void handleDesktopGeneration(ServerLevel level){ if (interiorGenerationCooldown == 0) { if (this.operator.triggerRegenState(false)) //Make sure we actually triggered the regen state before saying we are good to go. - this.isGeneratingDesktop = false; + this.isGeneratingDesktop = false; } if (level.getGameTime() % 60 == 0) { @@ -388,7 +392,9 @@ public void handleDesktopGeneration(ServerLevel level){ } } - /** Performs the desktop generation tasks such as block removal and placement tasks*/ + /** + * Performs the desktop generation tasks such as block removal and placement tasks + */ public void generateDesktop(DesktopTheme theme) { if (operator.getLevel() instanceof ServerLevel serverLevel) { @@ -420,7 +426,9 @@ public void setHasGeneratedCorridors(boolean hasGeneratedCorridors) { this.hasGeneratedCorridors = hasGeneratedCorridors; } - /** Prepares the Tardis for desktop generation but doesn't actually start it. Handles cooldowns etc.*/ + /** + * Prepares the Tardis for desktop generation but doesn't actually start it. Handles cooldowns etc. + */ public void prepareDesktop(DesktopTheme theme) { this.preparedTheme = theme; this.isWaitingToGenerate = true; @@ -452,6 +460,7 @@ public void cancelDesktopChange() { /** * Returns whether a Tardis has enough fuel to perform an interior change + * * @return true if the Tardis has enough fuel */ public boolean hasEnoughFuel() { @@ -460,6 +469,7 @@ public boolean hasEnoughFuel() { /** * The amount of fuel required to change the interior + * * @return double amount of fuel to be removed */ public double getRequiredFuel() { @@ -468,6 +478,7 @@ public double getRequiredFuel() { /** * Sets the amount of fuel required to change the interior + * * @param fuel the amount of fuel */ private void setRequiredFuel(double fuel) { 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 e5c5ea9c3..ae7d224b4 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 @@ -44,14 +44,12 @@ public class TardisPilotingManager extends TickableHandler { + public static final int MAX_THROTTLE_STAGE = 5; // CONSTANTS private static final int TICKS_LANDING_MAX = 9 * 20; private static final int TICKS_COOLDOWN_MAX = (10 * 60) * 20; private static final double DEFAULT_MAXIMUM_FUEL = 1000; private static final double FLIGHT_COST = 0.5f; - - public static final int MAX_THROTTLE_STAGE = 5; - private final TardisLevelOperator operator; // Location based. @@ -188,6 +186,7 @@ public CompoundTag saveData(CompoundTag tag) { return tag; } + @Override public void tick(ServerLevel level) { @@ -262,7 +261,7 @@ private void onFlightTick(ServerLevel level) { // Automatically trigger the ship to land for things such as landing pads. if (distanceCovered >= flightDistance && autoLand && !this.isLanding()) { - this.endFlight(false); + this.endFlight(false, false); } } @@ -291,8 +290,6 @@ private void onFlightTick(ServerLevel level) { } - - } @@ -307,14 +304,14 @@ private void checkThrottleStatesForFlight() { } if (isInFlight && this.canEndFlight() && !this.isLanding() && !this.isTakingOff() && (this.isHandbrakeOn || this.throttleStage == 0)) { - this.endFlight(false); + this.endFlight(false, false); } } private void tickCrashRecovery() { ticksinCrashRecovery++; - if(ticksinCrashRecovery % 120 == 0) { + if (ticksinCrashRecovery % 120 == 0) { TardisHelper.playCloisterBell(operator); } @@ -367,15 +364,13 @@ public TardisNavLocation findClosestValidPosition(TardisNavLocation location) { // If the exact target location was a valid area, let's set it as the final position to use for landing, no extra searching needed. if (!solutionsInRow.isEmpty()) { closest = location; - } - else{ + } else { //If the exact target location isn't valid, check blocks in the vertical column List nextValidLocations = this.findValidLocationInColumn(level, position, direction, minHeight, maxBuildHeight); - if (!nextValidLocations.isEmpty()){ + if (!nextValidLocations.isEmpty()) { solutionsInRow.addAll(nextValidLocations); - } - else { + } else { //If the vertical column is not valid, let's check the surrounding area at the same y level. List surroundingPositionsSameYLevel = LevelHelper.getBlockPosInRadius(position, 1, true, false); for (BlockPos directionOffset : surroundingPositionsSameYLevel) { @@ -391,9 +386,9 @@ public TardisNavLocation findClosestValidPosition(TardisNavLocation location) { List surroundingPositionsForColumn = LevelHelper.getBlockPosInRadius(position, 1, true, true); - for(BlockPos pos : surroundingPositionsForColumn){ + for (BlockPos pos : surroundingPositionsForColumn) { List surroundingColumn = this.findValidLocationInColumn(level, pos, direction, minHeight, maxBuildHeight); - if (!surroundingColumn.isEmpty()){ + if (!surroundingColumn.isEmpty()) { solutionsInRow.addAll(surroundingColumn); } } @@ -415,11 +410,13 @@ private List findValidLocationInColumn(TardisNavLocation loca return this.findValidLocationInColumn(location.getLevel(), location.getPosition(), location.getDirection(), minHeight, maxBuildHeight); } - /** Within all Y level positions for a given position, search for valid landing positions - * @param level - target Level we are trying to land in - * @param position - the original position we are searching vertically in - * @param direction - the direction we are landing at - * @param minHeight - minimum height to search upwards from + /** + * Within all Y level positions for a given position, search for valid landing positions + * + * @param level - target Level we are trying to land in + * @param position - the original position we are searching vertically in + * @param direction - the direction we are landing at + * @param minHeight - minimum height to search upwards from * @param maxBuildHeight - the maximum height to search under * @return */ @@ -454,8 +451,10 @@ private List findValidLocationInColumn(ServerLevel level, Blo return solutionsInRow; } - /** Finds the closest valid position out of a list of possible solutions, from the original intended landing location*/ - private TardisNavLocation findClosestValidPositionFromTarget(List validPositions, TardisNavLocation targetLocation){ + /** + * Finds the closest valid position out of a list of possible solutions, from the original intended landing location + */ + private TardisNavLocation findClosestValidPositionFromTarget(List validPositions, TardisNavLocation targetLocation) { int distance = Integer.MAX_VALUE; TardisNavLocation intendedLocation = targetLocation; TardisNavLocation closestSolution = new TardisNavLocation(BlockPos.ZERO, Direction.NORTH, intendedLocation.getLevel()); @@ -471,9 +470,10 @@ private TardisNavLocation findClosestValidPositionFromTarget(List getBlockPosColumn(BlockPos referencePoint, int min, int max) { @@ -490,18 +490,18 @@ private List getBlockPosColumn(BlockPos referencePoint, int min, int m /** * Check if the block at the target position is a valid block to land inside. - * **/ + **/ private boolean isLegalLandingBlock(ServerLevel level, BlockPos pos) { BlockState state = level.getBlockState(pos); // Can land in air or override any block that can be marked as "replaceable" such as snow, tall grass etc. return state.isAir() || (state.canBeReplaced() && state.getFluidState().isEmpty() && !state.isCollisionShapeFullBlock(level, pos)); } - private boolean isExitPositionSafe(TardisNavLocation location){ + private boolean isExitPositionSafe(TardisNavLocation location) { return this.isExitPositionSafe(location.getLevel(), location.getPosition(), location.getDirection()); } - private boolean isExitPositionSafe(ServerLevel level, BlockPos pos, Direction offsetDirection){ + private boolean isExitPositionSafe(ServerLevel level, BlockPos pos, Direction offsetDirection) { BlockPos exitPosition = pos.offset(offsetDirection.getNormal()); //Check the block that is facing away from the doors. if (this.isLegalLandingBlock(level, exitPosition.above()) && this.isLegalLandingBlock(level, exitPosition) //If there is a 2 block space for the entity to be placed at @@ -512,16 +512,20 @@ private boolean isExitPositionSafe(ServerLevel level, BlockPos pos, Direction of return false; } - /** If there is a 2 block vertical space for the exterior to be placed at, and the block below the exterior is solid*/ - private boolean canPlaceTardis(TardisNavLocation location){ + /** + * If there is a 2 block vertical space for the exterior to be placed at, and the block below the exterior is solid + */ + private boolean canPlaceTardis(TardisNavLocation location) { ServerLevel targetLevel = location.getLevel(); BlockPos pos = location.getPosition(); boolean isBelowNetherRoof = (targetLevel.dimension() == Level.NETHER && pos.getY() <= 125); return isBelowNetherRoof && this.isLegalLandingBlock(targetLevel, pos) && isLegalLandingBlock(targetLevel, pos.above()) && !isLegalLandingBlock(targetLevel, pos.below()); } - /** If there is a 2 block vertical space for the exterior to be placed at, and the block below the exterior is solid*/ - private boolean canPlaceTardis(ServerLevel level, BlockPos pos){ + /** + * If there is a 2 block vertical space for the exterior to be placed at, and the block below the exterior is solid + */ + private boolean canPlaceTardis(ServerLevel level, BlockPos pos) { return this.isLegalLandingBlock(level, pos) && isLegalLandingBlock(level, pos.above()) && !isLegalLandingBlock(level, pos.below()); } @@ -566,7 +570,6 @@ public boolean beginFlight(boolean autoLand, Optional } - if (this.canBeginFlight()) { this.autoLand = autoLand; @@ -589,10 +592,6 @@ public boolean beginFlight(boolean autoLand, Optional } - TardisPlayerInfo.updateTardisForAllPlayers(operator, targetPosition); - - - operator.setDoorClosed(true); operator.getLevel().playSound(null, operator.getInternalDoor().getDoorPosition(), TRSoundRegistry.TARDIS_TAKEOFF.get(), SoundSource.AMBIENT, 10f, 1f); operator.getExteriorManager().playSoundAtShell(TRSoundRegistry.TARDIS_TAKEOFF.get(), SoundSource.BLOCKS, 1, 1); @@ -601,7 +600,7 @@ public boolean beginFlight(boolean autoLand, Optional this.isInFlight = true; this.ticksInFlight = 0; this.ticksTakingOff = 1; - this.operator.getExteriorManager().setIsTakingOff(true); + this.operator.getExteriorManager().setIsTakingOff(isTakingOff()); this.operator.tardisClientData().sync();//Sync to client //Debug if the blockstate at the current position during takeoff is air. If not air, it means we have forgotten to actually remove the exterior block which could be the cause of the duplication issue @@ -663,7 +662,7 @@ public int calculateFlightDistance(TardisNavLocation startingPoint, TardisNavLoc * @param forceFlightEnd Ignores the required flight time conditions for the TARDIS to land and lands. * @return false if didn't end flight, true if flight was ended */ - public boolean endFlight(boolean forceFlightEnd) { + public boolean endFlight(boolean forceFlightEnd, boolean isCrashing) { if (forceFlightEnd || this.canEndFlight()) { this.ticksInFlight = 0; @@ -676,19 +675,19 @@ public boolean endFlight(boolean forceFlightEnd) { TardisNavLocation landingLocation = this.targetLocation; TardisNavLocation location = findClosestValidPosition(landingLocation); - currentLocation = location; + // Added so it updates for everything else + setTargetLocation(location); + setCurrentLocation(location); exteriorManager.startLanding(operator, location); - TardisPlayerInfo.updateTardisForAllPlayers(operator, location); - - exteriorManager.playSoundAtShell(TRSoundRegistry.TARDIS_LAND.get(), SoundSource.BLOCKS, 1, 1); + exteriorManager.playSoundAtShell(isCrashing ? TRSoundRegistry.TARDIS_CRASH_LAND.get() : TRSoundRegistry.TARDIS_LAND.get(), SoundSource.BLOCKS, 1, 1); if (currentConsole != null) { - level.playSound(null, currentConsole.getBlockPos(), TRSoundRegistry.TARDIS_LAND.get(), SoundSource.AMBIENT, 10f, 1f); + level.playSound(null, currentConsole.getBlockPos(), isCrashing ? TRSoundRegistry.TARDIS_CRASH_LAND.get() : TRSoundRegistry.TARDIS_LAND.get(), SoundSource.AMBIENT, 10f, 1f); } else { - level.playSound(null, TardisArchitectureHandler.DESKTOP_CENTER_POS, TRSoundRegistry.TARDIS_LAND.get(), SoundSource.AMBIENT, 10f, 1f); + level.playSound(null, TardisArchitectureHandler.DESKTOP_CENTER_POS, isCrashing ? TRSoundRegistry.TARDIS_CRASH_LAND.get() : TRSoundRegistry.TARDIS_LAND.get(), SoundSource.AMBIENT, 10f, 1f); } int totalPoints = (int) (distanceCovered * 0.05f); @@ -734,29 +733,30 @@ private void endFlightEarly(boolean dramatic) { } } - this.endFlight(true); + this.endFlight(true, false); } /** * Start to remove the Tardis Shell block and set up fast return location data. This means we are no longer taking off. */ public void enterTimeVortex() { + TardisNavLocation lastKnown = this.getCurrentLocation(); operator.getExteriorManager().removeExteriorBlock(); this.ticksTakingOff = 0; this.operator.getExteriorManager().setIsTakingOff(false); - TardisNavLocation lastKnown = this.getCurrentLocation(); TardisCommonEvents.TAKE_OFF.invoker().onTakeOff(operator, lastKnown.getLevel(), lastKnown.getPosition()); if (this.currentConsole != null) { operator.getFlightDanceManager().startFlightDance(this.currentConsole); } - TardisPlayerInfo.updateTardisForAllPlayers(operator, lastKnown); - this.operator.tardisClientData().sync(); } - /** Update data to indicate we have completed the landing process.*/ + + /** + * Update data to indicate we have completed the landing process. + */ public void onFlightEnd() { this.operator.getFlightDanceManager().stopDancing(); @@ -765,11 +765,9 @@ public void onFlightEnd() { this.autoLand = false; if (this.getFuel() < getMaximumFuel() * 0.1) { - this.operator.getLevel().playSound(null, this.currentConsoleBlockPos, TRSoundRegistry.LOW_FUEL.get(), SoundSource.AMBIENT, 1000, 1 ); + this.operator.getLevel().playSound(null, this.currentConsoleBlockPos, TRSoundRegistry.LOW_FUEL.get(), SoundSource.AMBIENT, 1000, 1); } - TardisPlayerInfo.updateTardisForAllPlayers(operator, getTargetLocation()); - TardisCommonEvents.LAND.invoker().onLand(operator, getTargetLocation().getLevel(), getTargetLocation().getPosition()); this.operator.tardisClientData().sync(); } @@ -807,12 +805,13 @@ public void crash() { int z = (int) (currentPos.z + ((targetPos.z - currentPos.z) * progress)); BlockPos landingLocation = new BlockPos(x, y, z); - this.setTargetPosition(landingLocation); - TardisNavLocation landing = this.targetLocation; - TardisNavLocation location = findClosestValidPosition(landing); + TardisNavLocation weWantToGoHere = this.targetLocation; + TardisNavLocation safeLocation = findClosestValidPosition(weWantToGoHere); + setTargetLocation(safeLocation); + setCurrentLocation(safeLocation); - tardisExteriorManager.startLanding(operator, location); + endFlight(true, true); tardisExteriorManager.playSoundAtShell(TRSoundRegistry.TARDIS_CRASH_LAND.get(), SoundSource.BLOCKS, 1, 1); tarisLevel.playSound(null, TardisArchitectureHandler.DESKTOP_CENTER_POS, TRSoundRegistry.TARDIS_CRASH_LAND.get(), SoundSource.BLOCKS, 10f, 1f); @@ -853,6 +852,10 @@ public TardisNavLocation getTargetLocation() { return this.targetLocation; } + public void setTargetLocation(TardisNavLocation targetLocation) { + this.targetLocation = targetLocation; + } + /** * @return the current fast return location */ @@ -860,16 +863,13 @@ public TardisNavLocation getFastReturnLocation() { return this.fastReturnLocation; } - public void setTargetLocation(TardisNavLocation targetLocation) { - this.targetLocation = targetLocation; + public TardisNavLocation getCurrentLocation() { + return Objects.requireNonNullElse(this.currentLocation, TardisNavLocation.ORIGIN); } public void setCurrentLocation(TardisNavLocation currentLocation) { this.currentLocation = currentLocation; } - public TardisNavLocation getCurrentLocation() { - return Objects.requireNonNullElse(this.currentLocation, TardisNavLocation.ORIGIN); - } public void setTargetPosition(BlockPos pos) { this.targetLocation.setPosition(pos); @@ -966,7 +966,7 @@ public void setCurrentConsole(GlobalConsoleBlockEntity newConsole) { Level level = this.currentConsole.getLevel(); - if (level.getBlockState(this.currentConsole.getBlockPos()).getBlock() instanceof GlobalConsoleBlock && level.getBlockEntity(this.currentConsole.getBlockPos()) instanceof GlobalConsoleBlockEntity consoleBlockEntity ) { + if (level.getBlockState(this.currentConsole.getBlockPos()).getBlock() instanceof GlobalConsoleBlock && level.getBlockEntity(this.currentConsole.getBlockPos()) instanceof GlobalConsoleBlockEntity consoleBlockEntity) { ResourceLocation oldTheme = consoleBlockEntity.theme(); ConsolePattern oldPattern = consoleBlockEntity.pattern(); @@ -986,7 +986,7 @@ public void setCurrentConsole(GlobalConsoleBlockEntity newConsole) { Level level = this.currentConsole.getLevel(); - if (level.getBlockState(this.currentConsole.getBlockPos()).getBlock() instanceof GlobalConsoleBlock && level.getBlockEntity(this.currentConsole.getBlockPos()) instanceof GlobalConsoleBlockEntity consoleBlockEntity ) { + if (level.getBlockState(this.currentConsole.getBlockPos()).getBlock() instanceof GlobalConsoleBlock && level.getBlockEntity(this.currentConsole.getBlockPos()) instanceof GlobalConsoleBlockEntity consoleBlockEntity) { ResourceLocation oldTheme = consoleBlockEntity.theme(); ConsolePattern oldPattern = consoleBlockEntity.pattern(); @@ -1035,6 +1035,21 @@ public double getFuel() { return this.fuel; } + public void setFuel(double fuel) { + double previous = this.fuel; + + this.fuel = Mth.clamp(fuel, 0, this.getMaximumFuel()); + + if (this.isOutOfFuel() && previous > 0) { + this.onRunOutOfFuel(); + return; + } + if (!this.isOutOfFuel() && previous == 0) { + this.onRestoreFuel(); + return; + } + } + /** * Accessor for the maximum amount of fuel a Tardis can hold * Will be adjustable in future to allow for upgrades etc. @@ -1069,21 +1084,6 @@ public boolean isOutOfFuel() { return this.fuel == 0; } - public void setFuel(double fuel) { - double previous = this.fuel; - - this.fuel = Mth.clamp(fuel, 0, this.getMaximumFuel()); - - if (this.isOutOfFuel() && previous > 0) { - this.onRunOutOfFuel(); - return; - } - if (!this.isOutOfFuel() && previous == 0) { - this.onRestoreFuel(); - return; - } - } - /** * Removes fuel from the Tardis. * Clamps fuel to 0 if it goes below 0 @@ -1096,11 +1096,14 @@ public void removeFuel(double amount) { /** * Is the TARDIS set to refuel passively? - * **/ - public boolean isPassivelyRefuelling() {return this.isPassivelyRefuelling;} + **/ + public boolean isPassivelyRefuelling() { + return this.isPassivelyRefuelling; + } /** * Sets the TARDIS to passively fuel + * * @return Returns if it was successful in updating the state. Will fail if the TARDIS is in flight or has crashed. */ public boolean setPassivelyRefuelling(boolean refuel) { diff --git a/common/src/main/java/whocraft/tardis_refined/common/tardis/manager/TardisWaypointManager.java b/common/src/main/java/whocraft/tardis_refined/common/tardis/manager/TardisWaypointManager.java index 7ff6dfb45..783a6cef2 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/tardis/manager/TardisWaypointManager.java +++ b/common/src/main/java/whocraft/tardis_refined/common/tardis/manager/TardisWaypointManager.java @@ -11,7 +11,7 @@ import java.util.Optional; import java.util.UUID; -public class TardisWaypointManager extends BaseHandler{ +public class TardisWaypointManager extends BaseHandler { private final TardisLevelOperator operator; private List waypoints = new ArrayList<>(); @@ -53,6 +53,7 @@ public CompoundTag saveData(CompoundTag compoundTag) { compoundTag.put("Waypoints", waypointsList); return compoundTag; } + @Override public void loadData(CompoundTag tag) { waypoints.clear(); @@ -60,7 +61,7 @@ public void loadData(CompoundTag tag) { for (int i = 0; i < waypointsList.size(); i++) { CompoundTag locationTag = waypointsList.getCompound(i); TardisWaypoint waypoint = TardisWaypoint.deserialise(locationTag); - waypoints.add( waypoint); + waypoints.add(waypoint); } } } diff --git a/common/src/main/java/whocraft/tardis_refined/common/tardis/manager/TickableHandler.java b/common/src/main/java/whocraft/tardis_refined/common/tardis/manager/TickableHandler.java index e24d56120..a3db75f6d 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/tardis/manager/TickableHandler.java +++ b/common/src/main/java/whocraft/tardis_refined/common/tardis/manager/TickableHandler.java @@ -3,18 +3,25 @@ import net.minecraft.server.level.ServerLevel; import net.minecraft.world.level.Level; -/** Tickable version of the BaseHandler*/ -public abstract class TickableHandler extends BaseHandler{ - /** Method that is run every tick. This can happen on both server and client side - *
Make sure to check your logic for if you need */ - public void tick(Level level){} +/** + * Tickable version of the BaseHandler + */ +public abstract class TickableHandler extends BaseHandler { + /** + * Method that is run every tick. This can happen on both server and client side + *
Make sure to check your logic for if you need + */ + public void tick(Level level) { + } - public void tick(){} + public void tick() { + } - /** Method that is run every tick. - * @implNote Use this if we need to run logic on the server side and use the TardisLevelOperator's ServerLevel. + /** + * Method that is run every tick. * * @param operatorLevel - The ServerLevel used by the TardisLevelOperator + * @implNote Use this if we need to run logic on the server side and use the TardisLevelOperator's ServerLevel. */ public abstract void tick(ServerLevel operatorLevel); } diff --git a/common/src/main/java/whocraft/tardis_refined/common/tardis/themes/ConsoleTheme.java b/common/src/main/java/whocraft/tardis_refined/common/tardis/themes/ConsoleTheme.java index 0506d8178..5d0718ef2 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/tardis/themes/ConsoleTheme.java +++ b/common/src/main/java/whocraft/tardis_refined/common/tardis/themes/ConsoleTheme.java @@ -15,12 +15,18 @@ public class ConsoleTheme implements Theme { - /** Registry Key for the ConsoleTheme registry. For addon mods, use this as the registry key*/ + /** + * Registry Key for the ConsoleTheme registry. For addon mods, use this as the registry key + */ public static final ResourceKey> CONSOLE_THEME_REGISTRY_KEY = ResourceKey.createRegistryKey(new ResourceLocation(TardisRefined.MODID, "console_theme")); - /** Tardis Refined instance of the ConsoleTheme registry. Addon Mods: DO NOT USE THIS, it is only for Tardis Refined use only*/ + /** + * Tardis Refined instance of the ConsoleTheme registry. Addon Mods: DO NOT USE THIS, it is only for Tardis Refined use only + */ public static final DeferredRegistry CONSOLE_THEME_DEFERRED_REGISTRY = DeferredRegistry.createCustom(TardisRefined.MODID, CONSOLE_THEME_REGISTRY_KEY, true); - /** Instance of registry containing all ConsoleTheme entries. Addon mod entries will be included in this registry as long as they are use the same ResourceKey>. */ + /** + * Instance of registry containing all ConsoleTheme entries. Addon mod entries will be included in this registry as long as they are use the same ResourceKey>. + */ public static final Registry CONSOLE_THEME_REGISTRY = CONSOLE_THEME_DEFERRED_REGISTRY.getRegistry().get(); public static final RegistrySupplierHolder FACTORY = registerConsoleTheme("factory", new FactoryConsoleTheme()); @@ -33,22 +39,20 @@ public class ConsoleTheme implements Theme { public static final RegistrySupplierHolder NUKA = registerConsoleTheme("nuka", new NukaConsoleTheme()); public static final RegistrySupplierHolder INITIATIVE = registerConsoleTheme("initiative", new InitiativeConsoleTheme()); public static final RegistrySupplierHolder REFURBISHED = registerConsoleTheme("refurbished", new RefurbishedConsoleTheme()); - - private ResourceLocation translationKey; private final ConsoleThemeDetails consoleThemeDetails; + private ResourceLocation translationKey; public ConsoleTheme(ResourceLocation translationKey, ConsoleThemeDetails consoleThemeDetails) { this.translationKey = translationKey; this.consoleThemeDetails = consoleThemeDetails; } - public ControlSpecification[] getControlSpecificationList() { - return consoleThemeDetails.getControlSpecification(); + private static RegistrySupplierHolder registerConsoleTheme(String id, ConsoleThemeDetails themeDetails) { + return CONSOLE_THEME_DEFERRED_REGISTRY.registerHolder(id, () -> new ConsoleTheme(new ResourceLocation(TardisRefined.MODID, id), themeDetails)); } - - private static RegistrySupplierHolder registerConsoleTheme(String id, ConsoleThemeDetails themeDetails){ - return CONSOLE_THEME_DEFERRED_REGISTRY.registerHolder(id, () -> new ConsoleTheme(new ResourceLocation(TardisRefined.MODID, id), themeDetails)); + public ControlSpecification[] getControlSpecificationList() { + return consoleThemeDetails.getControlSpecification(); } @Override diff --git a/common/src/main/java/whocraft/tardis_refined/common/tardis/themes/DesktopTheme.java b/common/src/main/java/whocraft/tardis_refined/common/tardis/themes/DesktopTheme.java index 146241257..6dc60141c 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/tardis/themes/DesktopTheme.java +++ b/common/src/main/java/whocraft/tardis_refined/common/tardis/themes/DesktopTheme.java @@ -12,11 +12,6 @@ public class DesktopTheme { - private final ResourceLocation uiTexture; - private ResourceLocation identifier; - private String name = ""; - private ResourceLocation structureLocation; - private static final Codec CODEC = RecordCodecBuilder.create(instance -> { return instance.group( ResourceLocation.CODEC.fieldOf("id").forGetter(DesktopTheme::getIdentifier), @@ -24,10 +19,15 @@ public class DesktopTheme { Codec.STRING.orElse("Placeholder").fieldOf("name_component").forGetter(DesktopTheme::getName) ).apply(instance, DesktopTheme::new); }); + private final ResourceLocation uiTexture; + private ResourceLocation identifier; + private String name = ""; + private ResourceLocation structureLocation; /** * Constructor for Tardis Refined entries only. *
The display name is set to the identifier using a standard String Text Component. + * * @param id * @param structureLocation * @implNote NOTE: Users must also add a PNG display image under assets/tardis_refined/textures/gui/desktops/ @@ -38,9 +38,10 @@ public DesktopTheme(String id, String structureLocation) { /** * Constructor for Tardis Refined entries only. + * * @param id * @param structureLocation - * @param name - The display name that is shown on the Desktop Selection Screen. Supports Tellraw style JSON strings, but they must be validated beforehand. + * @param name - The display name that is shown on the Desktop Selection Screen. Supports Tellraw style JSON strings, but they must be validated beforehand. * @implNote NOTE: Users must also add a PNG display image under assets/tardis_refined/textures/gui/desktops/ */ public DesktopTheme(String id, String structureLocation, String name) { @@ -49,9 +50,10 @@ public DesktopTheme(String id, String structureLocation, String name) { /** * Generic constructor for non-Tardis Refined entries. - * @param id - the unique identifier for the DesktopTheme. Do not use the Tardis Refined ModId for the namespace if the DesktopTheme is not for the base mod. + * + * @param id - the unique identifier for the DesktopTheme. Do not use the Tardis Refined ModId for the namespace if the DesktopTheme is not for the base mod. * @param structureLocation - the ResourceLocation for the structure's .nbt file. The nbt file should be located under data/[namespace]/structures. - * @param name - The display name that is shown on the Desktop Selection Screen. Supports Tellraw style JSON strings, but they must be validated beforehand. + * @param name - The display name that is shown on the Desktop Selection Screen. Supports Tellraw style JSON strings, but they must be validated beforehand. * @implNote NOTE: Users must also add a PNG display image under assets/[namespace]/textures/gui/desktops/ */ public DesktopTheme(ResourceLocation id, ResourceLocation structureLocation, String name) { @@ -61,26 +63,27 @@ public DesktopTheme(ResourceLocation id, ResourceLocation structureLocation, Str this.name = name; } - public void setName(String name) { - this.name = name; + public static Codec getCodec() { + return CODEC; } public String getName() { return name; } - public ResourceLocation getPreviewTexture(){ + public void setName(String name) { + this.name = name; + } + + public ResourceLocation getPreviewTexture() { return uiTexture; } public ResourceLocation getIdentifier() { return identifier; } + public ResourceLocation getStructureLocation() { return structureLocation; } - - public static Codec getCodec() { - return CODEC; - } } 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 7ada0c2f0..072cc61f6 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 @@ -11,13 +11,19 @@ public class ShellTheme implements Theme { - /** Registry Key for the ShellTheme registry. For addon mods, use this as the registry key*/ + /** + * Registry Key for the ShellTheme registry. For addon mods, use this as the registry key + */ public static final ResourceKey> SHELL_THEME_REGISTRY_KEY = ResourceKey.createRegistryKey(new ResourceLocation(TardisRefined.MODID, "shell_theme")); - /** Tardis Refined instance of the ShellTheme registry. Addon Mods: DO NOT USE THIS, it is only for Tardis Refined use only*/ + /** + * Tardis Refined instance of the ShellTheme registry. Addon Mods: DO NOT USE THIS, it is only for Tardis Refined use only + */ public static final DeferredRegistry SHELL_THEME_DEFERRED_REGISTRY = DeferredRegistry.createCustom(TardisRefined.MODID, SHELL_THEME_REGISTRY_KEY, true); - /** Instance of registry containing all ShellTheme entries. Addon mod entries will be included in this registry as long as they are use the same ResourceKey>. */ + /** + * Instance of registry containing all ShellTheme entries. Addon mod entries will be included in this registry as long as they are use the same ResourceKey>. + */ public static final Registry SHELL_THEME_REGISTRY = SHELL_THEME_DEFERRED_REGISTRY.getRegistry().get(); public static final RegistrySupplierHolder HALF_BAKED = registerShellTheme("half_baked"); // The default shell. Do not remove. @@ -40,39 +46,35 @@ 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 ShellTheme getShellTheme(ResourceLocation resourceLocation){ - ShellTheme potentialTheme = SHELL_THEME_REGISTRY.get(resourceLocation); - if(potentialTheme != null){ - return potentialTheme; - } - return HALF_BAKED.get(); - } - - public static ResourceLocation getKey(ShellTheme shellTheme){ - return SHELL_THEME_REGISTRY.getKey(shellTheme); - } - private ResourceLocation translationKey; private boolean producesLight; - public ShellTheme(ResourceLocation translationKey, boolean producesLight) { this.translationKey = translationKey; this.producesLight = producesLight; } - public ShellTheme(ResourceLocation translationKey) { this(translationKey, false); } - private static RegistrySupplierHolder registerShellTheme(String id){ - return SHELL_THEME_DEFERRED_REGISTRY.registerHolder(id, () -> new ShellTheme(new ResourceLocation(TardisRefined.MODID, id), false)); + public static ShellTheme getShellTheme(ResourceLocation resourceLocation) { + ShellTheme potentialTheme = SHELL_THEME_REGISTRY.get(resourceLocation); + if (potentialTheme != null) { + return potentialTheme; + } + return HALF_BAKED.get(); } - private static RegistrySupplierHolder registerShellTheme(String id, boolean producesLight){ - return SHELL_THEME_DEFERRED_REGISTRY.registerHolder(id, () -> new ShellTheme(new ResourceLocation(TardisRefined.MODID, id), producesLight)); + public static ResourceLocation getKey(ShellTheme shellTheme) { + return SHELL_THEME_REGISTRY.getKey(shellTheme); + } + + private static RegistrySupplierHolder registerShellTheme(String id) { + return SHELL_THEME_DEFERRED_REGISTRY.registerHolder(id, () -> new ShellTheme(new ResourceLocation(TardisRefined.MODID, id), false)); + } + + private static RegistrySupplierHolder registerShellTheme(String id, boolean producesLight) { + return SHELL_THEME_DEFERRED_REGISTRY.registerHolder(id, () -> new ShellTheme(new ResourceLocation(TardisRefined.MODID, id), producesLight)); } @@ -91,5 +93,4 @@ public boolean producesLight() { } - } diff --git a/common/src/main/java/whocraft/tardis_refined/common/tardis/themes/Theme.java b/common/src/main/java/whocraft/tardis_refined/common/tardis/themes/Theme.java index 630215eb4..562806ac5 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/tardis/themes/Theme.java +++ b/common/src/main/java/whocraft/tardis_refined/common/tardis/themes/Theme.java @@ -6,5 +6,6 @@ public interface Theme { public String getTranslationKey(); + Component getDisplayName(); } diff --git a/common/src/main/java/whocraft/tardis_refined/common/tardis/themes/console/CopperConsoleTheme.java b/common/src/main/java/whocraft/tardis_refined/common/tardis/themes/console/CopperConsoleTheme.java index 1688e9941..e395a6ddc 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/tardis/themes/console/CopperConsoleTheme.java +++ b/common/src/main/java/whocraft/tardis_refined/common/tardis/themes/console/CopperConsoleTheme.java @@ -10,7 +10,7 @@ public class CopperConsoleTheme extends ConsoleThemeDetails { @Override public ControlSpecification[] getControlSpecification() { - return new ControlSpecification[] { + return new ControlSpecification[]{ new ControlSpecification(TRControlRegistry.THROTTLE, new Vector3f(0.11f, 0.69f, -1.26f), EntityDimensions.scalable(0.19f, 0.19f)), new ControlSpecification(TRControlRegistry.X, new Vector3f(0.68f, 0.97f, 0.14f), EntityDimensions.scalable(0.13f, 0.13f)), new ControlSpecification(TRControlRegistry.Y, new Vector3f(0.68f, 0.97f, -0.01f), EntityDimensions.scalable(0.13f, 0.12f)), diff --git a/common/src/main/java/whocraft/tardis_refined/common/tardis/themes/console/CoralConsoleTheme.java b/common/src/main/java/whocraft/tardis_refined/common/tardis/themes/console/CoralConsoleTheme.java index 83142190e..b9e7cf533 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/tardis/themes/console/CoralConsoleTheme.java +++ b/common/src/main/java/whocraft/tardis_refined/common/tardis/themes/console/CoralConsoleTheme.java @@ -10,7 +10,7 @@ public class CoralConsoleTheme extends ConsoleThemeDetails { @Override public ControlSpecification[] getControlSpecification() { - return new ControlSpecification[] { + return new ControlSpecification[]{ new ControlSpecification(TRControlRegistry.THROTTLE, new Vector3f(0.60f, 0.67f, -1.10f), EntityDimensions.scalable(0.13f, 0.13f)), new ControlSpecification(TRControlRegistry.X, new Vector3f(-0.26f, 0.48f, 1.10f), EntityDimensions.scalable(0.13f, 0.13f)), new ControlSpecification(TRControlRegistry.Y, new Vector3f(-0.01f, 0.48f, 1.03f), EntityDimensions.scalable(0.13f, 0.13f)), diff --git a/common/src/main/java/whocraft/tardis_refined/common/tardis/themes/console/CrystalConsoleTheme.java b/common/src/main/java/whocraft/tardis_refined/common/tardis/themes/console/CrystalConsoleTheme.java index 7c2c6cef8..b973c636c 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/tardis/themes/console/CrystalConsoleTheme.java +++ b/common/src/main/java/whocraft/tardis_refined/common/tardis/themes/console/CrystalConsoleTheme.java @@ -9,7 +9,7 @@ public class CrystalConsoleTheme extends ConsoleThemeDetails { @Override public ControlSpecification[] getControlSpecification() { - return new ControlSpecification[] { + return new ControlSpecification[]{ new ControlSpecification(TRControlRegistry.THROTTLE, new Vector3f(-0.735f, 1.13f, -0.45f), EntityDimensions.scalable(0.25f, 0.25f)), new ControlSpecification(TRControlRegistry.X, new Vector3f(-0.70f, 0.50f, 0.93f), EntityDimensions.scalable(0.13f, 0.13f)), new ControlSpecification(TRControlRegistry.Y, new Vector3f(-0.52f, 0.50f, 0.89f), EntityDimensions.scalable(0.13f, 0.12f)), diff --git a/common/src/main/java/whocraft/tardis_refined/common/tardis/themes/console/FactoryConsoleTheme.java b/common/src/main/java/whocraft/tardis_refined/common/tardis/themes/console/FactoryConsoleTheme.java index e9350aaac..dba70866d 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/tardis/themes/console/FactoryConsoleTheme.java +++ b/common/src/main/java/whocraft/tardis_refined/common/tardis/themes/console/FactoryConsoleTheme.java @@ -9,7 +9,7 @@ public class FactoryConsoleTheme extends ConsoleThemeDetails { @Override public ControlSpecification[] getControlSpecification() { - return new ControlSpecification[] { + return new ControlSpecification[]{ new ControlSpecification(TRControlRegistry.THROTTLE, new Vector3f(0.87f, 0.58f, -0.45f), EntityDimensions.scalable(0.13f, 0.12f)), new ControlSpecification(TRControlRegistry.X, new Vector3f(-0.29f, 0.65f, 0.73f), EntityDimensions.scalable(0.13f, 0.13f)), new ControlSpecification(TRControlRegistry.Y, new Vector3f(-0.29f, 0.59f, 0.86f), EntityDimensions.scalable(0.13f, 0.12f)), diff --git a/common/src/main/java/whocraft/tardis_refined/common/tardis/themes/console/InitiativeConsoleTheme.java b/common/src/main/java/whocraft/tardis_refined/common/tardis/themes/console/InitiativeConsoleTheme.java index ada4bb46e..9c29c8385 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/tardis/themes/console/InitiativeConsoleTheme.java +++ b/common/src/main/java/whocraft/tardis_refined/common/tardis/themes/console/InitiativeConsoleTheme.java @@ -9,7 +9,7 @@ public class InitiativeConsoleTheme extends ConsoleThemeDetails { @Override public ControlSpecification[] getControlSpecification() { - return new ControlSpecification[] { + return new ControlSpecification[]{ new ControlSpecification(TRControlRegistry.THROTTLE, new Vector3f(-0.01f, 0.75f, 1.05f), EntityDimensions.scalable(0.13f, 0.13f)), new ControlSpecification(TRControlRegistry.X, new Vector3f(-0.67f, 0.72f, -0.62f), EntityDimensions.scalable(0.13f, 0.13f)), new ControlSpecification(TRControlRegistry.Y, new Vector3f(-0.75f, 0.72f, -0.45f), EntityDimensions.scalable(0.12f, 0.13f)), diff --git a/common/src/main/java/whocraft/tardis_refined/common/tardis/themes/console/MystConsoleTheme.java b/common/src/main/java/whocraft/tardis_refined/common/tardis/themes/console/MystConsoleTheme.java index e03bd02f4..b5cefb377 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/tardis/themes/console/MystConsoleTheme.java +++ b/common/src/main/java/whocraft/tardis_refined/common/tardis/themes/console/MystConsoleTheme.java @@ -9,7 +9,7 @@ public class MystConsoleTheme extends ConsoleThemeDetails { @Override public ControlSpecification[] getControlSpecification() { - return new ControlSpecification[] { + return new ControlSpecification[]{ new ControlSpecification(TRControlRegistry.THROTTLE, new Vector3f(-0.39f, 0.59f, 1.04f), EntityDimensions.scalable(0.25f, 0.25f)), new ControlSpecification(TRControlRegistry.X, new Vector3f(-0.86f, 0.63f, -0.615f), EntityDimensions.scalable(0.06f, 0.06f)), new ControlSpecification(TRControlRegistry.Y, new Vector3f(-0.97f, 0.63f, -0.56f), EntityDimensions.scalable(0.06f, 0.06f)), diff --git a/common/src/main/java/whocraft/tardis_refined/common/tardis/themes/console/NukaConsoleTheme.java b/common/src/main/java/whocraft/tardis_refined/common/tardis/themes/console/NukaConsoleTheme.java index 46d61ecd9..86349d679 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/tardis/themes/console/NukaConsoleTheme.java +++ b/common/src/main/java/whocraft/tardis_refined/common/tardis/themes/console/NukaConsoleTheme.java @@ -9,7 +9,7 @@ public class NukaConsoleTheme extends ConsoleThemeDetails { @Override public ControlSpecification[] getControlSpecification() { - return new ControlSpecification[] { + return new ControlSpecification[]{ new ControlSpecification(TRControlRegistry.THROTTLE, new Vector3f(0.22f, 0.56f, -1.01f), EntityDimensions.scalable(0.13f, 0.13f)), new ControlSpecification(TRControlRegistry.X, new Vector3f(-0.95f, 0.63f, -0.42f), EntityDimensions.scalable(0.06f, 0.06f)), new ControlSpecification(TRControlRegistry.Y, new Vector3f(-0.99f, 0.63f, -0.33f), EntityDimensions.scalable(0.06f, 0.06f)), diff --git a/common/src/main/java/whocraft/tardis_refined/common/tardis/themes/console/RefurbishedConsoleTheme.java b/common/src/main/java/whocraft/tardis_refined/common/tardis/themes/console/RefurbishedConsoleTheme.java index 50463c035..784575053 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/tardis/themes/console/RefurbishedConsoleTheme.java +++ b/common/src/main/java/whocraft/tardis_refined/common/tardis/themes/console/RefurbishedConsoleTheme.java @@ -9,7 +9,7 @@ public class RefurbishedConsoleTheme extends ConsoleThemeDetails { @Override public ControlSpecification[] getControlSpecification() { - return new ControlSpecification[] { + return new ControlSpecification[]{ new ControlSpecification(TRControlRegistry.THROTTLE, new Vector3f(-1.22f, 0.63f, 0.71f), EntityDimensions.scalable(0.25f, 0.25f)), new ControlSpecification(TRControlRegistry.X, new Vector3f(1.43f, 0.66f, -0.29f), EntityDimensions.scalable(0.13f, 0.13f)), new ControlSpecification(TRControlRegistry.Y, new Vector3f(1.18f, 0.69f, -0.51f), EntityDimensions.scalable(0.13f, 0.13f)), @@ -61,5 +61,4 @@ public ControlSpecification[] getControlSpecification() { } - } diff --git a/common/src/main/java/whocraft/tardis_refined/common/tardis/themes/console/ToyotaConsoleTheme.java b/common/src/main/java/whocraft/tardis_refined/common/tardis/themes/console/ToyotaConsoleTheme.java index 1c9b3e1e7..ca4e7c4c4 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/tardis/themes/console/ToyotaConsoleTheme.java +++ b/common/src/main/java/whocraft/tardis_refined/common/tardis/themes/console/ToyotaConsoleTheme.java @@ -9,7 +9,7 @@ public class ToyotaConsoleTheme extends ConsoleThemeDetails { @Override public ControlSpecification[] getControlSpecification() { - return new ControlSpecification[] { + return new ControlSpecification[]{ new ControlSpecification(TRControlRegistry.THROTTLE, new Vector3f(0.27f, 0.50f, 0.94f), EntityDimensions.scalable(0.19f, 0.19f)), new ControlSpecification(TRControlRegistry.X, new Vector3f(-0.07f, 0.63f, 0.80f), EntityDimensions.scalable(0.06f, 0.06f)), new ControlSpecification(TRControlRegistry.Y, new Vector3f(0.02f, 0.63f, 0.80f), EntityDimensions.scalable(0.06f, 0.06f)), diff --git a/common/src/main/java/whocraft/tardis_refined/common/tardis/themes/console/VictorianConsoleTheme.java b/common/src/main/java/whocraft/tardis_refined/common/tardis/themes/console/VictorianConsoleTheme.java index 2a3534349..e4ae6f6de 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/tardis/themes/console/VictorianConsoleTheme.java +++ b/common/src/main/java/whocraft/tardis_refined/common/tardis/themes/console/VictorianConsoleTheme.java @@ -9,38 +9,38 @@ public class VictorianConsoleTheme extends ConsoleThemeDetails { @Override public ControlSpecification[] getControlSpecification() { - return new ControlSpecification[] { - new ControlSpecification(TRControlRegistry.THROTTLE, new Vector3f(-0.55f , 0.50f, 0.61f), EntityDimensions.scalable(0.25f , 0.25f)), - new ControlSpecification(TRControlRegistry.X, new Vector3f(-0.58f , 0.78f, 0.11f), EntityDimensions.scalable(0.13f , 0.13f)), - new ControlSpecification(TRControlRegistry.Y, new Vector3f(-0.48f , 0.78f, 0.25f), EntityDimensions.scalable(0.13f , 0.13f)), - new ControlSpecification(TRControlRegistry.Z, new Vector3f(-0.40f , 0.77f, 0.39f), EntityDimensions.scalable(0.13f , 0.13f)), - new ControlSpecification(TRControlRegistry.INCREMENT, new Vector3f(-0.72f , 0.66f, 0.16f), EntityDimensions.scalable(0.13f , 0.13f)), - new ControlSpecification(TRControlRegistry.ROTATE, new Vector3f(-0.02f , 0.75f, -0.68f), EntityDimensions.scalable(0.13f , 0.13f)), - new ControlSpecification(TRControlRegistry.RANDOM, new Vector3f(-0.26f , 0.66f, -0.74f), EntityDimensions.scalable(0.13f , 0.13f)), - new ControlSpecification(TRControlRegistry.DOOR_TOGGLE, new Vector3f(0.83f , 0.56f, -0.16f), EntityDimensions.scalable(0.13f , 0.13f)), - new ControlSpecification(TRControlRegistry.MONITOR, new Vector3f(-0.6375f , 0.5625f, -0.3875f), EntityDimensions.scalable(0.25f , 0.25f)), - new ControlSpecification(TRControlRegistry.DIMENSION, new Vector3f(0.80f , 0.50f, -0.83f), EntityDimensions.scalable(0.23f , 0.13f)), - new ControlSpecification(TRControlRegistry.FAST_RETURN, new Vector3f(0.72f , 0.75f, -0.09f), EntityDimensions.scalable(0.06f , 0.06f)), - new ControlSpecification(TRControlRegistry.HANDBRAKE, new Vector3f(0.32f , 0.50f, 0.85f), EntityDimensions.scalable(0.13f , 0.13f)), - new ControlSpecification(TRControlRegistry.FUEL, new Vector3f(-0.34f , 0.50f, 0.85f), EntityDimensions.scalable(0.13f , 0.13f)), - new ControlSpecification(TRControlRegistry.READOUT, new Vector3f(-0.01f , 0.75f, 0.65f), EntityDimensions.scalable(0.13f , 0.13f)), - new ControlSpecification(TRControlRegistry.GENERIC_NO_SHOW, new Vector3f(-0.12f , 0.54f, 0.86f), EntityDimensions.scalable(0.13f , 0.13f)), - new ControlSpecification(TRControlRegistry.GENERIC_NO_SHOW, new Vector3f(-0.82f , 0.54f, 0.45f), EntityDimensions.scalable(0.13f , 0.13f)), - new ControlSpecification(TRControlRegistry.GENERIC_NO_SHOW, new Vector3f(-0.90f , 0.51f, 0.24f), EntityDimensions.scalable(0.13f , 0.13f)), - new ControlSpecification(TRControlRegistry.GENERIC_NO_SHOW, new Vector3f(-0.64f , 0.51f, -0.73f), EntityDimensions.scalable(0.13f , 0.13f)), - new ControlSpecification(TRControlRegistry.GENERIC_NO_SHOW, new Vector3f(-0.44f , 0.81f, -0.45f), EntityDimensions.scalable(0.13f , 0.13f)), - new ControlSpecification(TRControlRegistry.GENERIC_NO_SHOW, new Vector3f(-0.59f , 0.81f, -0.17f), EntityDimensions.scalable(0.13f , 0.13f)), - new ControlSpecification(TRControlRegistry.GENERIC_NO_SHOW, new Vector3f(-0.49f , 0.81f, -0.29f), EntityDimensions.scalable(0.13f , 0.13f)), - new ControlSpecification(TRControlRegistry.GENERIC_NO_SHOW, new Vector3f(0.24f , 0.69f, -0.78f), EntityDimensions.scalable(0.13f , 0.13f)), - new ControlSpecification(TRControlRegistry.GENERIC_NO_SHOW, new Vector3f(0.08f , 0.59f, -0.94f), EntityDimensions.scalable(0.13f , 0.13f)), - new ControlSpecification(TRControlRegistry.GENERIC_NO_SHOW, new Vector3f(-0.07f , 0.59f, -0.94f), EntityDimensions.scalable(0.13f , 0.13f)), - new ControlSpecification(TRControlRegistry.GENERIC_NO_SHOW, new Vector3f(0.50f , 0.59f, -0.62f), EntityDimensions.scalable(0.13f , 0.13f)), - new ControlSpecification(TRControlRegistry.GENERIC_NO_SHOW, new Vector3f(0.88f , 0.52f, 0.13f), EntityDimensions.scalable(0.13f , 0.13f)), - new ControlSpecification(TRControlRegistry.GENERIC_NO_SHOW, new Vector3f(0.58f , 0.52f, 0.70f), EntityDimensions.scalable(0.13f , 0.13f)), - new ControlSpecification(TRControlRegistry.GENERIC_NO_SHOW, new Vector3f(0.70f , 0.52f, 0.53f), EntityDimensions.scalable(0.13f , 0.13f)), - new ControlSpecification(TRControlRegistry.GENERIC_NO_SHOW, new Vector3f(0.55f , 0.75f, 0.30f), EntityDimensions.scalable(0.13f , 0.13f)), - new ControlSpecification(TRControlRegistry.GENERIC_NO_SHOW, new Vector3f(0.82f , 0.54f, 0.35f), EntityDimensions.scalable(0.13f , 0.13f)), - new ControlSpecification(TRControlRegistry.GENERIC_NO_SHOW, new Vector3f(0.65f , 0.62f, 0.36f), EntityDimensions.scalable(0.13f , 0.13f)) + return new ControlSpecification[]{ + new ControlSpecification(TRControlRegistry.THROTTLE, new Vector3f(-0.55f, 0.50f, 0.61f), EntityDimensions.scalable(0.25f, 0.25f)), + new ControlSpecification(TRControlRegistry.X, new Vector3f(-0.58f, 0.78f, 0.11f), EntityDimensions.scalable(0.13f, 0.13f)), + new ControlSpecification(TRControlRegistry.Y, new Vector3f(-0.48f, 0.78f, 0.25f), EntityDimensions.scalable(0.13f, 0.13f)), + new ControlSpecification(TRControlRegistry.Z, new Vector3f(-0.40f, 0.77f, 0.39f), EntityDimensions.scalable(0.13f, 0.13f)), + new ControlSpecification(TRControlRegistry.INCREMENT, new Vector3f(-0.72f, 0.66f, 0.16f), EntityDimensions.scalable(0.13f, 0.13f)), + new ControlSpecification(TRControlRegistry.ROTATE, new Vector3f(-0.02f, 0.75f, -0.68f), EntityDimensions.scalable(0.13f, 0.13f)), + new ControlSpecification(TRControlRegistry.RANDOM, new Vector3f(-0.26f, 0.66f, -0.74f), EntityDimensions.scalable(0.13f, 0.13f)), + new ControlSpecification(TRControlRegistry.DOOR_TOGGLE, new Vector3f(0.83f, 0.56f, -0.16f), EntityDimensions.scalable(0.13f, 0.13f)), + new ControlSpecification(TRControlRegistry.MONITOR, new Vector3f(-0.6375f, 0.5625f, -0.3875f), EntityDimensions.scalable(0.25f, 0.25f)), + new ControlSpecification(TRControlRegistry.DIMENSION, new Vector3f(0.80f, 0.50f, -0.83f), EntityDimensions.scalable(0.23f, 0.13f)), + new ControlSpecification(TRControlRegistry.FAST_RETURN, new Vector3f(0.72f, 0.75f, -0.09f), EntityDimensions.scalable(0.06f, 0.06f)), + new ControlSpecification(TRControlRegistry.HANDBRAKE, new Vector3f(0.32f, 0.50f, 0.85f), EntityDimensions.scalable(0.13f, 0.13f)), + new ControlSpecification(TRControlRegistry.FUEL, new Vector3f(-0.34f, 0.50f, 0.85f), EntityDimensions.scalable(0.13f, 0.13f)), + new ControlSpecification(TRControlRegistry.READOUT, new Vector3f(-0.01f, 0.75f, 0.65f), EntityDimensions.scalable(0.13f, 0.13f)), + new ControlSpecification(TRControlRegistry.GENERIC_NO_SHOW, new Vector3f(-0.12f, 0.54f, 0.86f), EntityDimensions.scalable(0.13f, 0.13f)), + new ControlSpecification(TRControlRegistry.GENERIC_NO_SHOW, new Vector3f(-0.82f, 0.54f, 0.45f), EntityDimensions.scalable(0.13f, 0.13f)), + new ControlSpecification(TRControlRegistry.GENERIC_NO_SHOW, new Vector3f(-0.90f, 0.51f, 0.24f), EntityDimensions.scalable(0.13f, 0.13f)), + new ControlSpecification(TRControlRegistry.GENERIC_NO_SHOW, new Vector3f(-0.64f, 0.51f, -0.73f), EntityDimensions.scalable(0.13f, 0.13f)), + new ControlSpecification(TRControlRegistry.GENERIC_NO_SHOW, new Vector3f(-0.44f, 0.81f, -0.45f), EntityDimensions.scalable(0.13f, 0.13f)), + new ControlSpecification(TRControlRegistry.GENERIC_NO_SHOW, new Vector3f(-0.59f, 0.81f, -0.17f), EntityDimensions.scalable(0.13f, 0.13f)), + new ControlSpecification(TRControlRegistry.GENERIC_NO_SHOW, new Vector3f(-0.49f, 0.81f, -0.29f), EntityDimensions.scalable(0.13f, 0.13f)), + new ControlSpecification(TRControlRegistry.GENERIC_NO_SHOW, new Vector3f(0.24f, 0.69f, -0.78f), EntityDimensions.scalable(0.13f, 0.13f)), + new ControlSpecification(TRControlRegistry.GENERIC_NO_SHOW, new Vector3f(0.08f, 0.59f, -0.94f), EntityDimensions.scalable(0.13f, 0.13f)), + new ControlSpecification(TRControlRegistry.GENERIC_NO_SHOW, new Vector3f(-0.07f, 0.59f, -0.94f), EntityDimensions.scalable(0.13f, 0.13f)), + new ControlSpecification(TRControlRegistry.GENERIC_NO_SHOW, new Vector3f(0.50f, 0.59f, -0.62f), EntityDimensions.scalable(0.13f, 0.13f)), + new ControlSpecification(TRControlRegistry.GENERIC_NO_SHOW, new Vector3f(0.88f, 0.52f, 0.13f), EntityDimensions.scalable(0.13f, 0.13f)), + new ControlSpecification(TRControlRegistry.GENERIC_NO_SHOW, new Vector3f(0.58f, 0.52f, 0.70f), EntityDimensions.scalable(0.13f, 0.13f)), + new ControlSpecification(TRControlRegistry.GENERIC_NO_SHOW, new Vector3f(0.70f, 0.52f, 0.53f), EntityDimensions.scalable(0.13f, 0.13f)), + new ControlSpecification(TRControlRegistry.GENERIC_NO_SHOW, new Vector3f(0.55f, 0.75f, 0.30f), EntityDimensions.scalable(0.13f, 0.13f)), + new ControlSpecification(TRControlRegistry.GENERIC_NO_SHOW, new Vector3f(0.82f, 0.54f, 0.35f), EntityDimensions.scalable(0.13f, 0.13f)), + new ControlSpecification(TRControlRegistry.GENERIC_NO_SHOW, new Vector3f(0.65f, 0.62f, 0.36f), EntityDimensions.scalable(0.13f, 0.13f)) }; } } 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 0d3daad5a..87282dfac 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 @@ -22,37 +22,56 @@ * Reusable codec based SimpleJsonResourceReloadListener *
Loads individual JSON files from a specified folder in a datapack, loads them into a registry then syncs the data from server to client via a sync packet. *
Cannot be used to merge multiple JSON files' data togethor, that would require a different implementation. + * * @param */ -public class CodecJsonReloadListener extends SimpleJsonResourceReloadListener{ +public class CodecJsonReloadListener extends SimpleJsonResourceReloadListener { 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; - /** The raw data that we parsed from json last time resources were reloaded **/ + /** + * The raw data that we parsed from json last time resources were reloaded + **/ protected Map data = new HashMap<>(); /** * DO NOT USE THIS CONSTRUCTOR, use the factory method because this needs to use platform-specific logic. *
The default implementation does not send the sync packet, hence the need for a factory method. *
Creates a reload listener with a standard gson parser. + * * @param folderName The name of the data folder that we will load from, vanilla folderNames are "recipes", "loot_tables", etc. - *
Jsons will be read from data/all_modids/folderName/all_jsons - *
folderName can include subfolders, e.g. "modid/folder" - * @param codec A codec to deserialize the json into your T, see javadocs above class + *
Jsons will be read from data/all_modids/folderName/all_jsons + *
folderName can include subfolders, e.g. "modid/folder" + * @param codec A codec to deserialize the json into your T, see javadocs above class */ - protected CodecJsonReloadListener(String folderName, Codec codec) - { + protected CodecJsonReloadListener(String folderName, Codec codec) { this(folderName, codec, TardisRefined.GSON); } - /** DO NOT USE THIS CONSTRUCTOR, use the factory method because this needs to use platform-specific logic. - *
The default implementation does not send the sync packet, hence the need for a factory method.*/ - protected CodecJsonReloadListener(String folderName, Codec codec, Gson gson) - { + + /** + * DO NOT USE THIS CONSTRUCTOR, use the factory method because this needs to use platform-specific logic. + *
The default implementation does not send the sync packet, hence the need for a factory method. + */ + protected CodecJsonReloadListener(String folderName, Codec codec, Gson gson) { super(gson, folderName); this.folderName = folderName; this.codec = codec; } + /** + * Factory method to create an instance of the reload listener that will automatically redirect to the platform-specific implementations. + *
DO NOT USE THE CONSTRUCTORS because the default implementation does not send the sync packet, hence the need for this factory method. + * + * @param folderName + * @param codec + * @param + * @return + */ + @ExpectPlatform + public static CodecJsonReloadListener create(String folderName, Codec codec) { + throw new AssertionError(); + } + @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. @@ -63,6 +82,7 @@ protected void apply(Map jsons, ResourceManager r /** * Define the logic for loading json entries, such as setting registry name + * * @param inputs * @return */ @@ -76,7 +96,10 @@ protected Map mapValues(Map // if we succeeded, add the resulting T to the map this.codec.decode(JsonOps.INSTANCE, element) .get() - .ifLeft(result -> {entries.put(key, result.getFirst()); TardisRefined.LOGGER.info("Adding entry {}", key);}) + .ifLeft(result -> { + entries.put(key, result.getFirst()); + TardisRefined.LOGGER.info("Adding entry {}", key); + }) .ifRight(partial -> TardisRefined.LOGGER.error("Failed to parse data json for {} due to: {}", key, partial.message())); } return entries; @@ -85,17 +108,19 @@ protected Map mapValues(Map /** * Gets all entries loaded by the reload listener. This is the master registry for all entries. *
Since all Tardis Refined desktops are also in JSON form, this means we do not need to manually register entries to this map. + * * @return */ - public Map getData(){ + public Map getData() { return data; } /** * Gets the name of the folder which we are reading JSON files from + * * @return */ - public String getFolderName(){ + public String getFolderName() { return this.folderName; } @@ -104,6 +129,7 @@ public String getFolderName(){ *
Also used for defining platform-specific logic to subscribe to a relevant datapack sync event depending on the platform. *
MUST be called in the main mod class constructor because we are subscribing to mod events. *
Doing so in any other location risks calling it too late to subscribe to events, meaning our sync packet never gets sent when needed. + * * @param networkManager * @param packetFactory * @return @@ -114,28 +140,16 @@ public CodecJsonReloadListener setSyncPacket(final NetworkManager networkMana /** * Common helper method to handle the packet syncing to send data to clients. - * @param player - the player to send data to. If null (such as during server resource reload), will attempt to send to all players + * + * @param player - the player to send data to. If null (such as during server resource reload), will attempt to send to all players * @param networkManager - * @param packetFactory - applies the data to a sync packet that uses Message2C instance with a constructor containing a Map of entries + * @param packetFactory - applies the data to a sync packet that uses Message2C instance with a constructor containing a Map of entries */ - protected void handleSyncPacket(ServerPlayer player, final NetworkManager networkManager, final Function, MessageS2C> packetFactory){ + protected void handleSyncPacket(ServerPlayer player, final NetworkManager networkManager, final Function, MessageS2C> packetFactory) { MessageS2C packet = packetFactory.apply(this.data); if (player == null) networkManager.sendToAllPlayers(packet); else networkManager.sendToPlayer(player, packet); } - /** - * Factory method to create an instance of the reload listener that will automatically redirect to the platform-specific implementations. - *
DO NOT USE THE CONSTRUCTORS because the default implementation does not send the sync packet, hence the need for this factory method. - * @param folderName - * @param codec - * @return - * @param - */ - @ExpectPlatform - public static CodecJsonReloadListener create(String folderName, Codec codec) { - throw new AssertionError(); - } - } \ No newline at end of file diff --git a/common/src/main/java/whocraft/tardis_refined/common/util/CommandHelper.java b/common/src/main/java/whocraft/tardis_refined/common/util/CommandHelper.java index 8ea46c2f3..3bd3461a8 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/util/CommandHelper.java +++ b/common/src/main/java/whocraft/tardis_refined/common/util/CommandHelper.java @@ -60,7 +60,9 @@ public static MutableComponent createComponentSuggestCommand(String text, String return component; } - /** Creates a Text Component but doesn't allow copying of the tooltip text. Instead, will copy the text in the text component*/ + /** + * Creates a Text Component but doesn't allow copying of the tooltip text. Instead, will copy the text in the text component + */ public static MutableComponent createTextWithoutTooltipCopying(String text, String tooltipText) { MutableComponent component = Component.literal("[" + text + "]"); component.withStyle(style -> { 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 e04775cab..07bb805f3 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 @@ -34,10 +34,11 @@ import java.nio.file.InvalidPathException; import java.nio.file.LinkOption; import java.nio.file.Path; + public class DatapackHelper { - public static boolean writeDesktopToFile(ServerLevel level, BlockPos bottomCorner, BlockPos topCorner, boolean includeEntities, ResourceLocation structure, DesktopTheme desktop, String datapackName){ - MinecraftServerStorageAccessor accessor = (MinecraftServerStorageAccessor)level.getServer(); + 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(); Path datapackRoot = rootDir.resolve(datapackName); Path datapackDataFolder = datapackRoot.resolve("data"); @@ -48,28 +49,27 @@ public static boolean writeDesktopToFile(ServerLevel level, BlockPos bottomCorne }).orThrow().getAsJsonObject(); Path output = createAndValidatePathToDatapackObject(datapackDataFolder, desktop.getIdentifier(), TardisDesktops.getReloadListener(), fileExtension); createPackDefinition(datapackRoot); - if (createStructure(level, bottomCorner, topCorner, includeEntities, structure, datapackDataFolder)){ + if (createStructure(level, bottomCorner, topCorner, includeEntities, structure, datapackDataFolder)) { if (saveJsonToPath(currentDesktop, output)) return true; } return false; } - public static boolean saveJsonToPath(JsonElement jsonElement, Path path){ + public static boolean saveJsonToPath(JsonElement jsonElement, Path path) { try { Files.createDirectories(path.getParent()); try (BufferedWriter writer = Files.newBufferedWriter(path)) { writer.write(TardisRefined.GSON.toJson(jsonElement)); } return true; - } - catch (IOException e) { + } catch (IOException e) { TardisRefined.LOGGER.error(e.getMessage().toString()); return false; } } - public static void createPackDefinition(Path packRoot){ + public static void createPackDefinition(Path packRoot) { Path metaFile = packRoot.resolve("pack.mcmeta"); if (!Files.exists(metaFile)) { JsonObject pack = new JsonObject(); @@ -84,14 +84,13 @@ public static void createPackDefinition(Path packRoot){ try (BufferedWriter writer = Files.newBufferedWriter(metaFile)) { writer.write(TardisRefined.GSON.toJson(root)); } - } - catch (IOException e) { + } catch (IOException e) { TardisRefined.LOGGER.error(e.getMessage().toString()); } } } - public static boolean createStructure(ServerLevel level, BlockPos bottomCorner, BlockPos topCorner, boolean includeEntities, ResourceLocation structure, Path packRoot){ + public static boolean createStructure(ServerLevel level, BlockPos bottomCorner, BlockPos topCorner, boolean includeEntities, ResourceLocation structure, Path packRoot) { StructureTemplateManager structureTemplateManager = level.getStructureManager(); StructureTemplate structureTemplate; @@ -108,13 +107,12 @@ public static boolean createStructure(ServerLevel level, BlockPos bottomCorner, // This mimics using the Structure Block's Detect Size feature with CORNER mode, where the start and end corners need to be placed one block diagonally outside the structure area. //Add two to account for the corner blocks so we get the right size dimensions. If we didn't the size will be oversize by one on all sides, when we call StructureTemplate#fillFromWorld - int xSize = (int)boundingBox.getXsize() + 2; - int ySize = (int)boundingBox.getYsize() + 2; - int zSize = (int)boundingBox.getZsize() + 2; + int xSize = (int) boundingBox.getXsize() + 2; + int ySize = (int) boundingBox.getYsize() + 2; + int zSize = (int) boundingBox.getZsize() + 2; Vec3i structureSize = new Vec3i(xSize, ySize, zSize).north().west().below(); //1.19.3+ - use joml maths version - //Add one to each dimension to move the bottom corner position one block inwards, diagonally and upwards. BlockPos pasteStartPos = BlockPos.containing(boundingBox.minX, boundingBox.minY, boundingBox.minZ); 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 c93a9c25b..da4f0d847 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 @@ -17,20 +17,20 @@ public static boolean isAllowedDimension(ResourceKey level) { return !level.location().getNamespace().toString().contains("tardis") && !bannedDimensions.contains(level.location().toString()); } - public static Set> getTardisLevels(MinecraftServer server){ + public static Set> getTardisLevels(MinecraftServer server) { Set> set = Sets.newHashSet(); - for(ServerLevel level : server.getAllLevels()) { - if(level.dimensionTypeId() == TRDimensionTypes.TARDIS){ + for (ServerLevel level : server.getAllLevels()) { + if (level.dimensionTypeId() == TRDimensionTypes.TARDIS) { set.add(level.dimension()); } } return set; } - public static Set> getAllowedDimensions(MinecraftServer server){ + public static Set> getAllowedDimensions(MinecraftServer server) { Set> set = Sets.newHashSet(); - for(ServerLevel level : server.getAllLevels()) { - if(isAllowedDimension(level.dimension())){ + for (ServerLevel level : server.getAllLevels()) { + if (isAllowedDimension(level.dimension())) { set.add(level.dimension()); } } diff --git a/common/src/main/java/whocraft/tardis_refined/common/util/LevelHelper.java b/common/src/main/java/whocraft/tardis_refined/common/util/LevelHelper.java index a020a3877..b47184a00 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/util/LevelHelper.java +++ b/common/src/main/java/whocraft/tardis_refined/common/util/LevelHelper.java @@ -7,46 +7,53 @@ import java.util.ArrayList; import java.util.List; -/** Helpers related to levels **/ +/** + * Helpers related to levels + **/ public class LevelHelper { - public static Vec3 centerPos(BlockPos pos, boolean centerY){ + public static Vec3 centerPos(BlockPos pos, boolean centerY) { return new Vec3(pos.getX() + 0.5, pos.getY() + (centerY ? 0.5 : 0), pos.getZ() + 0.5); } public static float getAdjustedRotation(float rot) { float newR = rot % 360.0F; - if(newR < 0) + if (newR < 0) return 360.0F + newR; return newR; } public static float getAngleFromDirection(Direction dir) { - switch(dir){ - case EAST: return 90.0F; - case SOUTH: return 180.0F; - case WEST: return 270.0F; - default: return 0.0F; + switch (dir) { + case EAST: + return 90.0F; + case SOUTH: + return 180.0F; + case WEST: + return 270.0F; + default: + return 0.0F; } } /** * Gets a list of block positions for every direction - * @param referencePoint - Position to use for searching - * @param radius - Radius around the reference point to search for. - * @param interCardinal - if we need to include intercardinal directions such as (North-East, South-East etc.) + * + * @param referencePoint - Position to use for searching + * @param radius - Radius around the reference point to search for. + * @param interCardinal - if we need to include intercardinal directions such as (North-East, South-East etc.) * @param includeReferencePoint - if we should include the reference point as part of the list too. * @return */ - public static List getBlockPosInRadius(BlockPos referencePoint, int radius, boolean interCardinal, boolean includeReferencePoint){ + public static List getBlockPosInRadius(BlockPos referencePoint, int radius, boolean interCardinal, boolean includeReferencePoint) { List posList = new ArrayList<>(); //Add all horizontal directions, with the option of adding any intercardinal directions (North-East, South-East etc.) List horizontalDirections = new ArrayList<>(); horizontalDirections.addAll(Direction.Plane.HORIZONTAL.stream().toList()); - for (Direction dir : horizontalDirections){ + for (Direction dir : horizontalDirections) { BlockPos offsettedPos = referencePoint.relative(dir, radius); posList.add(offsettedPos); if (interCardinal) { @@ -56,7 +63,7 @@ public static List getBlockPosInRadius(BlockPos referencePoint, int ra } //If we want to include the original reference point, add it as well. - if(includeReferencePoint) + if (includeReferencePoint) posList.add(referencePoint); return posList; 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 484a7a2bb..8f802e368 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 @@ -24,7 +24,8 @@ * Reusable codec based SimplePreparableReloadListener *
Loads individual JSON files from a specified folder in a datapack, loads them into a registry then syncs the data from server to client via a sync packet. *
This is used to merge multiple JSON files' data togethor, smilar to vanilla's tag files, datapacks can define tags with the same modid:name and merge all entries into the same list - * @param - The object that the codec is parsing json into + * + * @param - The object that the codec is parsing json into * @param - The type of the object after merging the parsed objects. Can be the same type as RAW */ public class MergeableCodecJsonReloadListener extends SimplePreparableReloadListener> { @@ -36,38 +37,57 @@ public class MergeableCodecJsonReloadListener extends SimplePrep protected final Function, PROCESSED> merger; - /** The raw data that we parsed from json last time resources were reloaded **/ + /** + * The raw data that we parsed from json last time resources were reloaded + **/ protected Map data = new HashMap<>(); /** * DO NOT USE THIS CONSTRUCTOR, use the factory method because this needs to use platform-specific logic. *
The default implementation does not send the sync packet, hence the need for a factory method. *
Creates a reload listener with a standard gson parser. + * * @param folderName The name of the data folder that we will load from, vanilla folderNames are "recipes", "loot_tables", etc. - *
Jsons will be read from data/all_modids/folderName/all_jsons - *
folderName can include subfolders, e.g. "modid/folder" - * @param codec A codec to deserialize the json into your T, see javadocs above class + *
Jsons will be read from data/all_modids/folderName/all_jsons + *
folderName can include subfolders, e.g. "modid/folder" + * @param codec A codec to deserialize the json into your T, see javadocs above class */ - protected MergeableCodecJsonReloadListener(String folderName, Codec codec, final Function, PROCESSED> merger) - { + protected MergeableCodecJsonReloadListener(String folderName, Codec codec, final Function, PROCESSED> merger) { this(folderName, codec, TardisRefined.GSON, merger); } - /** DO NOT USE THIS CONSTRUCTOR, use the factory method because this needs to use platform-specific logic. - *
The default implementation does not send the sync packet, hence the need for a factory method.*/ - protected MergeableCodecJsonReloadListener(String folderName, Codec codec, Gson gson, final Function, PROCESSED> merger) - { + + /** + * DO NOT USE THIS CONSTRUCTOR, use the factory method because this needs to use platform-specific logic. + *
The default implementation does not send the sync packet, hence the need for a factory method. + */ + protected MergeableCodecJsonReloadListener(String folderName, Codec codec, Gson gson, final Function, PROCESSED> merger) { this.folderName = folderName; this.codec = codec; this.merger = merger; } + /** + * Factory method to create an instance of the reload listener that will automatically redirect to the platform-specific implementations. + *
DO NOT USE THE CONSTRUCTORS because the default implementation does not send the sync packet, hence the need for this factory method. + * + * @param folderName + * @param codec + * @param - The object that the codec is parsing json into + * @param - The type of the object after merging the parsed objects. Can be the same type as RAW + * @return + */ + @ExpectPlatform + public static MergeableCodecJsonReloadListener create(String folderName, Codec codec) { + throw new AssertionError(); + } + @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); Map map = new HashMap<>(); - Map> resourceStacks = resourceManager.listResourceStacks(this.folderName, id -> id.getPath().endsWith(EXTENSION_NAME)); + Map> resourceStacks = resourceManager.listResourceStacks(this.folderName, id -> id.getPath().endsWith(EXTENSION_NAME)); map = this.mapValues(resourceStacks); @@ -75,7 +95,9 @@ protected Map prepare(ResourceManager resourceManag return Map.copyOf(map); } - /** Main-thread processing, runs after prepare concludes **/ + /** + * Main-thread processing, runs after prepare concludes + **/ @Override protected void apply(final Map processedData, final ResourceManager resourceManager, final ProfilerFiller profiler) { // now that we're on the main thread, we can finalize the data @@ -84,10 +106,11 @@ protected void apply(final Map processedData, final /** * Define the logic for loading json entries, such as setting registry name + * * @param inputs * @return */ - protected Map mapValues(Map> inputs) { + protected Map mapValues(Map> inputs) { Map entries = new HashMap<>(); for (var entry : inputs.entrySet()) { @@ -97,18 +120,20 @@ protected Map mapValues(Map {raws.add(result.getFirst()); TardisRefined.LOGGER.info("Adding entry for {}", key);}) + .ifLeft(result -> { + raws.add(result.getFirst()); + TardisRefined.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())); - } - catch(Exception e) { + } 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); } } @@ -121,22 +146,26 @@ protected Map mapValues(Map Since all Tardis Refined desktops are also in JSON form, this means we do not need to manually register entries to this map. + * * @return */ - public Map getData(){ + public Map getData() { return this.data; } - /** Overrides the existing data, ONLY use for the sync packet*/ - public void setData (Map data){ + /** + * Overrides the existing data, ONLY use for the sync packet + */ + public void setData(Map data) { this.data = data; } /** * Gets the name of the folder which we are reading JSON files from + * * @return */ - public String getFolderName(){ + public String getFolderName() { return this.folderName; } @@ -145,6 +174,7 @@ public String getFolderName(){ *
Also used for defining platform-specific logic to subscribe to a relevant datapack sync event depending on the platform. *
MUST be called in the main mod class constructor because we are subscribing to mod events. *
Doing so in any other location risks calling it too late to subscribe to events, meaning our sync packet never gets sent when needed. + * * @param networkManager * @param packetFactory * @return @@ -155,29 +185,16 @@ public MergeableCodecJsonReloadListener setSyncPacket(final Netw /** * Common helper method to handle the packet syncing to send data to clients. - * @param player - the player to send data to. If null (such as during server resource reload), will attempt to send to all players + * + * @param player - the player to send data to. If null (such as during server resource reload), will attempt to send to all players * @param networkManager - * @param packetFactory - applies the data to a sync packet that uses Message2C instance with a constructor containing a Map of entries + * @param packetFactory - applies the data to a sync packet that uses Message2C instance with a constructor containing a Map of entries */ - protected void handleSyncPacket(ServerPlayer player, final NetworkManager networkManager, final Function, MessageS2C> packetFactory){ + protected void handleSyncPacket(ServerPlayer player, final NetworkManager networkManager, final Function, MessageS2C> packetFactory) { MessageS2C packet = packetFactory.apply(this.data); if (player == null) networkManager.sendToAllPlayers(packet); else networkManager.sendToPlayer(player, packet); } - /** - * Factory method to create an instance of the reload listener that will automatically redirect to the platform-specific implementations. - *
DO NOT USE THE CONSTRUCTORS because the default implementation does not send the sync packet, hence the need for this factory method. - * @param folderName - * @param codec - * @param - The object that the codec is parsing json into - * @param - The type of the object after merging the parsed objects. Can be the same type as RAW - * @return - */ - @ExpectPlatform - public static MergeableCodecJsonReloadListener create(String folderName, Codec codec) { - throw new AssertionError(); - } - } \ No newline at end of file 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 cb6842593..89264668c 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 @@ -55,9 +55,9 @@ public static ResourceKey idToKey(ResourceLocation identifier) { public static boolean performTeleport(Entity pEntity, ServerLevel pLevel, double pX, double pY, double pZ, float pYaw, float pPitch) { TardisRefined.LOGGER.debug("Teleported {} to {} {} {}", pEntity.getDisplayName().getString(), pX, pY, pZ); - int xRound = (int)pX; - int yRound = (int)pY; - int zRound = (int)pZ; + int xRound = (int) pX; + int yRound = (int) pY; + int zRound = (int) pZ; BlockPos blockpos = new BlockPos(xRound, yRound, zRound); @@ -140,7 +140,7 @@ public static boolean shouldCancelBreaking(Level world, Entity entity, BlockPos TardisLevelOperator data = TardisLevelOperator.get(serverLevel).get(); for (ProtectedZone protectedZone : data.getInteriorManager().unbreakableZones()) { boolean shouldCancel = !protectedZone.isAllowBreaking() && isBlockPosInBox(pos, protectedZone.getArea()); - if(shouldCancel) return true; + if (shouldCancel) return true; } } @@ -152,11 +152,11 @@ public static String getCleanDimensionName(ResourceKey dimensionKey) { } public static String getCleanName(String name) { - var noUnderscores = name.replace("_", " "); - return WordUtils.capitalizeFully(noUnderscores); + var noUnderscores = name.replace("_", " "); + return WordUtils.capitalizeFully(noUnderscores); } - public static DamageSource getDamageSource(ServerLevel level, ResourceKey damageTypeResourceKey){ + public static DamageSource getDamageSource(ServerLevel level, ResourceKey damageTypeResourceKey) { Holder.Reference damageType = level.registryAccess() .registryOrThrow(Registries.DAMAGE_TYPE) .getHolderOrThrow(damageTypeResourceKey); @@ -166,14 +166,15 @@ public static DamageSource getDamageSource(ServerLevel level, ResourceKey + * @return */ - public static ArrayList unionList(List setOne, List setTwo){ - if(setOne != null){ - if (setTwo != null){ + public static ArrayList unionList(List setOne, List setTwo) { + if (setOne != null) { + if (setTwo != null) { ArrayList finalSet = new ArrayList<>(); finalSet.addAll(setOne); finalSet.addAll(setTwo); 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 ce9bb633b..7f2d60757 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 @@ -36,8 +36,14 @@ public static boolean isServer() { throw new AssertionError(); } + @ExpectPlatform + public static boolean isForge() { + throw new AssertionError(); + } + @ExpectPlatform public static MinecraftServer getServer() { throw new AssertionError(); } + } \ No newline at end of file diff --git a/common/src/main/java/whocraft/tardis_refined/common/util/RegistryHelper.java b/common/src/main/java/whocraft/tardis_refined/common/util/RegistryHelper.java index 08df73343..6c7725bee 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/util/RegistryHelper.java +++ b/common/src/main/java/whocraft/tardis_refined/common/util/RegistryHelper.java @@ -5,6 +5,7 @@ import net.minecraft.resources.ResourceKey; import net.minecraft.resources.ResourceLocation; import net.minecraft.tags.TagKey; +import net.minecraft.world.item.Item; import net.minecraft.world.level.biome.Biome; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.levelgen.feature.ConfiguredFeature; @@ -43,6 +44,11 @@ public static TagKey makeBlockTag(String modid, String name) { return TagKey.create(Registries.BLOCK, new ResourceLocation(modid, name)); } + public static TagKey makeItemTag(String modid, String name) { + return TagKey.create(Registries.ITEM, new ResourceLocation(modid, name)); + } + + public static ResourceLocation getKey(ConsoleTheme theme) { return ConsoleTheme.CONSOLE_THEME_DEFERRED_REGISTRY.getKey(theme); } 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 697442a24..b720aedcb 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 @@ -33,6 +33,7 @@ public class TRTeleporter { /** * Variant of teleport method where there is no need to track teleported entities + * * @param pEntity * @param pLevel * @param pX @@ -47,7 +48,6 @@ public static boolean simpleTeleport(Entity pEntity, ServerLevel pLevel, double } /** - * * @param pEntity * @param pLevel * @param pX @@ -64,6 +64,7 @@ public static boolean fullTeleport(Entity pEntity, ServerLevel pLevel, double pX /** * Intermediate teleport logic that adds in sanity checks and tracks the teleported entities + * * @param pEntity * @param destination * @param pX @@ -82,7 +83,7 @@ private static boolean performTeleport(Entity pEntity, ServerLevel destination, float updatedYRot = Mth.wrapDegrees(pYaw); float updatedXRot = Mth.wrapDegrees(pPitch); - if(ModCompatChecker.immersivePortals()){ + if (ModCompatChecker.immersivePortals()) { pEntity.setYRot(updatedYRot); //Set the desired yRot and xRot before teleportation. For non-players, this means the facing is copied over to the copy of the entity which we recreate. For players, it should update the rotation with the correct facing at the destination pEntity.setXRot(updatedXRot); ImmersivePortals.teleportViaIp(pEntity, destination, pX, pY, pZ); @@ -96,10 +97,10 @@ private static boolean performTeleport(Entity pEntity, ServerLevel destination, //Teleport this entity regardless if it's a vehicle or passenger teleportedEntity = teleportLogicCommon(pEntity, destination, pX, pY, pZ, updatedYRot, updatedXRot); - if (teleportedEntity != null){ + if (teleportedEntity != null) { // update teleported entities set to keep track of entities teleported. Check if the list already contains our entity because this will be modified by the TardisTeleportData too - if(!teleportedEntities.contains(pEntity)) + if (!teleportedEntities.contains(pEntity)) teleportedEntities.add(pEntity); return true; @@ -113,6 +114,7 @@ private static boolean performTeleport(Entity pEntity, ServerLevel destination, /** * Common logic that consolidates both player specific and non-player teleportation logic. *
Handles post-teleportation logic that is common to all teleported entities + * * @param pEntity * @param destination * @param pX @@ -122,7 +124,7 @@ private static boolean performTeleport(Entity pEntity, ServerLevel destination, * @param pPitch * @return */ - private static Entity teleportLogicCommon(Entity pEntity, ServerLevel destination, double pX, double pY, double pZ, float pYaw, float pPitch){ + private static Entity teleportLogicCommon(Entity pEntity, ServerLevel destination, double pX, double pY, double pZ, float pYaw, float pPitch) { pEntity.setDeltaMovement(Vec3.ZERO); @@ -135,19 +137,19 @@ private static Entity teleportLogicCommon(Entity pEntity, ServerLevel destinatio teleportedEntity = teleportNonPlayerEntity(pEntity, destination, pX, pY, pZ, pYaw, pPitch); } - if (teleportedEntity != null){ + if (teleportedEntity != null) { return teleportedEntity; } return null; } - private static Entity postTeleportCommon(Entity teleportedEntity, ServerLevel destination, double pX, double pY, double pZ){ + private static Entity postTeleportCommon(Entity teleportedEntity, ServerLevel destination, double pX, double pY, double pZ) { ChunkPos chunkpos = new ChunkPos(BlockPos.containing(pX, pY, pZ)); destination.getChunkSource().addRegionTicket(TicketType.POST_TELEPORT, chunkpos, 1, teleportedEntity.getId()); //Handle Elytra flying - Logic matches vanilla TeleportCommand if ((teleportedEntity instanceof LivingEntity livingEntity)) { - if(!livingEntity.isFallFlying()){ + if (!livingEntity.isFallFlying()) { teleportedEntity.setOnGround(true); } } @@ -157,18 +159,17 @@ private static Entity postTeleportCommon(Entity teleportedEntity, ServerLevel de } //Handle active potion effects - if(teleportedEntity instanceof LivingEntity livingEntity) { + if (teleportedEntity instanceof LivingEntity livingEntity) { if (livingEntity instanceof ServerPlayer serverPlayer) { - for(MobEffectInstance effectInstance : new ArrayList<>(livingEntity.getActiveEffects())) { + for (MobEffectInstance effectInstance : new ArrayList<>(livingEntity.getActiveEffects())) { serverPlayer.connection.send(new ClientboundUpdateMobEffectPacket(serverPlayer.getId(), effectInstance)); } - } - else { + } else { reAddStatusEffectTempFix(livingEntity); } } - ((ServerLevel)teleportedEntity.level()).resetEmptyTime(); + ((ServerLevel) teleportedEntity.level()).resetEmptyTime(); destination.resetEmptyTime(); return teleportedEntity; @@ -176,6 +177,7 @@ private static Entity postTeleportCommon(Entity teleportedEntity, ServerLevel de /** * Common logic that consolidates the player specific teleport logic + * * @param serverPlayer * @param destination * @param pX @@ -185,7 +187,7 @@ private static Entity postTeleportCommon(Entity teleportedEntity, ServerLevel de * @param updatedXRot * @return */ - private static ServerPlayer teleportPlayer(ServerPlayer serverPlayer, ServerLevel destination, double pX, double pY, double pZ, float updatedYRot, float updatedXRot){ + private static ServerPlayer teleportPlayer(ServerPlayer serverPlayer, ServerLevel destination, double pX, double pY, double pZ, float updatedYRot, float updatedXRot) { if (serverPlayer.isSleeping()) { serverPlayer.stopSleepInBed(true, true); } @@ -196,13 +198,12 @@ private static ServerPlayer teleportPlayer(ServerPlayer serverPlayer, ServerLeve if (destination == serverPlayer.level()) { serverPlayer.connection.teleport(pX, pY, pZ, updatedYRot, updatedXRot); //Must update the player position via packets as opposed to raw setPos - } - else { + } else { serverPlayer = teleportPlayerOtherDimension(serverPlayer, destination, pX, pY, pZ, updatedYRot, updatedXRot); } //Handle vehicle teleport if the player was riding a vehicle - if (vehicle != null){ + if (vehicle != null) { ServerPlayer teleportedPlayer = serverPlayer; @@ -217,17 +218,16 @@ private static ServerPlayer teleportPlayer(ServerPlayer serverPlayer, ServerLeve Entity teleportedVehicle; //If for some reason the vehicle is actually a player (Can occur if the multiplayer server adds a plugin that allows players to mount other players) - if (vehicle instanceof ServerPlayer vehiclePlayer){ + if (vehicle instanceof ServerPlayer vehiclePlayer) { vehiclePlayer.teleportTo(destination, pX, pY, pZ, updatedYRot, updatedXRot); teleportedVehicle = vehiclePlayer; - } - else { //Normally the vehicle is a non-player entity so we will handle it as an extra non-player entity teleport + } else { //Normally the vehicle is a non-player entity so we will handle it as an extra non-player entity teleport teleportedVehicle = teleportNonPlayerEntity(vehicle, destination, pX, pY, pZ, vehicle.getYRot(), vehicle.getXRot()); if (teleportedVehicle != null) updatePosAndLastTickPos(teleportedVehicle, newVehiclePos, newVehicleLastTickPos); } - destination.getServer().tell( new TickTask(10, () -> teleportedPlayer.startRiding(teleportedVehicle, true))); //Remount the vehicle after teleporting the vehicle to the player across dimensions + destination.getServer().tell(new TickTask(10, () -> teleportedPlayer.startRiding(teleportedVehicle, true))); //Remount the vehicle after teleporting the vehicle to the player across dimensions reSyncVehicleToPassengerPos(serverPlayer); } @@ -258,6 +258,7 @@ private static ServerPlayer teleportPlayer(ServerPlayer serverPlayer, ServerLeve /** * Handle cross-dimension teleportation for the player and teleportation of the vehicle that the player was riding prior to the player being teleported *
The player data is always updated during cross-dimension teleportation, whereas non-player entities require a new instance of the entity, with recreated data, to prevent entity AI from bugging out + * * @param serverPlayer * @param destination * @param pX @@ -267,13 +268,14 @@ private static ServerPlayer teleportPlayer(ServerPlayer serverPlayer, ServerLeve * @param updatedXRot * @return */ - private static ServerPlayer teleportPlayerOtherDimension(ServerPlayer serverPlayer, ServerLevel destination, double pX, double pY, double pZ, float updatedYRot, float updatedXRot){ + private static ServerPlayer teleportPlayerOtherDimension(ServerPlayer serverPlayer, ServerLevel destination, double pX, double pY, double pZ, float updatedYRot, float updatedXRot) { serverPlayer.teleportTo(destination, pX, pY, pZ, updatedYRot, updatedXRot); return serverPlayer; } /** * Master logic for Non player entity teleports. Accounts for when the entity is a vehicle and handles passenger teleportation + * * @param pEntity * @param destination * @param pX @@ -283,7 +285,7 @@ private static ServerPlayer teleportPlayerOtherDimension(ServerPlayer serverPlay * @param xRot * @return */ - private static Entity teleportNonPlayerEntity(Entity pEntity, ServerLevel destination, double pX, double pY, double pZ, float yRot, float xRot){ + private static Entity teleportNonPlayerEntity(Entity pEntity, ServerLevel destination, double pX, double pY, double pZ, float yRot, float xRot) { //For non player entities, always create new instances if inter dimensional teleporting float adjustedXRot = Mth.clamp(xRot, -90.0F, 90.0F); @@ -306,7 +308,7 @@ private static Entity teleportNonPlayerEntity(Entity pEntity, ServerLevel destin //If we had specified a vehicle entity to ride, start riding assuming we have already teleported if (handlePassengerTeleport) { //If one or more passengers, then this is a vehicle and we must teleport all passengers - if (!passengers.isEmpty()){ + if (!passengers.isEmpty()) { pEntity.unRide(); //Teleport the vehicle teleportedEntity = teleportNonPlayerEntityRegular(pEntity, destination, pX, pY, pZ, yRot, adjustedXRot); @@ -317,13 +319,12 @@ private static Entity teleportNonPlayerEntity(Entity pEntity, ServerLevel destin passengers.stream().map( passenger -> teleportPassengerForNonEntityDimensionTeleport(passenger, destination, pX, pY, pZ, yRot, adjustedXRot) ).collect(Collectors.toList()).forEach(teleportedPassenger -> { - if (teleportedPassenger != null){ - destination.getServer().tell( new TickTask(10, () -> teleportedPassenger.startRiding(finalTeleportedEntity, true))); + if (teleportedPassenger != null) { + destination.getServer().tell(new TickTask(10, () -> teleportedPassenger.startRiding(finalTeleportedEntity, true))); } }); } - } - else{ + } else { teleportedEntity = teleportNonPlayerEntityRegular(pEntity, destination, pX, pY, pZ, yRot, adjustedXRot); } @@ -332,6 +333,7 @@ private static Entity teleportNonPlayerEntity(Entity pEntity, ServerLevel destin /** * Common logic to consolidate non-player teleports + * * @param pEntity * @param destination * @param pX @@ -341,15 +343,14 @@ private static Entity teleportNonPlayerEntity(Entity pEntity, ServerLevel destin * @param xRot * @return */ - private static Entity teleportNonPlayerEntityRegular(Entity pEntity, ServerLevel destination, double pX, double pY, double pZ, float yRot, float xRot){ + private static Entity teleportNonPlayerEntityRegular(Entity pEntity, ServerLevel destination, double pX, double pY, double pZ, float yRot, float xRot) { Preconditions.checkState(!pEntity.level().isClientSide(), "Entities can only be teleported on the server side"); Entity teleportedEntity; pEntity.setDeltaMovement(Vec3.ZERO); //Teleport the current entity (which we know is a vehicle) if (destination == pEntity.level()) { teleportedEntity = teleportNonPlayerEntitySameDimension(pEntity, pX, pY, pZ, yRot, xRot); - } - else { + } else { teleportedEntity = teleportNonPlayerEntityOtherDimension(pEntity, destination, pX, pY, pZ, yRot, xRot); } @@ -359,7 +360,6 @@ private static Entity teleportNonPlayerEntityRegular(Entity pEntity, ServerLevel } /** - * * @param passenger * @param destination * @param pX @@ -369,13 +369,12 @@ private static Entity teleportNonPlayerEntityRegular(Entity pEntity, ServerLevel * @param xRot * @return */ - private static Entity teleportPassengerForNonEntityDimensionTeleport(Entity passenger, ServerLevel destination, double pX, double pY, double pZ, float yRot, float xRot){ + private static Entity teleportPassengerForNonEntityDimensionTeleport(Entity passenger, ServerLevel destination, double pX, double pY, double pZ, float yRot, float xRot) { Entity teleportedPassenger; - if (passenger instanceof ServerPlayer serverPlayerPassenger){ + if (passenger instanceof ServerPlayer serverPlayerPassenger) { //The player teleportation logic will automatically handle remounting after teleporting teleportedPassenger = teleportPlayer(serverPlayerPassenger, destination, pX, pY, pZ, yRot, xRot); - } - else { + } else { //Use the master logic for non-player teleports incase this passenger happens to be a vehicle as well teleportedPassenger = teleportNonPlayerEntity(passenger, destination, pX, pY, pZ, yRot, xRot); } @@ -413,18 +412,19 @@ private static Entity teleportNonPlayerEntityOtherDimension(Entity pEntity, Serv /** * Helper to allow non-full blocks to properly detect if the player is inside its visual bounding box for teleportation, assuming we are using Block#entityInside as the trigger *
This is needed as by default, vanilla always considers a full block (1x1) area for Block#entityInside as valid, which we don't want, since our block's bounding box is not a full block + * * @param serverLevel * @param blockPos * @param entity * @param teleportAABB * @return */ - public static boolean teleportIfCollided(ServerLevel serverLevel, BlockPos blockPos, Entity entity, AABB teleportAABB){ + public static boolean teleportIfCollided(ServerLevel serverLevel, BlockPos blockPos, Entity entity, AABB teleportAABB) { AABB entityBoundingBox = TRTeleporter.getBoundingBoxWithMovement(entity); double insideBlockExpansion = 1.0E-7D; //Hardcoded value replicates logic from Entity#checkInsideBlocks AABB inflatedEntityBoundingBox = entityBoundingBox.inflate(insideBlockExpansion); AABB inflatedTeleportBoundingBox = teleportAABB.inflate(insideBlockExpansion); - if (inflatedTeleportBoundingBox.intersects(inflatedEntityBoundingBox)){ + if (inflatedTeleportBoundingBox.intersects(inflatedEntityBoundingBox)) { return true; } return false; @@ -463,7 +463,9 @@ public static AABB getBoundingBoxWithMovement(Entity entity) { return box; } - /** Make sure vehicles are positioned close enough to the specified entity so that remounting after teleportation is possible*/ + /** + * Make sure vehicles are positioned close enough to the specified entity so that remounting after teleportation is possible + */ private static boolean reSyncVehicleToPassengerPos(Entity entity) { Entity vehicle = entity.getVehicle(); if (vehicle == null) { @@ -491,17 +493,20 @@ private static boolean reSyncVehicleToPassengerPos(Entity entity) { } - /** Helper to get the last ticked position of the Entity, vanilla doesn't have a helper, so we add one for our uses*/ + /** + * Helper to get the last ticked position of the Entity, vanilla doesn't have a helper, so we add one for our uses + */ private static Vec3 lastTickPosOf(Entity entity) { return new Vec3(entity.xo, entity.yo, entity.zo); } - /** When we set position of entities during teleportation, we sometimes need to force update their position from the previous tick + /** + * When we set position of entities during teleportation, we sometimes need to force update their position from the previous tick * Some vanilla anti-cheat logic looks at both the last ticked position AND if the movement was abnormal (which can happen during teleportation) * then it will reset the entity's position which can produce unexpected results after releportation * We want to prevent this so this is a helper to allow for tihs - * */ - private static void updatePosAndLastTickPos(Entity entity, Vec3 updatedPos, Vec3 lastTickPos){ + */ + private static void updatePosAndLastTickPos(Entity entity, Vec3 updatedPos, Vec3 lastTickPos) { entity.setPos(updatedPos); entity.xOld = lastTickPos.x; entity.yOld = lastTickPos.y; @@ -511,7 +516,7 @@ private static void updatePosAndLastTickPos(Entity entity, Vec3 updatedPos, Vec3 entity.zo = lastTickPos.z; } - private static boolean doesVehicleContainPlayer(Entity vehicle){ + private static boolean doesVehicleContainPlayer(Entity vehicle) { if (vehicle instanceof Player) { return true; } @@ -533,15 +538,15 @@ public static boolean canTeleportTo(BlockPos pPos, Level level, Entity entity) { } - private static boolean safetyCheck(Entity pEntity, ServerLevel destination, double pX, double pY, double pZ, boolean safeBlockCheck, Set teleportedEntities){ + private static boolean safetyCheck(Entity pEntity, ServerLevel destination, double pX, double pY, double pZ, boolean safeBlockCheck, Set teleportedEntities) { int xRound = (int) pX; int yRound = (int) pY; int zRound = (int) pZ; BlockPos blockpos = new BlockPos(xRound, yRound, zRound); - 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 + 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()); return false; } diff --git a/common/src/main/java/whocraft/tardis_refined/common/util/TardisHelper.java b/common/src/main/java/whocraft/tardis_refined/common/util/TardisHelper.java index 07fc1150f..18d65f74b 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/util/TardisHelper.java +++ b/common/src/main/java/whocraft/tardis_refined/common/util/TardisHelper.java @@ -153,9 +153,9 @@ public static boolean teleportEntityTardis(TardisLevelOperator cap, Entity entit BlockPos targetTeleportPos = destinationPos; /**If for some reason we are trying to enter the Tardis, but the destination dimension is not a Tardis dimension type, don't teleport - This can occur if the exterior shell we are entering has an invalid {@link whocraft.tardis_refined.common.blockentity.shell.ShellBaseBlockEntity#TARDIS_ID} which will occur for older releases due to a bug that was present until 2.0.2 + This can occur if the exterior shell we are entering has an invalid {@link whocraft.tardis_refined.common.blockentity.shell.ShellBaseBlockEntity#TARDIS_ID} which will occur for older releases due to a bug that was present until 2.0.2 */ - if(enterTardis && destinationLevel.dimensionTypeId() != TRDimensionTypes.TARDIS){ + if (enterTardis && destinationLevel.dimensionTypeId() != TRDimensionTypes.TARDIS) { return false; } @@ -199,7 +199,7 @@ public static boolean hasTheEndBeenCompleted(ServerLevel serverLevel) { if (serverLevel.dimension() == Level.END) { if (serverLevel.getDragonFight() != null) { - return ((EndDragonFightAccessor) serverLevel.getDragonFight()).isDragonKilled(); + return ((EndDragonFightAccessor) serverLevel.getDragonFight()).isDragonKilled(); } return false; // Better safe than sorry. @@ -208,17 +208,19 @@ public static boolean hasTheEndBeenCompleted(ServerLevel serverLevel) { return false; } - /** Common logic that we should apply to players if they happen to teleport to, respawn, or login to a Tardis - *
Ejecting players that happen to login to a Tardis dimension whilst the Tardis is still generating a desktop, we don't want them to suffocate*/ - public static void handlePlayerJoinWorldEvents(ServerPlayer serverPlayer){ - if (serverPlayer != null){ - if (serverPlayer.serverLevel() != null){ + /** + * Common logic that we should apply to players if they happen to teleport to, respawn, or login to a Tardis + *
Ejecting players that happen to login to a Tardis dimension whilst the Tardis is still generating a desktop, we don't want them to suffocate + */ + public static void handlePlayerJoinWorldEvents(ServerPlayer serverPlayer) { + if (serverPlayer != null) { + if (serverPlayer.serverLevel() != null) { ServerLevel playerLevel = serverPlayer.serverLevel(); - if(TardisLevelOperator.get(playerLevel).isPresent()){ + if (TardisLevelOperator.get(playerLevel).isPresent()) { TardisLevelOperator cap = TardisLevelOperator.get(playerLevel).get(); //Handle ejecting players if they login to a Tardis dimension where the Tardis is in progress of generating a desktop - if (cap.getInteriorManager().isGeneratingDesktop()){ + if (cap.getInteriorManager().isGeneratingDesktop()) { //Delay the force ejecting to account for the chunk not being fully loaded, which can happen in the player change dimension event. playerLevel.getServer().tell(new TickTask(10, () -> cap.forceEjectPlayer(serverPlayer) diff --git a/common/src/main/java/whocraft/tardis_refined/common/world/chunk/ARSStructurePiece.java b/common/src/main/java/whocraft/tardis_refined/common/world/chunk/ARSStructurePiece.java index c24248a7c..aee0c1553 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/world/chunk/ARSStructurePiece.java +++ b/common/src/main/java/whocraft/tardis_refined/common/world/chunk/ARSStructurePiece.java @@ -11,6 +11,7 @@ public class ARSStructurePiece { /** * 3x3 chunk structure used to place infinite corridor generation. + * * @param resourceLocation ResourceLocation of the structure file */ public ARSStructurePiece(ResourceLocation resourceLocation) { @@ -19,10 +20,12 @@ public ARSStructurePiece(ResourceLocation resourceLocation) { /** * Fetch the resource location of the piece + * * @return resource location of the piece */ - public ResourceLocation getResourceLocation() {return resourceLocation;} - + public ResourceLocation getResourceLocation() { + return resourceLocation; + } } diff --git a/common/src/main/java/whocraft/tardis_refined/common/world/feature/NbtTemplateFeature.java b/common/src/main/java/whocraft/tardis_refined/common/world/feature/NbtTemplateFeature.java index fce7bc70e..e07a096fc 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/world/feature/NbtTemplateFeature.java +++ b/common/src/main/java/whocraft/tardis_refined/common/world/feature/NbtTemplateFeature.java @@ -18,8 +18,9 @@ import java.util.Optional; -/** Custom Feature implementation that allows for use of NBT templates - * */ +/** + * Custom Feature implementation that allows for use of NBT templates + */ public class NbtTemplateFeature extends Feature { private final BlockIgnoreProcessor IGNORE_STRUCTURE_VOID = new BlockIgnoreProcessor(ImmutableList.of(Blocks.STRUCTURE_VOID)); diff --git a/common/src/main/java/whocraft/tardis_refined/common/world/feature/config/NbtTemplateFeatureConfig.java b/common/src/main/java/whocraft/tardis_refined/common/world/feature/config/NbtTemplateFeatureConfig.java index 35b7866ad..d77275c06 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/world/feature/config/NbtTemplateFeatureConfig.java +++ b/common/src/main/java/whocraft/tardis_refined/common/world/feature/config/NbtTemplateFeatureConfig.java @@ -5,8 +5,9 @@ import net.minecraft.resources.ResourceLocation; import net.minecraft.world.level.levelgen.feature.configurations.FeatureConfiguration; -/** List of parameters for configuring an instance of the feature - * */ +/** + * List of parameters for configuring an instance of the feature + */ public class NbtTemplateFeatureConfig implements FeatureConfiguration { public static final Codec CODEC = RecordCodecBuilder.create((instance) -> instance.group( @@ -17,7 +18,7 @@ public class NbtTemplateFeatureConfig implements FeatureConfiguration { public final int heightOffset; public final ResourceLocation templateLocation; - public NbtTemplateFeatureConfig(ResourceLocation templateLocation, int heightOffset){ + public NbtTemplateFeatureConfig(ResourceLocation templateLocation, int heightOffset) { this.templateLocation = templateLocation; this.heightOffset = heightOffset; } diff --git a/common/src/main/java/whocraft/tardis_refined/compat/CuriosTrinketsSlotInv.java b/common/src/main/java/whocraft/tardis_refined/compat/CuriosTrinketsSlotInv.java new file mode 100644 index 000000000..4b178c2e7 --- /dev/null +++ b/common/src/main/java/whocraft/tardis_refined/compat/CuriosTrinketsSlotInv.java @@ -0,0 +1,30 @@ +package whocraft.tardis_refined.compat; + +import net.minecraft.world.item.ItemStack; + +public interface CuriosTrinketsSlotInv { + + CuriosTrinketsSlotInv EMPTY = new CuriosTrinketsSlotInv() { + @Override + public int getSlots() { + return 0; + } + + @Override + public ItemStack getStackInSlot(int index) { + return ItemStack.EMPTY; + } + + @Override + public void setStackInSlot(int index, ItemStack stack) { + + } + }; + + int getSlots(); + + ItemStack getStackInSlot(int index); + + void setStackInSlot(int index, ItemStack stack); + +} \ No newline at end of file diff --git a/common/src/main/java/whocraft/tardis_refined/compat/CuriosTrinketsUtil.java b/common/src/main/java/whocraft/tardis_refined/compat/CuriosTrinketsUtil.java new file mode 100644 index 000000000..00b2ed96b --- /dev/null +++ b/common/src/main/java/whocraft/tardis_refined/compat/CuriosTrinketsUtil.java @@ -0,0 +1,115 @@ +package whocraft.tardis_refined.compat; + +import net.minecraft.core.registries.Registries; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.tags.TagKey; +import net.minecraft.world.entity.EquipmentSlot; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.ItemStack; +import whocraft.tardis_refined.common.items.GlassesItem; +import whocraft.tardis_refined.common.util.Platform; + +import java.util.ArrayList; +import java.util.List; + +public class CuriosTrinketsUtil { + + public static final Slot HAT = new Slot("head", "head/hat"); + public static final Slot FACE = new Slot("head", "head/face"); + public static final Slot NECKLACE = new Slot("necklace", "chest/necklace"); + public static final Slot HEAD = new Slot("timelord_sight", "head/hat"); + public static final Slot BACK_NATIVE = new Slot("back", "chest/back"); + public static final Slot CAPE = new Slot("back", "chest/cape"); + public static final Slot BELT = new Slot("belt", "legs/belt"); + public static final Slot HAND = new Slot("hand", "hand/glove"); + public static final Slot OFFHAND = new Slot("hand", "offhand/glove"); + public static final Slot RING = new Slot("hand", "hand/ring"); + public static final Slot OFFHAND_RING = new Slot("ring", "offhand/ring"); + private static CuriosTrinketsUtil INSTANCE = new CuriosTrinketsUtil(); + + public static CuriosTrinketsUtil getInstance() { + return INSTANCE; + } + + public static void setInstance(CuriosTrinketsUtil instance) { + INSTANCE = instance; + } + + public boolean isTrinkets() { + return false; + } + + public boolean isCurios() { + return false; + } + + public ItemStack getFirstFoundGlider(LivingEntity livingEntity) { + return findGlasses(livingEntity, FACE.identifier, HAT.identifier, NECKLACE.identifier, HEAD.identifier); + } + + public ItemStack findGlasses(LivingEntity entity, String... slots) { + + if (entity.getItemBySlot(EquipmentSlot.HEAD).getItem() instanceof GlassesItem) { + return entity.getItemBySlot(EquipmentSlot.HEAD); + } + + for (String slot : slots) { + List items = getItemsInSlot(entity, slot); + for (ItemStack item : items) { + if (item.getItem() instanceof GlassesItem gliderItem) { + return item; + } + } + } + return ItemStack.EMPTY; + } + + public List getItemsInSlot(LivingEntity entity, String slot) { + var inv = this.getSlot(entity, slot); + List items = new ArrayList<>(); + + for (int i = 0; i < inv.getSlots(); i++) { + var stack = inv.getStackInSlot(i); + + if (!stack.isEmpty()) { + items.add(stack); + } + } + + return items; + } + + public CuriosTrinketsSlotInv getSlot(LivingEntity entity, String slot) { + return CuriosTrinketsSlotInv.EMPTY; + } + + public CuriosTrinketsSlotInv getSlot(LivingEntity entity, Slot slot) { + return this.getSlot(entity, (Platform.isForge() ? slot.getForge() : slot.getFabric()).location().getPath()); + } + + public static class Slot { + + private final TagKey forge, fabric; + private final String identifier; + + public Slot(String forge, String fabric) { + this.forge = TagKey.create(Registries.ITEM, new ResourceLocation("curios:" + forge)); + this.fabric = TagKey.create(Registries.ITEM, new ResourceLocation("trinkets:" + fabric)); + this.identifier = Platform.isForge() ? forge : fabric; + } + + public String identifier() { + return identifier; + } + + public TagKey getFabric() { + return fabric; + } + + public TagKey getForge() { + return forge; + } + } + +} \ No newline at end of file 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 31cc42fba..ff3850cb0 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 @@ -23,6 +23,10 @@ public class BOTIPortalEntity extends Portal { ShellTheme shellTheme = ShellTheme.FACTORY.get(); private boolean isValid = false; + public BOTIPortalEntity(EntityType entityType, Level world) { + super(entityType, world); + } + public ShellTheme getShellTheme() { return shellTheme; } @@ -31,10 +35,6 @@ public void setShellTheme(ShellTheme shellTheme) { this.shellTheme = shellTheme; } - public BOTIPortalEntity(EntityType entityType, Level world) { - super(entityType, world); - } - @Override protected void addAdditionalSaveData(CompoundTag compoundTag) { super.addAdditionalSaveData(compoundTag); @@ -51,7 +51,7 @@ protected void readAdditionalSaveData(CompoundTag compoundTag) { if (compoundTag.contains(NbtConstants.TARDIS_ID)) { setTardisId(compoundTag.getUUID(NbtConstants.TARDIS_ID)); } - if(compoundTag.contains("valid")) { + if (compoundTag.contains("valid")) { setValid(compoundTag.getBoolean("valid")); } else { isValid = 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 98fa632e5..29b4df45f 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 @@ -49,20 +49,20 @@ public class ImmersivePortals { - public static RegistrySupplier> BOTI_PORTAL = null; private static final Map EXISTING_PORTALS = new HashMap<>(); // 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 void clearPortalCache(){ + public static void clearPortalCache() { EXISTING_PORTALS.clear(); } - public static boolean doPortalsExistForTardis(UUID uuid){ + public static boolean doPortalsExistForTardis(UUID uuid) { return EXISTING_PORTALS.containsKey(uuid); } - public static PortalEntry getPortalsForTardis(UUID uuid){ + public static PortalEntry getPortalsForTardis(UUID uuid) { return EXISTING_PORTALS.get(uuid); } @@ -260,7 +260,7 @@ public static boolean onDoorRemoved(Level level, Player player, BlockPos blockPo public static void createPortals(TardisLevelOperator operator) { // Just for debugging editing values - if(!Platform.isProduction()) { + if (!Platform.isProduction()) { setupPortalsForShellThemes(); } @@ -274,12 +274,12 @@ public static void createPortals(TardisLevelOperator operator) { TardisInternalDoor door = operator.getInternalDoor(); TardisPilotingManager pilotingManager = operator.getPilotingManager(); - if(!isShellThemeSupported(theme)){ + if (!isShellThemeSupported(theme)) { destroyPortals(operator); //we're going to make sure. return; } - if (interiorManager.isCave() || door != null && !door.isOpen() || !operator.isTardisReady() || EXISTING_PORTALS.get(dimId) != null || door == null) { + if (interiorManager.isCave() || door != null && !door.isOpen() || !operator.isTardisReady() || EXISTING_PORTALS.get(dimId) != null || door == null) { return; } 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 38bbebe41..613e6642b 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 @@ -9,7 +9,7 @@ public class ImmersivePortalsClient { @Environment(EnvType.CLIENT) public static void doClientRenderers() { - if(ImmersivePortals.BOTI_PORTAL == null) return; + if (ImmersivePortals.BOTI_PORTAL == null) return; EntityRendererRegistry.register(ImmersivePortals.BOTI_PORTAL.get(), BotiPortalRenderer::new); } diff --git a/common/src/main/java/whocraft/tardis_refined/compat/portals/PortalEntry.java b/common/src/main/java/whocraft/tardis_refined/compat/portals/PortalEntry.java index d878dd780..35442bc02 100644 --- a/common/src/main/java/whocraft/tardis_refined/compat/portals/PortalEntry.java +++ b/common/src/main/java/whocraft/tardis_refined/compat/portals/PortalEntry.java @@ -6,9 +6,9 @@ public class PortalEntry { - private BOTIPortalEntity internalPortal, shellPortal; ShellTheme shellTheme; UUID tardisId; + private BOTIPortalEntity internalPortal, shellPortal; public PortalEntry(BOTIPortalEntity internalPortal, BOTIPortalEntity shellPortal, ShellTheme shellTheme, UUID tardisId) { this.internalPortal = internalPortal; @@ -33,7 +33,7 @@ public BOTIPortalEntity getInternalPortal() { return internalPortal; } - public boolean isPortalValidForEntry(BOTIPortalEntity portalEntity){ + public boolean isPortalValidForEntry(BOTIPortalEntity portalEntity) { return portalEntity.getUUID() != internalPortal.getUUID() && portalEntity.getUUID() != shellPortal.getUUID(); } diff --git a/common/src/main/java/whocraft/tardis_refined/compat/portals/ScannerViewScreen.java b/common/src/main/java/whocraft/tardis_refined/compat/portals/ScannerViewScreen.java index 18718cda8..cc10c7a00 100644 --- a/common/src/main/java/whocraft/tardis_refined/compat/portals/ScannerViewScreen.java +++ b/common/src/main/java/whocraft/tardis_refined/compat/portals/ScannerViewScreen.java @@ -57,17 +57,16 @@ * */ public class ScannerViewScreen { - /** - * The Framebuffer that the GUI portal is going to render onto - */ - @Environment(EnvType.CLIENT) - private static RenderTarget frameBuffer; - /** * A weak hash map storing ChunkLoader objects for each players */ private static final WeakHashMap chunkLoaderMap = new WeakHashMap<>(); + /** + * The Framebuffer that the GUI portal is going to render onto + */ + @Environment(EnvType.CLIENT) + private static RenderTarget frameBuffer; /** * Remove the GUI portal chunk loader for a player @@ -80,7 +79,6 @@ private static void removeChunkLoaderFor(ServerPlayer player) { } - public static void onCommandExecuted(ServerPlayer player, ServerLevel world, Vec3 pos) { removeChunkLoaderFor(player); @@ -131,6 +129,9 @@ public static class GuiPortalScreen extends Screen { private final ResourceKey viewingDimension; private final Vec3 viewingPosition; + protected int imageWidth = 256; + protected int imageHeight = 173; + private int leftPos, topPos; public GuiPortalScreen(ResourceKey viewingDimension, Vec3 viewingPosition) { super(Component.literal("")); @@ -155,11 +156,6 @@ public void onClose() { ); } - protected int imageWidth = 256; - protected int imageHeight = 173; - private int leftPos, topPos; - - @Override public void render(GuiGraphics guiGraphics, int mouseX, int mouseY, float delta) { super.render(guiGraphics, mouseX, mouseY, delta); @@ -203,21 +199,20 @@ public void render(GuiGraphics guiGraphics, int mouseX, int mouseY, float delta) .build(); // Ask it to render the world into the framebuffer the next frame - if(frameBuffer != null && worldRenderInfo != null) { - GuiPortalRendering.submitNextFrameRendering(worldRenderInfo, frameBuffer); + if (frameBuffer != null && worldRenderInfo != null) { + GuiPortalRendering.submitNextFrameRendering(worldRenderInfo, frameBuffer); - - // Draw the framebuffer + // Draw the framebuffer int h = minecraft.getWindow().getHeight(); int w = minecraft.getWindow().getWidth(); - MyRenderHelper.drawFramebuffer( - frameBuffer, - true, // enable alpha blend - false, // don't modify alpha - w * 0.2f, w * 0.8f, - h * 0.2f, h * 0.8f - ); + MyRenderHelper.drawFramebuffer( + frameBuffer, + true, // enable alpha blend + false, // don't modify alpha + w * 0.2f, w * 0.8f, + h * 0.2f, h * 0.8f + ); } } 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 ba251a5af..5dd198b41 100644 --- a/common/src/main/java/whocraft/tardis_refined/constants/ModMessages.java +++ b/common/src/main/java/whocraft/tardis_refined/constants/ModMessages.java @@ -6,59 +6,6 @@ public class ModMessages { /* Related Links*/ - public static String GITHUB_RELEASE_PAGE = "https://github.com/Jeryn99/TardisRefined/releases"; - - /*Item Special cases*/ - public static String ITEM_KEYCHAIN = "item."+ TardisRefined.MODID + ".keychain"; - 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"); - public static String CONTROL_DIMENSION_SELECTED = message("selected"); - public static String HARDWARE_OFFLINE = message("hardware_offline"); - public static String ASCEND_KEY = message("ascend_key"); - public static String DESCEND_KEY = message("descend_key"); - public static String EXIT_EXTERNAL_VIEW = message("exit_external_view"); - - public static String NO_FLIGHT_TRANSITIVE = message("no_flight_transitive"); - public static String HANDBRAKE_ENGAGED = message("handbrake_engaged"); - public static String HANDBRAKE_DISENGAGED = message("handbrake_disengaged"); - public static String HANDBRAKE = message("handbrake"); - public static String HANDBRAKE_WARNING = message("handbrake_warning"); - public static String CONSOLE_CONFIGURATION_NOT_IN_FLIGHT = message("console_config_not_in_flight"); - public static String CONSOLE_NOT_IN_FLIGHT = message("cannot_switch_console_units_whilst_in_flight"); - public static String NO_END_DRAGON_PREVENTS = message("no_end_dragon_prevents"); - 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 TOOLTIP_IN_FLIGHT = message("tooltip_in_flight"); - public static String RECOVERY_PROGRESS = message("recovery_progress"); - - public static String FUEL = message("fuel"); - public static String REFUEL = message("refuel_engaged"); - public static String STOP_REFUEL = message("refuel_stopped"); - public static String FUEL_OFFLINE = message("fuel_offline"); - - public static String DOOR_LOCKED = message("door_locked"); - public static String DOOR_UNLOCKED = message("door_unlocked"); - - public static String NO_DESKTOP_NO_FUEL = message("desktop_cancel_not_enough_fuel"); - - public static String ASTRAL_MANIPULATOR_ENGAGED = message("astral_manipulator_engaged"); - public static String ROOT_PLANT_CUT_OPEN = message("root_plant_cut_open"); - public static String WAYPOINT_LOADED = message("waypoint_loaded"); - public static String CANNOT_START_NO_FUEL = message("cannot_start_no_fuel"); - - public static String CURRENT = message("current"); - public static String DESTINATION = message("destination"); - - - - public static String TOOLTIP_TARDIS_LIST_TITLE = tooltip("tardis_list"); - public static String TOOLTIP_SCREWDRIVER_DESCRIPTION = tooltip("screwdriver_description"); - /*UI Messages*/ public static final String UI_DESKTOP_CANCEL_DESKTOP = ui("monitor.cancel_desktop"); public static final String UI_DESKTOP_CANCEL_TITLE = ui("monitor.desktop_cancel.title"); @@ -85,68 +32,99 @@ public class ModMessages { public static final String UI_MONITOR_WAYPOINT_EDIT = ui("monitor.waypoints.edit"); public static final String UI_MONITOR_WAYPOINT_DELETE = ui("monitor.waypoints.delete"); public static final String UI_MONITOR_WAYPOINT_SUBMIT = ui("monitor.waypoints.submit"); - - public static final String VANILLA_SELECT_WORLD = "selectWorld.search"; + public static final String VANILLA_SELECT_WORLD = "selectWorld.search"; public static final String UI_WAYPOINT_NAME_PLACEHOLDER = "monitor.waypoints.name.placeholder"; - public static final String UI_WAYPOINT_NEW_WAYPOINT = "monitor.waypoints.new_waypoint"; - public static final String UI_WAYPOINT_TAKEN = "monitor.waypoints.taken"; + public static final String UI_WAYPOINT_NEW_WAYPOINT = "monitor.waypoints.new_waypoint"; + public static final String UI_WAYPOINT_TAKEN = "monitor.waypoints.taken"; public static final String UI_MONITOR_ISSUES = ui("monitor.waypoints.issues"); - public static final String UI_MONITOR_WAYPOINT_ISSUE_NAME = ui("monitor.waypoints.issues.name"); public static final String UI_MONITOR_WAYPOINT_ISSUE_X = ui("monitor.waypoints.issues.x"); public static final String UI_MONITOR_WAYPOINT_ISSUE_Y = ui("monitor.waypoints.issues.y"); public static final String UI_MONITOR_WAYPOINT_ISSUE_Z = ui("monitor.waypoints.issues.z"); - public static final String UI_MONITOR_WAYPOINT_NAME = ui("monitor.waypoint_name"); public static final String UI_UPGRADES = ui("upgrades"); public static final String UI_UPGRADES_BUY = ui("upgrades.buy_ability"); public static final String UI_NO_INSTALLED_SUBSYSTEMS = ui("no_installed_subsystems"); - 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_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"); public static final String CMD_EXPORT_DESKTOP_IN_PROGRESS = cmdOutput("export_desktop.in_progress"); public static final String CMD_EXPORT_DESKTOP_SUCCESS = cmdOutput("export_desktop.success"); public static final String CMD_EXPORT_DESKTOP_RESOURCE_PACK = cmdOutput("export_desktop.resource_pack"); public static final String CMD_EXPORT_DESKTOP_FAIL = cmdOutput("export_desktop.fail"); - public static final String CMD_LEVEL_POINT_GET = cmdOutput("level.point.get"); public static final String CMD_LEVEL_POINT_SET = cmdOutput("level.point.set"); public static final String CMD_LEVEL_POINT_ADD = cmdOutput("level.point.add"); - public static final String CMD_LEVEL_XP_GET = cmdOutput("level.xp.get"); public static final String CMD_LEVEL_XP_SET = cmdOutput("level.xp.set"); public static final String CMD_LEVEL_XP_ADD = cmdOutput("level.xp.add"); - public static final String CMD_UPGRADE_LOCK = cmdOutput("upgrade.lock"); - public static final String CMD_UPGRADE_UNLOCK = cmdOutput("upgrade.unlock"); - public static final String CMD_CREATE_TARDIS_IN_PROGRESS = cmdOutput("create.in_progress"); - public static final String CMD_CREATE_TARDIS_SUCCESS = cmdOutput("create.success"); - public static final String CMD_ARG_UPGRADE_INVALID = cmdArgInvalid("upgrade"); - public static final String CMD_ARG_DESKTOP_INVALID = cmdArgInvalid("desktop"); - 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 String GITHUB_RELEASE_PAGE = "https://github.com/Jeryn99/TardisRefined/releases"; + /*Item Special cases*/ + public static String ITEM_KEYCHAIN = "item." + TardisRefined.MODID + ".keychain"; + 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"); + public static String CONTROL_DIMENSION_SELECTED = message("selected"); + public static String HARDWARE_OFFLINE = message("hardware_offline"); + public static String ASCEND_KEY = message("ascend_key"); + public static String DESCEND_KEY = message("descend_key"); + public static String EXIT_EXTERNAL_VIEW = message("exit_external_view"); + public static String NO_FLIGHT_TRANSITIVE = message("no_flight_transitive"); + public static String HANDBRAKE_ENGAGED = message("handbrake_engaged"); + public static String HANDBRAKE_DISENGAGED = message("handbrake_disengaged"); + public static String HANDBRAKE = message("handbrake"); + public static String HANDBRAKE_WARNING = message("handbrake_warning"); + public static String CONSOLE_CONFIGURATION_NOT_IN_FLIGHT = message("console_config_not_in_flight"); + public static String CONSOLE_NOT_IN_FLIGHT = message("cannot_switch_console_units_whilst_in_flight"); + public static String NO_END_DRAGON_PREVENTS = message("no_end_dragon_prevents"); + 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 TOOLTIP_IN_FLIGHT = message("tooltip_in_flight"); + public static String RECOVERY_PROGRESS = message("recovery_progress"); + public static String FUEL = message("fuel"); + public static String REFUEL = message("refuel_engaged"); + public static String STOP_REFUEL = message("refuel_stopped"); + public static String FUEL_OFFLINE = message("fuel_offline"); + public static String DOOR_LOCKED = message("door_locked"); + public static String DOOR_UNLOCKED = message("door_unlocked"); + public static String NO_DESKTOP_NO_FUEL = message("desktop_cancel_not_enough_fuel"); + public static String ASTRAL_MANIPULATOR_ENGAGED = message("astral_manipulator_engaged"); + public static String ROOT_PLANT_CUT_OPEN = message("root_plant_cut_open"); + public static String WAYPOINT_LOADED = message("waypoint_loaded"); + public static String CANNOT_START_NO_FUEL = message("cannot_start_no_fuel"); + public static String CURRENT = message("current"); + public static String DESTINATION = message("destination"); + public static String TOOLTIP_TARDIS_LIST_TITLE = tooltip("tardis_list"); + public static String TOOLTIP_SCREWDRIVER_DESCRIPTION = tooltip("screwdriver_description"); - - - public static String message(String translationKey){ + public static String message(String translationKey) { return "message." + TardisRefined.MODID + "." + translationKey; } - public static String ui(String translationKey){ + public static String ui(String translationKey) { return "ui." + TardisRefined.MODID + "." + translationKey; } + + public static String keybind(String translationKey) { + return "keybind." + TardisRefined.MODID + "." + translationKey; + } + public static String desktop(String translationKey) { return "desktop." + TardisRefined.MODID + "." + translationKey; } 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 5df73d90c..f338c9795 100644 --- a/common/src/main/java/whocraft/tardis_refined/constants/NbtConstants.java +++ b/common/src/main/java/whocraft/tardis_refined/constants/NbtConstants.java @@ -108,7 +108,7 @@ public static void putTardisNavLocation(CompoundTag tag, String prefix, TardisNa tag.putInt(prefix + NbtConstants.LOCATION_ROTATION, location.getDirection().get2DDataValue()); - if(location == null || location.getDimensionKey() == null) return; + if (location == null || location.getDimensionKey() == null) return; ResourceKey dimKey = location.getDimensionKey(); tag.putString(prefix + NbtConstants.LOCATION_DIMENSION_MODID, dimKey.location().getNamespace()); tag.putString(prefix + NbtConstants.LOCATION_DIMENSION_PATH, dimKey.location().getPath()); diff --git a/common/src/main/java/whocraft/tardis_refined/patterns/BasePattern.java b/common/src/main/java/whocraft/tardis_refined/patterns/BasePattern.java index 1250c03c1..3ccc393f3 100644 --- a/common/src/main/java/whocraft/tardis_refined/patterns/BasePattern.java +++ b/common/src/main/java/whocraft/tardis_refined/patterns/BasePattern.java @@ -9,13 +9,15 @@ import whocraft.tardis_refined.common.util.MiscHelper; import java.util.Objects; -/** Template for patterns. Patterns are assigned to a theme based on PatternCollection, though they also hold an instance of the Theme ID for lookup purposes.*/ + +/** + * Template for patterns. Patterns are assigned to a theme based on PatternCollection, though they also hold an instance of the Theme ID for lookup purposes. + */ public abstract class BasePattern { private final ResourceLocation identifier; - private String name; - protected ResourceLocation themeId; + private String name; public BasePattern(String id) { this(new ResourceLocation(TardisRefined.MODID, id)); @@ -45,9 +47,11 @@ public ResourceLocation id() { return this.identifier; } - public ResourceLocation getThemeId() {return this.themeId;} + public ResourceLocation getThemeId() { + return this.themeId; + } - public BasePattern setThemeId(ResourceLocation themeId){ + public BasePattern setThemeId(ResourceLocation themeId) { this.themeId = themeId; return this; } diff --git a/common/src/main/java/whocraft/tardis_refined/patterns/ConsolePattern.java b/common/src/main/java/whocraft/tardis_refined/patterns/ConsolePattern.java index 9029f34b6..0f6836950 100644 --- a/common/src/main/java/whocraft/tardis_refined/patterns/ConsolePattern.java +++ b/common/src/main/java/whocraft/tardis_refined/patterns/ConsolePattern.java @@ -39,15 +39,15 @@ public ConsolePattern(ResourceLocation identifier, String name, PatternTexture t this.consoleSoundProfile = consoleSoundProfile; } - public PatternTexture patternTexture(){ + public PatternTexture patternTexture() { return patternTexture; } - public ResourceLocation texture(){ + public ResourceLocation texture() { return this.patternTexture.texture(); } - public ResourceLocation emissiveTexture(){ + public ResourceLocation emissiveTexture() { return this.patternTexture.emissiveTexture(); } diff --git a/common/src/main/java/whocraft/tardis_refined/patterns/ConsolePatternCollection.java b/common/src/main/java/whocraft/tardis_refined/patterns/ConsolePatternCollection.java index e76cf2a61..366c7edff 100644 --- a/common/src/main/java/whocraft/tardis_refined/patterns/ConsolePatternCollection.java +++ b/common/src/main/java/whocraft/tardis_refined/patterns/ConsolePatternCollection.java @@ -5,7 +5,7 @@ import java.util.List; -public class ConsolePatternCollection extends PatternCollection{ +public class ConsolePatternCollection extends PatternCollection { public static final Codec CODEC = RecordCodecBuilder.create(instance -> { return instance.group( 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 c2f0e30fb..54f16e898 100644 --- a/common/src/main/java/whocraft/tardis_refined/patterns/ConsolePatterns.java +++ b/common/src/main/java/whocraft/tardis_refined/patterns/ConsolePatterns.java @@ -14,15 +14,13 @@ /** * Data manager for all {@link ConsolePattern}(s) */ -public class ConsolePatterns{ +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(); - 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()); - - public static PatternReloadListener getReloadListener(){ + public static PatternReloadListener getReloadListener() { return PATTERNS; } @@ -30,37 +28,47 @@ public static Map> getRegistry() { return PATTERNS.getData(); } - /** Lookup the list of {@link ConsolePattern}(s) in a {@link ConsolePatternCollection} for a given {@link ConsoleTheme}*/ + /** + * Lookup the list of {@link ConsolePattern}(s) in a {@link ConsolePatternCollection} for a given {@link ConsoleTheme} + */ public static List getPatternsForTheme(ResourceLocation consoleThemeId) { return PATTERNS.getData().get(consoleThemeId); } - /** Retrieves a pattern from a default list of patterns, for use when Capabiliteis or Cardinal Components classloads patterns before datapack loading*/ + /** + * Retrieves a pattern from a default list of patterns, for use when Capabiliteis or Cardinal Components classloads patterns before datapack loading + */ public static List getPatternsForThemeDefault(ResourceLocation consoleThemeId) { return DEFAULT_PATTERNS.get(consoleThemeId); } - /** Helper method to get a {@link ConsolePatternCollection} by theme ID */ + /** + * Helper method to get a {@link ConsolePatternCollection} by theme ID + */ public static List getPatternCollectionForTheme(ResourceLocation consoleThemeId) { return PATTERNS.getData().get(consoleThemeId); } - /** Lookup a {@link ConsoleTheme} based on a singular {@link ConsolePattern} + /** + * Lookup a {@link ConsoleTheme} based on a singular {@link ConsolePattern} *
As there is a many-to-one relationship between {@link ConsolePattern} and {@link ConsoleTheme} *
as well as a one-to-one relationship between a {@link ShellPatternCollection} and {@link ShellTheme}, - * we will iterate through all {@link ShellPatternCollection} (which holds the theme ID) and find matchine ones*/ + * we will iterate through all {@link ShellPatternCollection} (which holds the theme ID) and find matchine ones + */ public static ConsoleTheme getThemeForPattern(ConsolePattern pattern) { Map> entries = ConsolePatterns.getRegistry(); - for (Map.Entry> entry : entries.entrySet()){ - if (pattern.getThemeId() == entry.getKey()){ + for (Map.Entry> entry : entries.entrySet()) { + if (pattern.getThemeId() == entry.getKey()) { return ConsoleTheme.CONSOLE_THEME_REGISTRY.get(entry.getKey()); } } return ConsoleTheme.FACTORY.get(); } - /** Sanity check to make sure a Pattern for a ConsoleTheme exists - *
A likely use case for this is when entries for the patterns are being modified in some way, such as when something triggers datapacks to be reloaded*/ + /** + * Sanity check to make sure a Pattern for a ConsoleTheme exists + *
A likely use case for this is when entries for the patterns are being modified in some way, such as when something triggers datapacks to be reloaded + */ public static boolean doesPatternExist(ResourceLocation consoleThemeId, ResourceLocation patternId) { List consolePatterns = getPatternsForTheme(consoleThemeId); for (ConsolePattern consolePattern : consolePatterns) { @@ -71,7 +79,9 @@ public static boolean doesPatternExist(ResourceLocation consoleThemeId, Resource return false; } - /** Lookup up a {@link ConsolePattern} within a particular {@link ConsoleTheme} or get the first one in the list if the input pattern id cannot be found*/ + /** + * Lookup up a {@link ConsolePattern} within a particular {@link ConsoleTheme} or get the first one in the list if the input pattern id cannot be found + */ public static ConsolePattern getPatternOrDefault(ResourceLocation consoleThemeId, ResourceLocation id) { List consolePatterns = getPatternsForTheme(consoleThemeId); for (ConsolePattern consolePattern : consolePatterns) { @@ -87,9 +97,11 @@ public static ConsolePattern next(ResourceLocation consoleThemeId, ConsolePatter return next(collection, currentPattern); } - /** Helper to get the next available {@link ConsolePattern} in the current {@link ConsolePatternCollection}*/ + /** + * Helper to get the next available {@link ConsolePattern} in the current {@link ConsolePatternCollection} + */ public static ConsolePattern next(List patterns, ConsolePattern currentPattern) { - if(currentPattern == null){ + if (currentPattern == null) { return patterns.get(0); } @@ -105,14 +117,16 @@ private static ConsolePattern addDefaultPattern(ResourceLocation themeId, String } - /** Constructs and a {@link ConsolePattern}, then adds it to a {@link ConsolePatternCollection}, which is assigned to a {@link ConsoleTheme}. + /** + * Constructs and a {@link ConsolePattern}, then adds it to a {@link ConsolePatternCollection}, which is assigned to a {@link ConsoleTheme}. *
The {@link ConsolePatternCollection} is then added to an internal default map *
Also assigns the {@link ConsolePattern} its parent {@link ConsoleTheme}'s ID + * * @implSpec INTERNAL USE ONLY - * */ + */ private static ConsolePattern 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); + 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); @@ -129,29 +143,35 @@ private static ConsolePattern addDefaultPattern(ResourceLocation themeId, String return pattern; } - /** @implSpec INTERNAL USE ONLY */ - private static ResourceLocation createConsolePatternTextureLocation(ResourceLocation themeId, String textureName){ + /** + * @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; } - /** Gets a default list of {@link ConsolePattern} added by Tardis Refined. Useful as a fallback list. + /** + * Gets a default list of {@link ConsolePattern} added by Tardis Refined. Useful as a fallback list. *
Requires calling {@link ConsolePatterns#registerDefaultPatterns} first + * * @implNote Used for datagen providers when we may need to lookup the map multiple times, but only need to register default entries once. - * */ - public static Map> getDefaultPatterns(){ + */ + public static Map> getDefaultPatterns() { return DEFAULT_PATTERNS; } - public static Map getDefaultPatternsDatagen(){ + 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()))); return defaults; } - /** Registers the Tardis Refined default Console Patterns and returns a map of them by Theme ID - *
Should only be called ONCE when needed*/ + /** + * Registers the Tardis Refined default Console Patterns and returns a map of them by Theme ID + *
Should only be called ONCE when needed + */ public static Map> registerDefaultPatterns() { DEFAULT_PATTERNS.clear(); /*Add Base Textures*/ diff --git a/common/src/main/java/whocraft/tardis_refined/patterns/PatternCollection.java b/common/src/main/java/whocraft/tardis_refined/patterns/PatternCollection.java index 32d628957..9b65bf76f 100644 --- a/common/src/main/java/whocraft/tardis_refined/patterns/PatternCollection.java +++ b/common/src/main/java/whocraft/tardis_refined/patterns/PatternCollection.java @@ -5,12 +5,13 @@ import java.util.*; -/** Collection for holding multiple patterns, to be assigned to a specific Console or Shell Theme +/** + * Collection for holding multiple patterns, to be assigned to a specific Console or Shell Theme *
This acts as a more debuggable bridging object between Themes and Patterns. *
The output of this object is the JSON array part of a pattern JSON. *
There is a many-to-one connection between BasePattern and a Theme *
Hence, we tend to assign BasePattern the Theme ID which technically bypasses this object, but this object is still needed nonetheless - * */ + */ public abstract class PatternCollection { protected ResourceLocation themeId; @@ -24,30 +25,32 @@ public PatternCollection(List patterns) { this(false, patterns); } - public PatternCollection(boolean isReplace, List patterns){ + public PatternCollection(boolean isReplace, List patterns) { this.isReplace = isReplace; this.patterns = patterns; } - public PatternCollection setThemeId(ResourceLocation themeId){ + public PatternCollection setThemeId(ResourceLocation themeId) { this.themeId = themeId; return this; } - public List patterns(){ + public List patterns() { return this.patterns; } - public boolean isReplace(){ + public boolean isReplace() { return this.isReplace; } - public PatternCollection setPatterns(List patterns){ + public PatternCollection setPatterns(List patterns) { this.patterns = patterns; return this; } - public ResourceLocation themeId(){ return this.themeId;} + public ResourceLocation themeId() { + return this.themeId; + } public abstract Codec> getCodec(); 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 34497d6c9..d3b5c13de 100644 --- a/common/src/main/java/whocraft/tardis_refined/patterns/PatternReloadListener.java +++ b/common/src/main/java/whocraft/tardis_refined/patterns/PatternReloadListener.java @@ -16,13 +16,36 @@ import java.util.*; import java.util.function.Function; -/** Slightly modified version of CodecJsonReloadListener to account for needing to call setThemeId on the PatternCollection*/ +/** + * Slightly modified version of CodecJsonReloadListener to account for needing to call setThemeId on the PatternCollection + */ public class PatternReloadListener extends MergeableCodecJsonReloadListener> { protected PatternReloadListener(String folderName, Codec codec, final Function, List> merger) { super(folderName, codec, merger); } + public static ArrayList processPatternCollections(final List patternCollections) { + return patternCollections.stream().reduce(new ArrayList(), PatternReloadListener::mergeOrReplacePatterns, MiscHelper::unionList); + } + + public static ArrayList mergeOrReplacePatterns(ArrayList set, final C nextPatternCollection) { + return addPatterns(nextPatternCollection.isReplace() ? new ArrayList() : set, nextPatternCollection.patterns()); + } + + public static ArrayList addPatterns(final List finalPatterns, final List patterns) { + ArrayList finalPatternsModified = MiscHelper.unionList(finalPatterns, patterns); + return finalPatternsModified; + } + + /** + * Need to create this static method here as the Architectuary ExpectPlatform Annotation used in CodecJsonReloadListener requires a static builder method to construct an instance + */ + @ExpectPlatform + public static

PatternReloadListener createListener(String folderName, Codec

codec, final Function, List> merger) { + throw new AssertionError(); + } + @Override protected Map> mapValues(Map> inputs) { Map> entries = new HashMap<>(); @@ -34,8 +57,8 @@ protected Map> mapValues(Map> mapValues(Map { raws.add((T) result.getFirst().setThemeId(key)); - TardisRefined.LOGGER.info("Adding entry for {}", key);}) + TardisRefined.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())); - } - catch(Exception e) { + } 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); } } @@ -56,23 +79,4 @@ protected Map> mapValues(Map ArrayList processPatternCollections(final List patternCollections) { - return patternCollections.stream().reduce(new ArrayList(), PatternReloadListener::mergeOrReplacePatterns, MiscHelper::unionList); - } - - public static ArrayList mergeOrReplacePatterns(ArrayList set, final C nextPatternCollection){ - return addPatterns(nextPatternCollection.isReplace() ? new ArrayList() : set, nextPatternCollection.patterns()); - } - - public static ArrayList addPatterns(final List finalPatterns, final List patterns){ - ArrayList finalPatternsModified = MiscHelper.unionList(finalPatterns, patterns); - return finalPatternsModified; - } - - /** Need to create this static method here as the Architectuary ExpectPlatform Annotation used in CodecJsonReloadListener requires a static builder method to construct an instance*/ - @ExpectPlatform - public static

PatternReloadListener createListener(String folderName, Codec

codec, final Function, List> merger) { - throw new AssertionError(); - } } diff --git a/common/src/main/java/whocraft/tardis_refined/patterns/PatternResourceConstants.java b/common/src/main/java/whocraft/tardis_refined/patterns/PatternResourceConstants.java index 8af79a386..7137b8a9d 100644 --- a/common/src/main/java/whocraft/tardis_refined/patterns/PatternResourceConstants.java +++ b/common/src/main/java/whocraft/tardis_refined/patterns/PatternResourceConstants.java @@ -11,7 +11,6 @@ public class PatternResourceConstants { public static ResourceLocation DOOR_UNLOCK_KEY = RegistryHelper.makeKey("door_unlock"); - public static ResourceLocation GENERIC_CONSOLE_KEY = RegistryHelper.makeKey("generic_console"); public static ResourceLocation THROTTLE_ENABLE_KEY = RegistryHelper.makeKey("throttle_enable"); diff --git a/common/src/main/java/whocraft/tardis_refined/patterns/PatternTexture.java b/common/src/main/java/whocraft/tardis_refined/patterns/PatternTexture.java index d7b32be26..43d77c17e 100644 --- a/common/src/main/java/whocraft/tardis_refined/patterns/PatternTexture.java +++ b/common/src/main/java/whocraft/tardis_refined/patterns/PatternTexture.java @@ -4,12 +4,11 @@ import com.mojang.serialization.codecs.RecordCodecBuilder; import net.minecraft.resources.ResourceLocation; import whocraft.tardis_refined.TardisRefined; -/** Common template for texture objects used in instances of {@link BasePattern}*/ -public class PatternTexture{ - private final ResourceLocation textureLocation, emissiveTexture; - - private boolean hasEmissiveTexture = false; +/** + * Common template for texture objects used in instances of {@link BasePattern} + */ +public class PatternTexture { private static final Codec CODEC = RecordCodecBuilder.create(instance -> { return instance.group( @@ -17,6 +16,8 @@ public class PatternTexture{ Codec.BOOL.fieldOf("emissive").forGetter(PatternTexture::emissive) ).apply(instance, PatternTexture::new); }); + private final ResourceLocation textureLocation, emissiveTexture; + private boolean hasEmissiveTexture = false; public PatternTexture(String textureLocation, boolean hasEmissiveTexture) { this(new ResourceLocation(TardisRefined.MODID, textureLocation), hasEmissiveTexture); @@ -36,6 +37,9 @@ public PatternTexture(ResourceLocation textureLocation, boolean hasEmissiveTextu this.emissiveTexture = new ResourceLocation(textureLocation.getNamespace(), textureLocation.getPath().replace(".png", "_emissive.png")); } + public static Codec getCodec() { + return CODEC; + } public boolean emissive() { return this.hasEmissiveTexture; @@ -54,8 +58,4 @@ public ResourceLocation texture() { return this.textureLocation; } - public static Codec getCodec() { - return CODEC; - } - } \ No newline at end of file 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 35882bb4b..768d0fc9d 100644 --- a/common/src/main/java/whocraft/tardis_refined/patterns/ShellPattern.java +++ b/common/src/main/java/whocraft/tardis_refined/patterns/ShellPattern.java @@ -44,16 +44,20 @@ public ShellPattern(ResourceLocation identifier, String name, PatternTexture ext this.shellSoundProfile = shellSoundProfile; } - public PatternTexture exteriorDoorTexture(){return this.exteriorDoorTexture;} + public PatternTexture exteriorDoorTexture() { + return this.exteriorDoorTexture; + } - public PatternTexture interiorDoorTexture(){return this.interiorDoorTexture;} + public PatternTexture interiorDoorTexture() { + return this.interiorDoorTexture; + } @Override public Codec getCodec() { return CODEC; } - public Optional soundProfile(){ + public Optional soundProfile() { return this.shellSoundProfile; } } diff --git a/common/src/main/java/whocraft/tardis_refined/patterns/ShellPatternCollection.java b/common/src/main/java/whocraft/tardis_refined/patterns/ShellPatternCollection.java index 02a0e11cd..65c39ea72 100644 --- a/common/src/main/java/whocraft/tardis_refined/patterns/ShellPatternCollection.java +++ b/common/src/main/java/whocraft/tardis_refined/patterns/ShellPatternCollection.java @@ -5,7 +5,7 @@ import java.util.List; -public class ShellPatternCollection extends PatternCollection{ +public class ShellPatternCollection extends PatternCollection { public static final Codec CODEC = RecordCodecBuilder.create(instance -> { return instance.group( 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 dc71f3291..b80b37903 100644 --- a/common/src/main/java/whocraft/tardis_refined/patterns/ShellPatterns.java +++ b/common/src/main/java/whocraft/tardis_refined/patterns/ShellPatterns.java @@ -11,16 +11,16 @@ import java.util.*; -/** Data Manager for all {@link ShellPattern}(s) */ +/** + * Data Manager for all {@link ShellPattern}(s) + */ public class ShellPatterns { - public static PatternReloadListener PATTERNS = PatternReloadListener.createListener(TardisRefined.MODID + "/patterns/shell", ShellPatternCollection.CODEC, patternCollections -> PatternReloadListener.processPatternCollections(patternCollections)); - - private static Map> DEFAULT_PATTERNS = new HashMap(); - 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(); - public static PatternReloadListener getReloadListener(){ + public static PatternReloadListener getReloadListener() { return PATTERNS; } @@ -29,37 +29,47 @@ public static Map> getRegistry() { } - /** Lookup the list of {@link ShellPattern}(s) in a {@link ShellPatternCollection} for a given {@link ShellTheme}*/ + /** + * Lookup the list of {@link ShellPattern}(s) in a {@link ShellPatternCollection} for a given {@link ShellTheme} + */ public static List getPatternsForTheme(ResourceLocation shellThemeId) { return PATTERNS.getData().get(shellThemeId); } - /** Retrieves a pattern from a default list of patterns, for use when Capabiliteis or Cardinal Components classloads patterns before datapack loading*/ + /** + * Retrieves a pattern from a default list of patterns, for use when Capabiliteis or Cardinal Components classloads patterns before datapack loading + */ public static List getPatternsForThemeDefault(ResourceLocation shellThemeId) { return DEFAULT_PATTERNS.get(shellThemeId); } - /** Helper method to get a {@link ShellPatternCollection} by theme ID */ + /** + * Helper method to get a {@link ShellPatternCollection} by theme ID + */ public static List getPatternCollectionForTheme(ResourceLocation shellThemeId) { return PATTERNS.getData().get(shellThemeId); } - /** Lookup a {@link ShellTheme} based on a singular {@link ShellPattern} + /** + * Lookup a {@link ShellTheme} based on a singular {@link ShellPattern} *
As there is a many-to-one relationship between {@link ShellPattern} and {@link ShellTheme} *
as well as a one-to-one relationship between a {@link ShellPatternCollection} and {@link ShellTheme}, - * we will iterate through all {@link ShellPatternCollection} (which holds the theme ID) and find matchine ones*/ + * we will iterate through all {@link ShellPatternCollection} (which holds the theme ID) and find matchine ones + */ public static ResourceLocation getThemeForPattern(ShellPattern pattern) { Map> entries = ShellPatterns.getRegistry(); - for (Map.Entry> entry : entries.entrySet()){ - if (pattern.getThemeId() == entry.getKey()){ + for (Map.Entry> entry : entries.entrySet()) { + if (pattern.getThemeId() == entry.getKey()) { return pattern.getThemeId(); } } return ShellTheme.HALF_BAKED.getId(); } - /** Sanity check to make sure a Pattern for a {@link ShellTheme} exists - *
A likely use case for this is when entries for the patterns are being modified in some way, such as when something triggers datapacks to be reloaded*/ + /** + * Sanity check to make sure a Pattern for a {@link ShellTheme} exists + *
A likely use case for this is when entries for the patterns are being modified in some way, such as when something triggers datapacks to be reloaded + */ public static boolean doesPatternExist(ResourceLocation themeId, ResourceLocation patternId) { List basePatterns = getPatternsForTheme(themeId); for (ShellPattern basePattern : basePatterns) { @@ -70,7 +80,9 @@ public static boolean doesPatternExist(ResourceLocation themeId, ResourceLocatio return false; } - /** Lookup up a {@link ShellPattern} within a particular {@link ShellTheme} or get the first one in the list if the input pattern id cannot be found*/ + /** + * Lookup up a {@link ShellPattern} within a particular {@link ShellTheme} or get the first one in the list if the input pattern id cannot be found + */ public static ShellPattern getPatternOrDefault(ResourceLocation themeId, ResourceLocation patternId) { List basePatterns = getPatternsForTheme(themeId); for (ShellPattern basePattern : basePatterns) { @@ -86,10 +98,12 @@ public static ShellPattern next(ResourceLocation shellTheme, ShellPattern curren return next(collection, currentPattern); } - /** Helper to get the next available {@link ShellPattern} in the current {@link ShellPatternCollection}*/ + /** + * Helper to get the next available {@link ShellPattern} in the current {@link ShellPatternCollection} + */ public static ShellPattern next(List patterns, ShellPattern currentPattern) { - if(currentPattern == null){ + if (currentPattern == null) { return patterns.get(0); } @@ -100,11 +114,13 @@ public static ShellPattern next(List patterns, ShellPattern curren return patterns.get(prevIndex + 1); } - /** Constructs and a {@link ShellPattern}, then adds it to a {@link ShellPatternCollection}, which is assigned to a {@link ShellTheme}. + /** + * Constructs and a {@link ShellPattern}, then adds it to a {@link ShellPatternCollection}, which is assigned to a {@link ShellTheme}. *
The {@link ShellPatternCollection} is then added to an internal default map *
Also assigns the {@link ShellPattern} its parent {@link ShellTheme}'s ID + * * @implSpec INTERNAL USE ONLY - * */ + */ public static ShellPattern addDefaultPattern(ResourceLocation themeId, ShellPattern datagenPattern) { List patternList; ShellPattern pattern = (ShellPattern) datagenPattern.setThemeId(themeId); @@ -133,38 +149,42 @@ public static ShellPattern addDefaultPattern(ResourceLocation themeId, String pa return addDefaultPattern(themeId, pattern); } - public static ResourceLocation exteriorTextureLocation(ResourceLocation themeId, String textureName){ + public static ResourceLocation exteriorTextureLocation(ResourceLocation themeId, String textureName) { return new ResourceLocation(TardisRefined.MODID, "textures/blockentity/shell/" + themeId.getPath() + "/" + textureName + ".png"); } - public static ResourceLocation exteriorTextureLocation(ResourceLocation themeId, String modid, String textureName){ + public static ResourceLocation exteriorTextureLocation(ResourceLocation themeId, String modid, String textureName) { return new ResourceLocation(modid, "textures/blockentity/shell/" + themeId.getPath() + "/" + textureName + ".png"); } - public static ResourceLocation interiorTextureLocation(ResourceLocation themeId, String modid, String textureName){ + public static ResourceLocation interiorTextureLocation(ResourceLocation themeId, String modid, String textureName) { return new ResourceLocation(modid, "textures/blockentity/shell/" + themeId.getPath() + "/" + textureName + "_interior.png"); } - public static ResourceLocation interiorTextureLocation(ResourceLocation themeId, String textureName){ + public static ResourceLocation interiorTextureLocation(ResourceLocation themeId, String textureName) { return new ResourceLocation(TardisRefined.MODID, "textures/blockentity/shell/" + themeId.getPath() + "/" + textureName + "_interior.png"); } - /** Gets a default list of Shell Patterns added by Tardis Refined. Useful as a fallback list. + /** + * Gets a default list of Shell Patterns added by Tardis Refined. Useful as a fallback list. *
Requires calling {@link ShellPatterns#registerDefaultPatterns} first + * * @implNote Used for datagen providers when we may need to lookup the map multiple times, but only need to register default entries once. - * */ - public static Map> getDefaultPatterns(){ + */ + public static Map> getDefaultPatterns() { return DEFAULT_PATTERNS; } - public static Map getDefaultPatternsDatagen(){ + 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()))); return defaults; } - /** Registers the Tardis Refined default Shell Patterns and returns a map of them by Theme ID - *
Should only be called ONCE when needed*/ + /** + * Registers the Tardis Refined default Shell Patterns and returns a map of them by Theme ID + *
Should only be called ONCE when needed + */ public static Map> registerDefaultPatterns() { DEFAULT_PATTERNS.clear(); /*Add Base Textures*/ @@ -180,7 +200,7 @@ public static Map> registerDefaultPatterns( } //TODO Currently not compatible - addDefaultPattern(ShellTheme.POLICE_BOX.getId(), "faded", true); + addDefaultPattern(ShellTheme.POLICE_BOX.getId(), "faded", true); // addDefaultPattern(ShellTheme.POLICE_BOX.getId(), "gaudy", false); // addDefaultPattern(ShellTheme.POLICE_BOX.getId(), "metal", false); // addDefaultPattern(ShellTheme.POLICE_BOX.getId(), "stone", false); diff --git a/common/src/main/java/whocraft/tardis_refined/patterns/sound/ConfiguredSound.java b/common/src/main/java/whocraft/tardis_refined/patterns/sound/ConfiguredSound.java index 9b57cfaeb..3c30e90bc 100644 --- a/common/src/main/java/whocraft/tardis_refined/patterns/sound/ConfiguredSound.java +++ b/common/src/main/java/whocraft/tardis_refined/patterns/sound/ConfiguredSound.java @@ -24,18 +24,20 @@ public class ConfiguredSound { private final float volume; - /** Constructor for data driven entries*/ + /** + * Constructor for data driven entries + */ public ConfiguredSound(SoundEvent soundEvent, float pitch, float volume) { this.soundEvent = soundEvent; this.pitch = pitch; this.volume = volume; } - public ConfiguredSound(SoundEvent soundEvent, float pitch){ + public ConfiguredSound(SoundEvent soundEvent, float pitch) { this(soundEvent, pitch, 1F); } - public ConfiguredSound(SoundEvent event){ + public ConfiguredSound(SoundEvent event) { this(event, 1F, 1F); } diff --git a/common/src/main/java/whocraft/tardis_refined/patterns/sound/ConsoleSoundProfile.java b/common/src/main/java/whocraft/tardis_refined/patterns/sound/ConsoleSoundProfile.java index 0cc29d818..2928fb7bc 100644 --- a/common/src/main/java/whocraft/tardis_refined/patterns/sound/ConsoleSoundProfile.java +++ b/common/src/main/java/whocraft/tardis_refined/patterns/sound/ConsoleSoundProfile.java @@ -8,26 +8,27 @@ import java.util.HashMap; import java.util.Map; -/** An object that allows for grouping of sounds to play in a specific Tardis interaction event - *
In this case, the controls on the console will look at the console's pattern */ -public class ConsoleSoundProfile { - protected Map consoleSoundEntries = new HashMap<>(); +/** + * An object that allows for grouping of sounds to play in a specific Tardis interaction event + *
In this case, the controls on the console will look at the console's pattern + */ +public class ConsoleSoundProfile { private static final UnboundedMapCodec UNBOUNDED_MAP_CODEC = Codec.unboundedMap(ResourceLocation.CODEC, ConsoleSound.CODEC); - public static final Codec CODEC = RecordCodecBuilder.create(instance -> { return instance.group( ConsoleSoundProfile.UNBOUNDED_MAP_CODEC.fieldOf("sounds").forGetter(ConsoleSoundProfile::getSoundEntries) ).apply(instance, ConsoleSoundProfile::new); }); + protected Map consoleSoundEntries = new HashMap<>(); - public ConsoleSoundProfile(Map consoleSoundEntries){ + public ConsoleSoundProfile(Map consoleSoundEntries) { this.consoleSoundEntries = consoleSoundEntries; } - public ConsoleSoundProfile(){ + public ConsoleSoundProfile() { this(new HashMap<>()); } @@ -81,5 +82,4 @@ public ConsoleSoundProfile setGeneric(ConsoleSound generic) { } - } diff --git a/common/src/main/java/whocraft/tardis_refined/patterns/sound/ShellSoundProfile.java b/common/src/main/java/whocraft/tardis_refined/patterns/sound/ShellSoundProfile.java index d2e26882b..280266435 100644 --- a/common/src/main/java/whocraft/tardis_refined/patterns/sound/ShellSoundProfile.java +++ b/common/src/main/java/whocraft/tardis_refined/patterns/sound/ShellSoundProfile.java @@ -8,26 +8,27 @@ import java.util.HashMap; import java.util.Map; -/** An object that allows for grouping of sounds to play in a specific Tardis interaction event - *
In this case, the Exterior Shell and Internal Door will play a sound based on the pattern*/ -public class ShellSoundProfile { - protected Map shellSoundEntries = new HashMap<>(); +/** + * An object that allows for grouping of sounds to play in a specific Tardis interaction event + *
In this case, the Exterior Shell and Internal Door will play a sound based on the pattern + */ +public class ShellSoundProfile { private static final UnboundedMapCodec UNBOUNDED_MAP_CODEC = Codec.unboundedMap(ResourceLocation.CODEC, ConfiguredSound.CODEC); - public static final Codec CODEC = RecordCodecBuilder.create(instance -> { return instance.group( ShellSoundProfile.UNBOUNDED_MAP_CODEC.fieldOf("sounds").forGetter(ShellSoundProfile::getSoundEntries) ).apply(instance, ShellSoundProfile::new); }); + protected Map shellSoundEntries = new HashMap<>(); - public ShellSoundProfile(Map shellSoundEntries){ + public ShellSoundProfile(Map shellSoundEntries) { this.shellSoundEntries = shellSoundEntries; } - public ShellSoundProfile(){ + public ShellSoundProfile() { this(new HashMap<>()); } diff --git a/common/src/main/java/whocraft/tardis_refined/patterns/sound/TRShellSoundProfiles.java b/common/src/main/java/whocraft/tardis_refined/patterns/sound/TRShellSoundProfiles.java index 4ca4c6923..2d2359415 100644 --- a/common/src/main/java/whocraft/tardis_refined/patterns/sound/TRShellSoundProfiles.java +++ b/common/src/main/java/whocraft/tardis_refined/patterns/sound/TRShellSoundProfiles.java @@ -16,58 +16,51 @@ public class TRShellSoundProfiles { public static ConfiguredSound DEFAULT_DOOR_UNLOCK = new ConfiguredSound(BlockSetType.IRON.trapdoorOpen(), 1F, 1F); public static Map DEFAULT_PATTERN_SOUND_PROFILES = new HashMap<>(); - - public static Map defaultSoundProfilesByTheme(){ - DEFAULT_PATTERN_SOUND_PROFILES.put(ShellTheme.HALF_BAKED.getId(), HALF_BAKED_SOUND_PROFILE); - DEFAULT_PATTERN_SOUND_PROFILES.put(ShellTheme.BRIEFCASE.getId(), DEFAULT_SOUND_PROFILE); - DEFAULT_PATTERN_SOUND_PROFILES.put(ShellTheme.PHONE_BOOTH.getId(), SPRUCE_SOUND_PROFILE); - DEFAULT_PATTERN_SOUND_PROFILES.put(ShellTheme.BIG_BEN.getId(), OAK_SOUND_PROFILE); - DEFAULT_PATTERN_SOUND_PROFILES.put(ShellTheme.GROWTH.getId(), HALF_BAKED_SOUND_PROFILE); - DEFAULT_PATTERN_SOUND_PROFILES.put(ShellTheme.DRIFTER.getId(), WOOL_SOUND_PROFILE); - DEFAULT_PATTERN_SOUND_PROFILES.put(ShellTheme.PAGODA.getId(), BAMBOO_SOUND_PROFILE); - DEFAULT_PATTERN_SOUND_PROFILES.put(ShellTheme.PATHFINDER.getId(), SPRUCE_SOUND_PROFILE); - return DEFAULT_PATTERN_SOUND_PROFILES; - } - public static ShellSoundProfile DEFAULT_SOUND_PROFILE = new ShellSoundProfile() .setDoorOpen(DEFAULT_DOOR_OPEN) .setDoorClose(DEFAULT_DOOR_CLOSE) .setDoorLocked(DEFAULT_DOOR_LOCK) .setDoorUnlocked(DEFAULT_DOOR_UNLOCK); - public static ShellSoundProfile HALF_BAKED_SOUND_PROFILE = new ShellSoundProfile() .setDoorOpen(DEFAULT_DOOR_OPEN) .setDoorClose(DEFAULT_DOOR_CLOSE) .setDoorLocked(new ConfiguredSound(SoundEvents.WEEPING_VINES_PLACE, 1F, 1.4F)) .setDoorUnlocked(new ConfiguredSound(SoundEvents.WEEPING_VINES_BREAK, 1F, 1.4F)); - public static ShellSoundProfile WOOL_SOUND_PROFILE = new ShellSoundProfile() .setDoorOpen(new ConfiguredSound(SoundEvents.WOOL_PLACE, 1F, 1F)) .setDoorClose(new ConfiguredSound(SoundEvents.WOOL_BREAK, 1F, 1.4F)) .setDoorLocked(DEFAULT_DOOR_LOCK) .setDoorUnlocked(DEFAULT_DOOR_UNLOCK); - public static ShellSoundProfile OAK_SOUND_PROFILE = new ShellSoundProfile() .setDoorOpen(new ConfiguredSound(BlockSetType.OAK.doorOpen(), 1F, 1F)) .setDoorClose(new ConfiguredSound(BlockSetType.OAK.doorClose(), 1F, 1.4F)) .setDoorLocked(new ConfiguredSound(BlockSetType.OAK.trapdoorClose(), 1F, 1.4F)) .setDoorUnlocked(new ConfiguredSound(BlockSetType.OAK.trapdoorOpen(), 1F, 1F)); - public static ShellSoundProfile DARK_OAK_SOUND_PROFILE = new ShellSoundProfile() .setDoorOpen(new ConfiguredSound(BlockSetType.DARK_OAK.doorOpen(), 1F, 1F)) .setDoorClose(new ConfiguredSound(BlockSetType.DARK_OAK.doorClose(), 1F, 1.4F)) .setDoorLocked(new ConfiguredSound(BlockSetType.DARK_OAK.trapdoorClose(), 1F, 1.4F)) .setDoorUnlocked(new ConfiguredSound(BlockSetType.DARK_OAK.trapdoorOpen(), 1F, 1F)); - public static ShellSoundProfile SPRUCE_SOUND_PROFILE = new ShellSoundProfile() .setDoorOpen(new ConfiguredSound(BlockSetType.SPRUCE.doorOpen(), 1F, 1F)) .setDoorClose(new ConfiguredSound(BlockSetType.SPRUCE.doorClose(), 1F, 1.4F)) .setDoorLocked(new ConfiguredSound(BlockSetType.SPRUCE.trapdoorClose(), 1F, 1.4F)) .setDoorUnlocked(new ConfiguredSound(BlockSetType.SPRUCE.trapdoorOpen(), 1F, 1F)); - public static ShellSoundProfile BAMBOO_SOUND_PROFILE = new ShellSoundProfile() .setDoorOpen(new ConfiguredSound(BlockSetType.BAMBOO.doorOpen(), 1F, 1F)) .setDoorClose(new ConfiguredSound(BlockSetType.BAMBOO.doorClose(), 1F, 1.4F)) .setDoorLocked(new ConfiguredSound(BlockSetType.BAMBOO.trapdoorClose(), 1F, 1.4F)) .setDoorUnlocked(new ConfiguredSound(BlockSetType.BAMBOO.trapdoorOpen(), 1F, 1F)); + + public static Map defaultSoundProfilesByTheme() { + DEFAULT_PATTERN_SOUND_PROFILES.put(ShellTheme.HALF_BAKED.getId(), HALF_BAKED_SOUND_PROFILE); + DEFAULT_PATTERN_SOUND_PROFILES.put(ShellTheme.BRIEFCASE.getId(), DEFAULT_SOUND_PROFILE); + DEFAULT_PATTERN_SOUND_PROFILES.put(ShellTheme.PHONE_BOOTH.getId(), SPRUCE_SOUND_PROFILE); + DEFAULT_PATTERN_SOUND_PROFILES.put(ShellTheme.BIG_BEN.getId(), OAK_SOUND_PROFILE); + DEFAULT_PATTERN_SOUND_PROFILES.put(ShellTheme.GROWTH.getId(), HALF_BAKED_SOUND_PROFILE); + DEFAULT_PATTERN_SOUND_PROFILES.put(ShellTheme.DRIFTER.getId(), WOOL_SOUND_PROFILE); + DEFAULT_PATTERN_SOUND_PROFILES.put(ShellTheme.PAGODA.getId(), BAMBOO_SOUND_PROFILE); + DEFAULT_PATTERN_SOUND_PROFILES.put(ShellTheme.PATHFINDER.getId(), SPRUCE_SOUND_PROFILE); + return DEFAULT_PATTERN_SOUND_PROFILES; + } } 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 355565716..8b61ef319 100644 --- a/common/src/main/java/whocraft/tardis_refined/registry/DeferredRegistry.java +++ b/common/src/main/java/whocraft/tardis_refined/registry/DeferredRegistry.java @@ -11,7 +11,8 @@ import java.util.Set; import java.util.function.Supplier; -/** Abstraction of a Registry handler based off the design patterns of Forge's DeferredRegister. +/** + * Abstraction of a Registry handler based off the design patterns of Forge's DeferredRegister. * This also acts as a dedicated wrapper object for object types that require a custom registry. *
This object stores a vanilla {@link Registry} instance based of a {@link ResourceKey>} which means as long as mods register to the same {@link ResourceKey}, they will be correctly appending new entries correctly. *
For example, here is what the main Tardis Refined mod's registry class might look like: @@ -30,7 +31,7 @@ * * //Alternatively, register using RegistrySupplierHolder for greater compatibiltiy with vanilla features such as datapack tags * public static final RegistrySupplierHolder STABILISER = TR_CONTROLS.register("stabiliser", () -> new MyCustomControl(new ResourceLocation(TardisRefined.MODID, "stabiliser")); - *} + * } * * public class TardisConsoleBlock { * @@ -71,26 +72,15 @@ *
As you can see, the Addon Mod just needs to create its own DeferredRegistry instance and reference the TardisRefined Registry's ResourceKey. *
This way, registering objects is greatly simplified along with the ability to append new entries to an existing registry *
This also ensures that there is a global source of truth for all our TardisRefined object types, and we don't accidentally restrict the mod to only use Tardis Refined's entries in areas where addon mods are likely to add additional content. E.g. Upgrades - * */ + */ public abstract class DeferredRegistry { - /** Call in main mod constructor to classload the registry class. On Forge/NeoForge environments, the necessary event buses for registries will be called*/ - public abstract void registerToModBus(); - /** Register using a Supplier */ - public abstract RegistrySupplier register(String id, Supplier supplier); - - /** Create a RegistrySupplierHolder. This has similar behaviour to a Supplier but has vanilla Holder attributes such as use in tags*/ - public abstract RegistrySupplierHolder registerHolder(final String name, final Supplier sup); - - /** Get the underlying registry, which includes all entries added by any mod that has a DeferredRegistry with the same ResourceKey. - * All lookup methods should be called from here.*/ - public abstract Supplier> getRegistry(); - /** * Create a DeferredRegistry instance for vanilla registries - * @param modid - Your Mod's unique identifier + * + * @param modid - Your Mod's unique identifier * @param resourceKey - Resource Key for the Registry - * @return * @param + * @return */ @ExpectPlatform public static DeferredRegistry create(String modid, ResourceKey> resourceKey) { @@ -99,18 +89,42 @@ public static DeferredRegistry create(String modid, ResourceKey + * @return */ @ExpectPlatform public static DeferredRegistry createCustom(String modid, ResourceKey> resourceKey, boolean syncToClient) { throw new AssertionError(); } - /** Below are exposing of the methods in Registry for convenience. This reduces verbosity for lookup operations which we will often be performing*/ + /** + * Call in main mod constructor to classload the registry class. On Forge/NeoForge environments, the necessary event buses for registries will be called + */ + public abstract void registerToModBus(); + + /** + * Register using a Supplier + */ + public abstract RegistrySupplier register(String id, Supplier supplier); + + /** + * Create a RegistrySupplierHolder. This has similar behaviour to a Supplier but has vanilla Holder attributes such as use in tags + */ + public abstract RegistrySupplierHolder registerHolder(final String name, final Supplier sup); + + /** + * Get the underlying registry, which includes all entries added by any mod that has a DeferredRegistry with the same ResourceKey. + * All lookup methods should be called from here. + */ + public abstract Supplier> getRegistry(); + + /** + * Below are exposing of the methods in Registry for convenience. This reduces verbosity for lookup operations which we will often be performing + */ public abstract ResourceKey> key(); @@ -120,15 +134,19 @@ public static DeferredRegistry createCustom(String modid, ResourceKey keySet(); - /** Gets the values in the underlying registry ordered by key. This is sufficient for most purposes - *
If you need to get values in order of registration, use {@link DeferredRegistry#getRegistry} then {@link Registry#holders} */ + /** + * Gets the values in the underlying registry ordered by key. This is sufficient for most purposes + *
If you need to get values in order of registration, use {@link DeferredRegistry#getRegistry} then {@link Registry#holders} + */ public abstract Set, T>> entrySet(); public abstract boolean containsKey(ResourceLocation key); - /** Gets the underlying Codec for the registry object type, if defined. - *
Required for reading/writing data to different formats for data-driven features*/ + /** + * Gets the underlying Codec for the registry object type, if defined. + *
Required for reading/writing data to different formats for data-driven features + */ public abstract Supplier> getCodec(); } diff --git a/common/src/main/java/whocraft/tardis_refined/registry/RegistrySupplier.java b/common/src/main/java/whocraft/tardis_refined/registry/RegistrySupplier.java index 5c622f9fb..1d5949eed 100644 --- a/common/src/main/java/whocraft/tardis_refined/registry/RegistrySupplier.java +++ b/common/src/main/java/whocraft/tardis_refined/registry/RegistrySupplier.java @@ -3,7 +3,10 @@ import net.minecraft.resources.ResourceLocation; import java.util.function.Supplier; -/** Stores an object within a supplier so that it can be called but populated at a later time.*/ + +/** + * Stores an object within a supplier so that it can be called but populated at a later time. + */ public class RegistrySupplier implements Supplier { private final ResourceLocation id; private Supplier supplier; diff --git a/common/src/main/java/whocraft/tardis_refined/registry/RegistrySupplierHolder.java b/common/src/main/java/whocraft/tardis_refined/registry/RegistrySupplierHolder.java index 539c3788e..cbb076a06 100644 --- a/common/src/main/java/whocraft/tardis_refined/registry/RegistrySupplierHolder.java +++ b/common/src/main/java/whocraft/tardis_refined/registry/RegistrySupplierHolder.java @@ -20,13 +20,33 @@ /** * An implementation of vanilla's Holder where it is a Holder constructed only with a ResourceKey. * It will be populated with the underlying Holder from the registry when available. + * * @param The type of object being held by this RegistryHolder * - *
Based off NeoForge's DeferredHolder - *
https://github.com/neoforged/NeoForge/blob/1.20.x/src/main/java/net/neoforged/neoforge/registries/DeferredHolder.java - * */ + *
Based off NeoForge's DeferredHolder + *
https://github.com/neoforged/NeoForge/blob/1.20.x/src/main/java/net/neoforged/neoforge/registries/DeferredHolder.java + */ public class RegistrySupplierHolder implements Holder, Supplier { + protected final ResourceKey key; + @Nullable + private Holder holder = null; + + + /** + * Creates a new RegistrySupplierHolder with a ResourceKey. + * Attempts to bind immediately if possible. + * Params: + * + * @param key – The resource key of the target object. + * @see #create(ResourceLocation, ResourceLocation) + * @see #create(ResourceKey, ResourceLocation) + */ + protected RegistrySupplierHolder(ResourceKey key) { + this.key = Objects.requireNonNull(key); + this.bind(false); + } + /** * Creates a new RegistrySupplierHolder targeting the value with the specified name in the specified registry. * @@ -50,25 +70,6 @@ public static RegistrySupplierHolder create(ResourceLocat return create(ResourceKey.createRegistryKey(registryName), valueName); } - - protected final ResourceKey key; - - @Nullable - private Holder holder = null; - - /** - * Creates a new RegistrySupplierHolder with a ResourceKey. - * Attempts to bind immediately if possible. - * Params: - * @param key – The resource key of the target object. - * @see #create(ResourceLocation, ResourceLocation) - * @see #create(ResourceKey, ResourceLocation) - */ - protected RegistrySupplierHolder(ResourceKey key) { - this.key = Objects.requireNonNull(key); - this.bind(false); - } - public static RegistrySupplierHolder create(ResourceKey key) { return new RegistrySupplierHolder<>(key); } 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 24f3399a0..ccdc98bd2 100644 --- a/common/src/main/java/whocraft/tardis_refined/registry/TRBlockEntityRegistry.java +++ b/common/src/main/java/whocraft/tardis_refined/registry/TRBlockEntityRegistry.java @@ -38,5 +38,4 @@ public class TRBlockEntityRegistry { public static final RegistrySupplier> CORRIDOR_TELEPORTER = BLOCK_ENTITY_TYPES.register("corridor_teleporter", () -> BlockEntityType.Builder.of(CorridorTeleporterBlockEntity::new, TRBlockRegistry.CORRIDOR_TELEPORTER.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 1bba4c6bb..6d974d832 100644 --- a/common/src/main/java/whocraft/tardis_refined/registry/TRBlockRegistry.java +++ b/common/src/main/java/whocraft/tardis_refined/registry/TRBlockRegistry.java @@ -25,93 +25,70 @@ public class TRBlockRegistry { public static final DeferredRegistry BLOCKS = DeferredRegistry.create(TardisRefined.MODID, Registries.BLOCK); - - private static RegistrySupplier register(String id, Supplier blockSupplier, boolean addToTab, boolean registerItem) { - RegistrySupplier registryObject = BLOCKS.register(id, blockSupplier); - if (registerItem) { - RegistrySupplier itemSupplier = TRItemRegistry.ITEMS.register(id, () -> new BlockItem(registryObject.get(), new Item.Properties())); - if(addToTab) { - TRItemRegistry.TAB_ITEMS.add(itemSupplier); - } - } - return registryObject; - } - - private static RegistrySupplier register(String id, Supplier blockSupplier, boolean addToTab) { - return register(id, blockSupplier, addToTab, true); - } - - - // Shell Blocks public static final RegistrySupplier ROOT_SHELL_BLOCK = register("root_shell", () -> new RootedShellBlock(BlockBehaviour.Properties.of().noOcclusion().strength(1000, 1000).sound(SoundType.CORAL_BLOCK)), true, true); public static final RegistrySupplier GLOBAL_SHELL_BLOCK = register("tardis_shell", () -> new GlobalShellBlock(BlockBehaviour.Properties.of().noOcclusion().strength(1000, 1000).sound(SoundType.STONE).lightLevel((blocksState) -> { return blocksState.getValue(GlobalShellBlock.LIT) ? 13 : 0; })), false, false); - // Interior public static final RegistrySupplier GLOBAL_DOOR_BLOCK = register("tardis_door", () -> new GlobalDoorBlock(BlockBehaviour.Properties.of().noOcclusion().strength(10, 10).sound(SoundType.STONE)), true, true); public static final RegistrySupplier ROOT_SHELL_DOOR = register("root_shell_door", () -> new RootShellDoorBlock(BlockBehaviour.Properties.of().noOcclusion().strength(1000, 1000)), false, true); - // Generation Blocks public static final RegistrySupplier FOOLS_STONE = register("fools_stone", () -> new GrowthStoneBlock(BlockBehaviour.Properties.of().strength(3)), true, true); - - // 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); - - //////////// REMOVE THESE BLOCKS FROM CREATIVE TABS BEFORE PRODUCTION - // 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); + + //////////// REMOVE THESE BLOCKS FROM CREATIVE TABS BEFORE PRODUCTION public static final RegistrySupplier ARS_LEAVES_SLAB = register("ars_leaves_slab", () -> new SlabBlock(BlockBehaviour.Properties.of().noOcclusion().strength(3, 3).sound(SoundType.AZALEA_LEAVES)), false, true); public static final RegistrySupplier ARS_LEAVES_FENCE = register("ars_leaves_fence", () -> new FenceBlock(BlockBehaviour.Properties.of().noOcclusion().strength(3, 3).sound(SoundType.AZALEA_LEAVES)), false, true); - - /////////////////////////////////////////////////////////////////////////////// - // Devices public static final RegistrySupplier TERRAFORMER_BLOCK = register("terraformer", () -> new TerraformerBlock(BlockBehaviour.Properties.of().strength(3, 3).sound(SoundType.ANVIL).noOcclusion()), true, true); public static final RegistrySupplier AIR_LOCK_GENERATION_BLOCK = register("air_lock_generator", () -> new AirLockGenerationBlock(BlockBehaviour.Properties.of().strength(3, 3).sound(SoundType.ANVIL).noOcclusion()), false, true); + + /////////////////////////////////////////////////////////////////////////////// public static final RegistrySupplier CONSOLE_CONFIGURATION_BLOCK = register("console_configuration", () -> new ConsoleConfigurationBlock(BlockBehaviour.Properties.of().strength(3, 3).sound(SoundType.ANVIL).noOcclusion()), true, true); public static final RegistrySupplier ASTRAL_MANIPULATOR_BLOCK = register("astral_manipulator", () -> new AstralManipulatorBlock(BlockBehaviour.Properties.of().strength(3, 3).sound(SoundType.ANVIL).noOcclusion().lightLevel((x) -> { return x.getValue(GlobalConsoleBlock.POWERED) ? 15 : 0; })), true, true); public static final RegistrySupplier GRAVITY_WELL = register("gravity_well", () -> new AntiGravityBlock(BlockBehaviour.Properties.of().strength(3, 3).sound(SoundType.ANVIL).noOcclusion()), true, true); public static final RegistrySupplier CORRIDOR_TELEPORTER = register("corridor_teleporter", () -> new CorridorTeleporterBlock(BlockBehaviour.Properties.of().strength(3, 3).sound(SoundType.ANVIL).noOcclusion()), true, true); - - - - public static final RegistrySupplier LANDING_PAD = register("landing_pad", () -> new LandingPad(BlockBehaviour.Properties.of().strength(3, 3).sound(SoundType.ANVIL).noOcclusion().lightLevel((x) -> { return 12; })), true, true); - - - public static final RegistrySupplier FLIGHT_DETECTOR = register("flight_detector", () -> new FlightDetectorBlock(BlockBehaviour.Properties.of().strength(3, 3).sound(SoundType.ANVIL).noOcclusion()), true, true); public static final RegistrySupplier ARTRON_PILLAR = register("artron_pillar", () -> new ArtronPillarBlock(BlockBehaviour.Properties.of().strength(3, 3).sound(SoundType.ANVIL).noOcclusion()), false, false); - // Console public static final RegistrySupplier GLOBAL_CONSOLE_BLOCK = register("tardis_console", () -> new GlobalConsoleBlock(BlockBehaviour.Properties.of().strength(1000, 1000).sound(SoundType.ANVIL).noOcclusion().lightLevel((x) -> { return x.getValue(GlobalConsoleBlock.POWERED) ? 15 : 0; })), true, true); - - // Blocks public static final RegistrySupplier ZEITON_BLOCK = register("zeiton_block", () -> new Block(BlockBehaviour.Properties.copy(Blocks.IRON_BLOCK).sound(SoundType.METAL)), true, true); public static final RegistrySupplier ZEITON_FUSED_IRON_BLOCK = register("zeiton_fused_iron_block", () -> new Block(BlockBehaviour.Properties.copy(Blocks.IRON_BLOCK).sound(SoundType.METAL)), true, true); public static final RegistrySupplier ZEITON_FUSED_COPPER_BLOCK = register("zeiton_fused_copper_block", () -> new Block(BlockBehaviour.Properties.copy(Blocks.COPPER_BLOCK).sound(SoundType.COPPER)), true, true); - public static final RegistrySupplier ZEITON_ORE = register("zeiton_ore", () -> new Block(BlockBehaviour.Properties.of().requiresCorrectToolForDrops().strength(3.0F, 3.0F)), true, true); public static final RegistrySupplier ZEITON_ORE_DEEPSLATE = register("deepslate_zeiton_ore", () -> new Block(BlockBehaviour.Properties.copy(Blocks.DEEPSLATE_GOLD_ORE).requiresCorrectToolForDrops()), true, true); 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 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) { + RegistrySupplier registryObject = BLOCKS.register(id, blockSupplier); + if (registerItem) { + RegistrySupplier itemSupplier = TRItemRegistry.ITEMS.register(id, () -> new BlockItem(registryObject.get(), new Item.Properties())); + if (addToTab) { + TRItemRegistry.TAB_ITEMS.add(itemSupplier); + } + } + return registryObject; + } + + private static RegistrySupplier register(String id, Supplier blockSupplier, boolean addToTab) { + return register(id, blockSupplier, addToTab, true); + } + } diff --git a/common/src/main/java/whocraft/tardis_refined/registry/TRControlRegistry.java b/common/src/main/java/whocraft/tardis_refined/registry/TRControlRegistry.java index 07716135c..75b7879e7 100644 --- a/common/src/main/java/whocraft/tardis_refined/registry/TRControlRegistry.java +++ b/common/src/main/java/whocraft/tardis_refined/registry/TRControlRegistry.java @@ -11,54 +11,62 @@ import whocraft.tardis_refined.common.tardis.control.ship.ToggleDoorControl; public class TRControlRegistry { - /** Registry Key for the Controls registry. For addon mods, use this as the registry key*/ - public static final ResourceKey> CONTROL_REGISTRY_KEY = ResourceKey.createRegistryKey(new ResourceLocation(TardisRefined.MODID, "control")); + /** + * Registry Key for the Controls registry. For addon mods, use this as the registry key + */ + public static final ResourceKey> CONTROL_REGISTRY_KEY = ResourceKey.createRegistryKey(new ResourceLocation(TardisRefined.MODID, "control")); - /** Tardis Refined instance of the Controls registry. Addon Mods: DO NOT USE THIS, it is only for Tardis Refined use only*/ - public static final DeferredRegistry CONTROL_DEFERRED_REGISTRY = DeferredRegistry.createCustom(TardisRefined.MODID, CONTROL_REGISTRY_KEY, true); + /** + * Tardis Refined instance of the Controls registry. Addon Mods: DO NOT USE THIS, it is only for Tardis Refined use only + */ + public static final DeferredRegistry CONTROL_DEFERRED_REGISTRY = DeferredRegistry.createCustom(TardisRefined.MODID, CONTROL_REGISTRY_KEY, true); - /** Instance of registry containing all Control entries. Addon mod entries will be included in this registry as long as they are use the same ResourceKey>. */ - public static final Registry CONTROL_REGISTRY = CONTROL_DEFERRED_REGISTRY.getRegistry().get(); + /** + * Instance of registry containing all Control entries. Addon mod entries will be included in this registry as long as they are use the same ResourceKey>. + */ + public static final Registry CONTROL_REGISTRY = CONTROL_DEFERRED_REGISTRY.getRegistry().get(); - // Tardis refined controls - public static final RegistrySupplier DOOR_TOGGLE = register(new ToggleDoorControl(new ResourceLocation(TardisRefined.MODID, "door_toggle"))); - public static final RegistrySupplier X = register(new CoordinateControl(CoordinateButton.X, TardisRefined.MODID)); - public static final RegistrySupplier Y = register(new CoordinateControl(CoordinateButton.Y, TardisRefined.MODID)); - public static final RegistrySupplier Z = register(new CoordinateControl(CoordinateButton.Z, TardisRefined.MODID)); - public static final RegistrySupplier INCREMENT = register(new IncrementControl(new ResourceLocation(TardisRefined.MODID, "increment"))); - public static final RegistrySupplier ROTATE = register(new RotationControl(new ResourceLocation(TardisRefined.MODID, "rotate"))); - public static final RegistrySupplier RANDOM = register(new RandomControl(new ResourceLocation(TardisRefined.MODID, "random"))); - public static final RegistrySupplier THROTTLE = register(new ThrottleControl(new ResourceLocation(TardisRefined.MODID, "throttle"))); - public static final RegistrySupplier MONITOR = register(new MonitorControl(new ResourceLocation(TardisRefined.MODID, "monitor"))); - public static final RegistrySupplier DIMENSION = register(new DimensionalControl(new ResourceLocation(TardisRefined.MODID, "dimension"))); - public static final RegistrySupplier FAST_RETURN = register(new FastReturnControl(new ResourceLocation(TardisRefined.MODID, "fast_return"))); - public static final RegistrySupplier READOUT = register(new ReadoutControl(new ResourceLocation(TardisRefined.MODID, "read_out"))); - public static final RegistrySupplier GENERIC_NO_SHOW = register(new GenericControl(new ResourceLocation(TardisRefined.MODID, "generic_no_show"), "control.tardis_refined.generic_control")); - public static final RegistrySupplier HANDBRAKE = register(new HandbrakeControl(new ResourceLocation(TardisRefined.MODID, "hand_brake"))); - public static final RegistrySupplier FUEL = register(new FuelToggleControl(new ResourceLocation(TardisRefined.MODID, "fuel"))); - public static final RegistrySupplier EXTERIOR_DISPLAY = register(new ExteriorDisplayControl(new ResourceLocation(TardisRefined.MODID, "exterior_display"))); + // Tardis refined controls + public static final RegistrySupplier DOOR_TOGGLE = register(new ToggleDoorControl(new ResourceLocation(TardisRefined.MODID, "door_toggle"))); + public static final RegistrySupplier X = register(new CoordinateControl(CoordinateButton.X, TardisRefined.MODID)); + public static final RegistrySupplier Y = register(new CoordinateControl(CoordinateButton.Y, TardisRefined.MODID)); + public static final RegistrySupplier Z = register(new CoordinateControl(CoordinateButton.Z, TardisRefined.MODID)); + public static final RegistrySupplier INCREMENT = register(new IncrementControl(new ResourceLocation(TardisRefined.MODID, "increment"))); + public static final RegistrySupplier ROTATE = register(new RotationControl(new ResourceLocation(TardisRefined.MODID, "rotate"))); + public static final RegistrySupplier RANDOM = register(new RandomControl(new ResourceLocation(TardisRefined.MODID, "random"))); + public static final RegistrySupplier THROTTLE = register(new ThrottleControl(new ResourceLocation(TardisRefined.MODID, "throttle"))); + public static final RegistrySupplier MONITOR = register(new MonitorControl(new ResourceLocation(TardisRefined.MODID, "monitor"))); + public static final RegistrySupplier DIMENSION = register(new DimensionalControl(new ResourceLocation(TardisRefined.MODID, "dimension"))); + public static final RegistrySupplier FAST_RETURN = register(new FastReturnControl(new ResourceLocation(TardisRefined.MODID, "fast_return"))); + public static final RegistrySupplier READOUT = register(new ReadoutControl(new ResourceLocation(TardisRefined.MODID, "read_out"))); + public static final RegistrySupplier GENERIC_NO_SHOW = register(new GenericControl(new ResourceLocation(TardisRefined.MODID, "generic_no_show"), "control.tardis_refined.generic_control")); + public static final RegistrySupplier HANDBRAKE = register(new HandbrakeControl(new ResourceLocation(TardisRefined.MODID, "hand_brake"))); + public static final RegistrySupplier FUEL = register(new FuelToggleControl(new ResourceLocation(TardisRefined.MODID, "fuel"))); + public static final RegistrySupplier EXTERIOR_DISPLAY = register(new ExteriorDisplayControl(new ResourceLocation(TardisRefined.MODID, "exterior_display"))); - public static Control get(ResourceLocation id){ - Control potentialTheme = CONTROL_REGISTRY.get(id); - if(potentialTheme != null){ - return potentialTheme; - } - return THROTTLE.get(); - } + public static Control get(ResourceLocation id) { + Control potentialTheme = CONTROL_REGISTRY.get(id); + if (potentialTheme != null) { + return potentialTheme; + } + return THROTTLE.get(); + } - public static ResourceLocation getKey(Control control){ - return CONTROL_REGISTRY.getKey(control); - } + public static ResourceLocation getKey(Control control) { + return CONTROL_REGISTRY.getKey(control); + } - /** - * Register methods for Tardis Refined only - * @return the registered control - */ - private static RegistrySupplier register(Control control) { - return register(control, control.getId().getPath()); - } - private static RegistrySupplier register(Control control, String id) { - return CONTROL_DEFERRED_REGISTRY.register(id, () -> control); - } + /** + * Register methods for Tardis Refined only + * + * @return the registered control + */ + private static RegistrySupplier register(Control control) { + return register(control, control.getId().getPath()); + } + + private static RegistrySupplier register(Control control, String id) { + return CONTROL_DEFERRED_REGISTRY.register(id, () -> control); + } } diff --git a/common/src/main/java/whocraft/tardis_refined/registry/TRCraftingRecipeTypes.java b/common/src/main/java/whocraft/tardis_refined/registry/TRCraftingRecipeTypes.java index 31dac13f8..798c86ef3 100644 --- a/common/src/main/java/whocraft/tardis_refined/registry/TRCraftingRecipeTypes.java +++ b/common/src/main/java/whocraft/tardis_refined/registry/TRCraftingRecipeTypes.java @@ -13,15 +13,17 @@ public class TRCraftingRecipeTypes { public static final RegistrySupplier> ASTRAL_MANIPULATOR_RECIPE = RECIPE_TYPE_DEFERRED_REGISTRY.register("astral_manipulator_recipe", () -> registerRecipeType(new ResourceLocation(TardisRefined.MODID, "astral_manipulator_recipe"))); - /** Need a custom registry method as vanilla will register our entries under the minecraft namspace which creates a duplicate entry - * We don't want that to happen so we have a custom method*/ + /** + * Need a custom registry method as vanilla will register our entries under the minecraft namspace which creates a duplicate entry + * We don't want that to happen so we have a custom method + */ public static > RecipeType registerRecipeType(final ResourceLocation name) { final String toString = name.toString(); return new RecipeType() { @Override public String toString() { return toString; - } + } }; } diff --git a/common/src/main/java/whocraft/tardis_refined/registry/TREntityRegistry.java b/common/src/main/java/whocraft/tardis_refined/registry/TREntityRegistry.java index fddc2aa9a..67318af7d 100644 --- a/common/src/main/java/whocraft/tardis_refined/registry/TREntityRegistry.java +++ b/common/src/main/java/whocraft/tardis_refined/registry/TREntityRegistry.java @@ -15,16 +15,15 @@ public class TREntityRegistry { public static final RegistrySupplier> CONTROL_ENTITY = ENTITY_TYPES.register("console_control", () -> registerStatic(ControlEntity::new, MobCategory.MISC, 0.125F, 0.125F, 64, 40, "console_control")); /** - * * @param factory * @param classification - Choose MISC if not a moving entity (mob) * @param width * @param height - * @param trackingRange - Radius in chunks around the entity within which the entity is synced to clients - * @param updateFreq - How many ticks before the entity updates - * @param name - Registry name. We automatically append the modid to it - * @return + * @param trackingRange - Radius in chunks around the entity within which the entity is synced to clients + * @param updateFreq - How many ticks before the entity updates + * @param name - Registry name. We automatically append the modid to it * @param + * @return */ public static EntityType registerStatic(EntityType.EntityFactory factory, MobCategory classification, float width, float height, int trackingRange, int updateFreq, String name) { ResourceLocation loc = new ResourceLocation(TardisRefined.MODID, name); diff --git a/common/src/main/java/whocraft/tardis_refined/registry/TRFeatureKeys.java b/common/src/main/java/whocraft/tardis_refined/registry/TRFeatureKeys.java index f6ff52b18..c4eb224f7 100644 --- a/common/src/main/java/whocraft/tardis_refined/registry/TRFeatureKeys.java +++ b/common/src/main/java/whocraft/tardis_refined/registry/TRFeatureKeys.java @@ -3,9 +3,11 @@ import net.minecraft.resources.ResourceLocation; import whocraft.tardis_refined.TardisRefined; -/** Instances of ResourceLocations that are shared between Configured and Placed Features. +/** + * Instances of ResourceLocations that are shared between Configured and Placed Features. * DO NOT REGISTER THEM, FOR DATAGEN ONLY - * In 1.19.3+ most world gen objects will not work if registered via code*/ + * In 1.19.3+ most world gen objects will not work if registered via code + */ public class TRFeatureKeys { public static ResourceLocation TARDIS_ROOT_CLUSTER_RL = new ResourceLocation(TardisRefined.MODID, "tardis_root_cluster"); 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 272c0098f..b0fe669d3 100644 --- a/common/src/main/java/whocraft/tardis_refined/registry/TRItemRegistry.java +++ b/common/src/main/java/whocraft/tardis_refined/registry/TRItemRegistry.java @@ -12,13 +12,10 @@ import java.util.function.Supplier; public class TRItemRegistry { - public static List> TAB_ITEMS = new ArrayList<>(); public static final DeferredRegistry TABS = DeferredRegistry.create(TardisRefined.MODID, Registries.CREATIVE_MODE_TAB); - public static final RegistrySupplier MAIN_TAB = TABS.register("main_tab", TRItemRegistry::getCreativeTab); - public static final DeferredRegistry ITEMS = DeferredRegistry.create(TardisRefined.MODID, Registries.ITEM); - + public static List> TAB_ITEMS = new ArrayList<>(); public static final RegistrySupplier KEY = register("tardis_key", () -> new KeyItem(new Item.Properties().stacksTo(1)), true); public static final RegistrySupplier SCREWDRIVER = register("amethyst_screwdriver", () -> new ScrewdriverItem(new Item.Properties().stacksTo(1)), true); public static final RegistrySupplier PATTERN_MANIPULATOR = register("pattern_manipulator", () -> new Item(new Item.Properties().stacksTo(1)), true); @@ -31,10 +28,9 @@ public class TRItemRegistry { public static final RegistrySupplier MALLET = register("mallet", () -> new MalletItem(new Item.Properties().stacksTo(1).durability(50)), true); - private static RegistrySupplier register(String id, Supplier itemSupplier, boolean addToTab) { RegistrySupplier item = ITEMS.register(id, itemSupplier); - if(addToTab) { + if (addToTab) { TAB_ITEMS.add((RegistrySupplier) item); } return item; @@ -46,5 +42,4 @@ public static CreativeModeTab getCreativeTab() { } - } diff --git a/common/src/main/java/whocraft/tardis_refined/registry/TRManipulatorRecipeResultTypes.java b/common/src/main/java/whocraft/tardis_refined/registry/TRManipulatorRecipeResultTypes.java index 08ba61a10..e9735eafd 100644 --- a/common/src/main/java/whocraft/tardis_refined/registry/TRManipulatorRecipeResultTypes.java +++ b/common/src/main/java/whocraft/tardis_refined/registry/TRManipulatorRecipeResultTypes.java @@ -9,16 +9,24 @@ import whocraft.tardis_refined.common.crafting.astral_manipulator.ManipulatorCraftingResult; import whocraft.tardis_refined.common.crafting.astral_manipulator.ManipulatorItemResult; -/** 50ap5ud5 11/05/2024: Register our own recipe types to allow for different data to be defined depending on the recipe type*/ +/** + * 50ap5ud5 11/05/2024: Register our own recipe types to allow for different data to be defined depending on the recipe type + */ public class TRManipulatorRecipeResultTypes { - /** Registry Key for the Astral Manipulator Recipe Result type registry. For addon mods, use this as the registry key*/ + /** + * Registry Key for the Astral Manipulator Recipe Result type registry. For addon mods, use this as the registry key + */ public static final ResourceKey>> MANIPULATOR_RECIPE_TYPE_KEY = ResourceKey.createRegistryKey(new ResourceLocation(TardisRefined.MODID, "manipulator_recipe_result")); - /** Tardis Refined instance of the Astral Manipulator Recipe Result type registry. Addon Mods: DO NOT USE THIS, it is only for Tardis Refined use only*/ + /** + * Tardis Refined instance of the Astral Manipulator Recipe Result type registry. Addon Mods: DO NOT USE THIS, it is only for Tardis Refined use only + */ public static final DeferredRegistry> MANIPULATOR_RECIPE_RESULT_DEFERRED_REGISTRY = DeferredRegistry.createCustom(TardisRefined.MODID, MANIPULATOR_RECIPE_TYPE_KEY, true); - /** Instance of registry containing all Astral Manipulator Recipe Result type entries. Addon mod entries will be included in this registry as long as they are use the same ResourceKey>. */ + /** + * Instance of registry containing all Astral Manipulator Recipe Result type entries. Addon mod entries will be included in this registry as long as they are use the same ResourceKey>. + */ public static final Registry> RESULT_TYPE_REGISTRY = MANIPULATOR_RECIPE_RESULT_DEFERRED_REGISTRY.getRegistry().get(); /* Register the codec derived from the MapCodec for each entry since the MapCodec isn't actually inheriting from Codec. diff --git a/common/src/main/java/whocraft/tardis_refined/registry/TRPointOfInterestTypes.java b/common/src/main/java/whocraft/tardis_refined/registry/TRPointOfInterestTypes.java index f9f5b25dc..34cc4c26b 100644 --- a/common/src/main/java/whocraft/tardis_refined/registry/TRPointOfInterestTypes.java +++ b/common/src/main/java/whocraft/tardis_refined/registry/TRPointOfInterestTypes.java @@ -13,19 +13,17 @@ public class TRPointOfInterestTypes { - public static void init(){}; - public static final ResourceKey CONSOLE_UNIT = ResourceKey.create(Registries.POINT_OF_INTEREST_TYPE, new ResourceLocation(TardisRefined.MODID, "console_unit")); public static final ResourceKey ASTRAL_MAP = ResourceKey.create(Registries.POINT_OF_INTEREST_TYPE, new ResourceLocation(TardisRefined.MODID, "astral_map")); - + ; public static final DeferredRegistry POIS = DeferredRegistry.create(TardisRefined.MODID, Registries.POINT_OF_INTEREST_TYPE); - - public static final RegistrySupplier CONSOLE_UNIT_POI = POIS.register("console_unit", () -> registerPointOfInterest(6, 15, TRBlockRegistry.GLOBAL_CONSOLE_BLOCK.get())); public static final RegistrySupplier ASTRAL_MAP_POI = POIS.register("astral_map", () -> registerPointOfInterest(1, 1, TRBlockRegistry.ASTRAL_MAP.get())); + private static boolean hasBeenRegistered = false; - + public static void init() { + } private static PoiType registerPointOfInterest(int maxTickets, int validRange, Block... blocks) { @@ -37,14 +35,14 @@ private static PoiType registerPointOfInterest(int maxTickets, int validRange, B return new PoiType(builder.build(), maxTickets, validRange); } - private static boolean hasPOIbeenSetup = false; - // Call this at Server starting - public static void registerBlockStates(){ - if (hasPOIbeenSetup) return; - PoiTypes.registerBlockStates(BuiltInRegistries.POINT_OF_INTEREST_TYPE.getHolderOrThrow(CONSOLE_UNIT), CONSOLE_UNIT_POI.get().matchingStates()); - PoiTypes.registerBlockStates(BuiltInRegistries.POINT_OF_INTEREST_TYPE.getHolderOrThrow(ASTRAL_MAP), ASTRAL_MAP_POI.get().matchingStates()); - hasPOIbeenSetup = true; + // Call this at Server starting - ONLY ON FABRIC!! + public static void registerBlockStates() { + if (!hasBeenRegistered) { + PoiTypes.registerBlockStates(BuiltInRegistries.POINT_OF_INTEREST_TYPE.getHolderOrThrow(CONSOLE_UNIT), CONSOLE_UNIT_POI.get().matchingStates()); + PoiTypes.registerBlockStates(BuiltInRegistries.POINT_OF_INTEREST_TYPE.getHolderOrThrow(ASTRAL_MAP), ASTRAL_MAP_POI.get().matchingStates()); + hasBeenRegistered = true; + } } } 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 c63a83de5..df424c96e 100644 --- a/common/src/main/java/whocraft/tardis_refined/registry/TRSoundRegistry.java +++ b/common/src/main/java/whocraft/tardis_refined/registry/TRSoundRegistry.java @@ -31,6 +31,7 @@ public class TRSoundRegistry { public static final RegistrySupplier CORRIDOR_TELEPORTER_SUCCESS = setUpSound("corridor_teleporter_success"); public static final RegistrySupplier CLOISTER_BELL = setUpSound("cloister_bell"); public static final RegistrySupplier MALLET = setUpSound("mallet"); + public static final RegistrySupplier VORTEX = setUpSound("vortex"); // Hums diff --git a/common/src/main/java/whocraft/tardis_refined/registry/TRTagKeys.java b/common/src/main/java/whocraft/tardis_refined/registry/TRTagKeys.java index 6595c8278..7a4bcad09 100644 --- a/common/src/main/java/whocraft/tardis_refined/registry/TRTagKeys.java +++ b/common/src/main/java/whocraft/tardis_refined/registry/TRTagKeys.java @@ -4,19 +4,25 @@ import net.minecraft.resources.ResourceLocation; import net.minecraft.tags.TagKey; import net.minecraft.world.entity.EntityType; +import net.minecraft.world.item.Item; import net.minecraft.world.level.biome.Biome; import net.minecraft.world.level.block.Block; import whocraft.tardis_refined.TardisRefined; import whocraft.tardis_refined.common.util.RegistryHelper; public class TRTagKeys { + /** + * Entity tag used to blacklist entities from being teleported into the Tardis via the doors or being landed on by the exterior shell + */ + public static final TagKey> TARDIS_TELEPORT_BLACKLIST = TagKey.create(Registries.ENTITY_TYPE, new ResourceLocation(TardisRefined.MODID, "tardis_teleport_blacklist")); public static TagKey IS_MOUNTAIN_OR_OCEAN = RegistryHelper.makeGenericBiomeTagCollection("is_mountain_or_ocean"); public static TagKey TARDIS_ROOT_CLUSTER = RegistryHelper.makeBiomeTagForFeature("tardis_root_cluster"); public static TagKey DIAGONAL_COMPAT_WALLS = RegistryHelper.makeBlockTag("diagonalwalls", "non_diagonal_walls"); public static TagKey DIAGONAL_COMPAT_GLASS = RegistryHelper.makeBlockTag("diagonalwalls", "non_diagonal_windows"); + public static TagKey CURIOS_HEAD = RegistryHelper.makeItemTag("curios", "timelord_sight"); + public static TagKey TRINKETS_HEAD = RegistryHelper.makeItemTag("trinkets", "head/hat"); + public static TagKey TRINKETS_FACE = RegistryHelper.makeItemTag("trinkets", "head/face"); - /** Entity tag used to blacklist entities from being teleported into the Tardis via the doors or being landed on by the exterior shell*/ - public static final TagKey> TARDIS_TELEPORT_BLACKLIST = TagKey.create(Registries.ENTITY_TYPE, new ResourceLocation(TardisRefined.MODID, "tardis_teleport_blacklist")); - - public static void init(){} + public static void init() { + } } \ No newline at end of file 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 c84405c8f..bf5a81b02 100644 --- a/common/src/main/java/whocraft/tardis_refined/registry/TRUpgrades.java +++ b/common/src/main/java/whocraft/tardis_refined/registry/TRUpgrades.java @@ -15,10 +15,14 @@ public class TRUpgrades { public static final ResourceKey> UPGRADE_REGISTRY_KEY = ResourceKey.createRegistryKey(new ResourceLocation(TardisRefined.MODID, "upgrade")); - /** Tardis Refined instance of the Upgrade registry. Addon Mods: DO NOT USE THIS, it is only for Tardis Refined use only*/ + /** + * Tardis Refined instance of the Upgrade registry. Addon Mods: DO NOT USE THIS, it is only for Tardis Refined use only + */ public static final DeferredRegistry UPGRADE_DEFERRED_REGISTRY = DeferredRegistry.createCustom(TardisRefined.MODID, UPGRADE_REGISTRY_KEY, true); - /** Instance of registry containing all Upgrade entries. Addon mod entries will be included in this registry as long as they are use the same ResourceKey>. */ + /** + * Instance of registry containing all Upgrade entries. Addon mod entries will be included in this registry as long as they are use the same ResourceKey>. + */ public static final Registry UPGRADE_REGISTRY = UPGRADE_DEFERRED_REGISTRY.getRegistry().get(); // Base Upgrades 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 70ebe27fe..6390ec609 100644 --- a/common/src/main/java/whocraft/tardis_refined/villager/FlyTardisAtPOI.java +++ b/common/src/main/java/whocraft/tardis_refined/villager/FlyTardisAtPOI.java @@ -9,9 +9,6 @@ import net.minecraft.world.entity.ai.behavior.WorkAtPoi; import net.minecraft.world.entity.ai.memory.MemoryModuleType; import net.minecraft.world.entity.npc.Villager; -import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.phys.Vec3; -import whocraft.tardis_refined.common.block.device.ConsoleConfigurationBlock; import whocraft.tardis_refined.common.blockentity.console.GlobalConsoleBlockEntity; import whocraft.tardis_refined.common.capability.tardis.TardisLevelOperator; import whocraft.tardis_refined.common.entity.ControlEntity; @@ -21,6 +18,18 @@ public class FlyTardisAtPOI extends WorkAtPoi { + private Direction direction = Direction.NORTH; + + public void rotateDirection() { + switch (direction) { + case NORTH -> direction = Direction.EAST; + case EAST -> direction = Direction.SOUTH; + case SOUTH -> direction = Direction.WEST; + case WEST -> direction = Direction.NORTH; + default -> throw new IllegalStateException("Invalid direction: " + direction); + } + } + @Override protected boolean checkExtraStartConditions(ServerLevel serverLevel, Villager villager) { @@ -40,49 +49,31 @@ protected void useWorkstation(ServerLevel serverLevel, Villager villager) { if (console == null) return; if (pilotManager.isInFlight()) { - BlockPos consolePos = console.getBlockPos(); - BlockState consoleState = serverLevel.getBlockState(consolePos); - if (!consoleState.hasProperty(ConsoleConfigurationBlock.FACING)) { - return; // Exit if FACING property is not available - } - Direction facing = consoleState.getValue(ConsoleConfigurationBlock.FACING); - double distanceToConsoleSqr = consolePos.distToCenterSqr(villager.position().x, villager.position().y, villager.position().z); - if (pilotManager.canEndFlight()) { + /* if(pilotManager.canEndFlight()){ pilotManager.setThrottleStage(0); pilotManager.setHandbrakeOn(true); - pilotManager.endFlight(true); - } - - // Ensure the villager is within a reasonable radius - if (distanceToConsoleSqr > 9) { // Too far from the console (3 blocks radius) - villager.getNavigation().moveTo(consolePos.getX() + 0.5, villager.position().y, consolePos.getZ() + 0.5, 1); - return; - } - - /* double observePointOffset = 4; - - // Calculate villager position relative to the FACING direction - Vec3 offset = switch (facing) { - case NORTH -> new Vec3(0, 0, -observePointOffset); // Stand 1.5 blocks away to the north - case SOUTH -> new Vec3(0, 0, observePointOffset); // Stand 1.5 blocks away to the south - case WEST -> new Vec3(-observePointOffset, 0, 0); // Stand 1.5 blocks away to the west - case EAST -> new Vec3(observePointOffset, 0, 0); // Stand 1.5 blocks away to the east - default -> Vec3.ZERO; // Default fallback - }; - - Vec3 targetPosition = new Vec3(consolePos.getX(), villager.position().y, consolePos.getZ()).add(offset); + } else { + if(pilotManager.getTargetLocation().getPosition().getX() != 45){ + pilotManager.getTargetLocation().setPosition(new BlockPos(45,45,45)); + pilotManager.setThrottleStage(4); + pilotManager.setHandbrakeOn(false); + } + }*/ - villager.getNavigation().moveTo(targetPosition.x, targetPosition.y, targetPosition.z, 1); -*/ - // Find the nearest control and perform actions for (ControlEntity controlEntity : console.getControlEntityList()) { - if (controlEntity.isTickingDown() && villager.getRandom().nextBoolean()) { - controlEntity.realignControl(); - villager.setUnhappyCounter(40); - return; + 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); + return; + } } } } @@ -97,10 +88,16 @@ protected void start(ServerLevel serverLevel, Villager villager, long l) { Brain brain = villager.getBrain(); brain.setMemory(MemoryModuleType.LAST_WORKED_AT_POI, l); brain.getMemory(MemoryModuleType.JOB_SITE).ifPresent((globalPos) -> { - brain.setMemory(MemoryModuleType.LOOK_TARGET, new BlockPosTracker(globalPos.pos())); - villager.moveTo(new Vec3(globalPos.pos().getX(), globalPos.pos().getY(), globalPos.pos().getZ())); + BlockPos position = globalPos.pos().relative(direction, 2); + brain.setMemory(MemoryModuleType.LOOK_TARGET, new BlockPosTracker(position)); + villager.getNavigation().moveTo(position.getX(), position.getY(), position.getZ(), 1); + villager.getLookControl().setLookAt(globalPos.pos().getX(), globalPos.pos().getY(), globalPos.pos().getZ()); }); + if (villager.tickCount % 80 == 0) { + rotateDirection(); + } + this.useWorkstation(serverLevel, villager); } diff --git a/common/src/main/resources/assets/tardis_refined/lang/en_US.json b/common/src/main/resources/assets/tardis_refined/lang/en_US.json deleted file mode 100644 index 9c501ae84..000000000 --- a/common/src/main/resources/assets/tardis_refined/lang/en_US.json +++ /dev/null @@ -1,217 +0,0 @@ -{ - "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.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.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", - "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!", - "command.tardis_refined.export_desktop.fail": "§cFailed to export desktop %s!", - "command.tardis_refined.export_desktop.in_progress": "Generating datapack for desktop %s, this may take some time depending on the structure's size...", - "command.tardis_refined.export_desktop.resource_pack": "§9To define the Desktop's preview image, please create a Resource Pack. See some example Resource Packs at: %s", - "command.tardis_refined.export_desktop.success": "§aSuccessfully exported desktop %s to datapack %s! Use the %s command to see changes.", - "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.no_internal_door": "§cNo Internal Door found in dimension %s! Consider using the default teleport command %s", - "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.console_idle_animations": "Play idle console animations", - "config.tardis_refined.control_names": "Render control names?", - "config.tardis_refined.immersive_portals": "Immersive Portals Compatibility?", - "control.tardis_refined.cord_x": "X", - "control.tardis_refined.cord_y": "Y", - "control.tardis_refined.cord_z": "Z", - "control.tardis_refined.dimension": "Dimension", - "control.tardis_refined.door_toggle": "Door Toggle", - "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": "Randomizer", - "control.tardis_refined.read_out": "GPS", - "control.tardis_refined.rotate": "Direction", - "control.tardis_refined.throttle": "Throttle", - "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 Keyset", - "item.tardis_refined.pattern_manipulator": "Pattern Manipulator", - "item.tardis_refined.raw_zeiton": "Raw Zeiton", - "item.tardis_refined.tardis_key": "Tardis Key", - "item.tardis_refined.zeiton_ingot": "Zeiton Ingot", - "item.tardis_refined.zeiton_nugget": "Zeiton Nugget", - "itemGroup.tardis_refined": "Tardis Refined", - "message.tardis_refined.ascend_key": "Ascend: %s", - "message.tardis_refined.astral_manipulator_engaged": "Please make your selection. Right click 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": "Descend: %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.exterior_cooldown": "You must wait %s seconds", - "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. Hit the handbrake to engage", - "message.tardis_refined.hardware_offline": "Hardware offline", - "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.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 refueling", - "message.tardis_refined.refuel_stopped": "Stopped refueling", - "message.tardis_refined.root_plant_cut_open": "Roots cover the entrance", - "message.tardis_refined.selected": "Selected: %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", - "shell.tardis_refined.big_ben": "Big Ben", - "shell.tardis_refined.briefcase": "Briefcase", - "shell.tardis_refined.castle": "Castle", - "shell.tardis_refined.drifter": "Drifter", - "shell.tardis_refined.factory": "Factory", - "shell.tardis_refined.groening": "Groening", - "shell.tardis_refined.growth": "Growth", - "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 Booth", - "shell.tardis_refined.police_box": "Police Box", - "shell.tardis_refined.portaloo": "Portaloo", - "shell.tardis_refined.present": "Present", - "shell.tardis_refined.vending": "Vending Machine", - "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.interior_voice.subtitle": "...?", - "sound.pattern_manipulator.subtitle": "Pattern Manipulator activates", - "sound.screwdriver_discard.subtitle": "Screwdriver discard data", - "sound.screwdriver_short.subtitle": "Screwdriver used", - "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", - "tooltip.tardis_refined.screwdriver_description": "An amethyst frequency manipulator", - "tooltip.tardis_refined.tardis_list": "Key Set:", - "ui.tardis_refined.desktop_selection": "DESKTOP CONFIGURATION", - "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_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.list.selection": "Currently selected: &s", - "ui.tardis_refined.monitor.main.destination": "Destination", - "ui.tardis_refined.monitor.main.gps": "GPS", - "ui.tardis_refined.monitor.main_title": "COMPUTER BANK", - "ui.tardis_refined.monitor.no.waypoints": "No Waypoints Saved!", - "ui.tardis_refined.monitor.select.hum": "SOUNDSCAPE", - "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.waypoints": "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.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": "EXTERNAL SHELL CONFIGURATION", - "ui.tardis_refined.upgrades": "Tardis Upgrades", - "ui.tardis_refined.upgrades.buy_ability": "Purchase Upgrade?", - "upgrade.tardis_refined.architecture_system": "Architecture", - "upgrade.tardis_refined.architecture_system.description": "Enables TARDIS Architecture Upgrades", - "upgrade.tardis_refined.chameleon_circuit_system": "Chameleon Circuit", - "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.description": "Enables Defense Protocols", - "upgrade.tardis_refined.dimension_travel": "Inter-Dimensional Travel", - "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.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": "Desktop Reconfiguration", - "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.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.description": "Allows upgrades to the TARDIS Navigation System", - "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" -} \ 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 similarity index 100% rename from common/src/main/resources/assets/tardis_refined/lang/pl_PL.json rename to common/src/main/resources/assets/tardis_refined/lang/pl_pl.json diff --git a/common/src/main/resources/assets/tardis_refined/models/block/artron_lantern.json b/common/src/main/resources/assets/tardis_refined/models/block/artron_lantern.json index 88de1b5e2..7027164bc 100644 --- a/common/src/main/resources/assets/tardis_refined/models/block/artron_lantern.json +++ b/common/src/main/resources/assets/tardis_refined/models/block/artron_lantern.json @@ -1,244 +1,1263 @@ { - "credit": "Made with Blockbench", - "texture_size": [128, 128], - "textures": { - "0": "tardis_refined:block/landing_pad", - "particle": "tardis_refined:block/landing_pad" - }, - "render_type" : "cutout", - "elements": [ - { - "from": [-3, 16, -3], - "to": [19, 16.5, 19], - "rotation": {"angle": 0, "axis": "y", "origin": [0, 13.5, 0]}, - "faces": { - "north": {"uv": [0.125, 6.25, 2.875, 6.375], "texture": "#0"}, - "east": {"uv": [0.125, 6.25, 2.875, 6.375], "texture": "#0"}, - "south": {"uv": [0.125, 6.25, 2.875, 6.375], "texture": "#0"}, - "west": {"uv": [0.125, 6.25, 2.875, 6.375], "texture": "#0"}, - "up": {"uv": [2.875, 2.875, 0.125, 0.125], "texture": "#0"}, - "down": {"uv": [2.875, 3.25, 0.125, 6], "texture": "#0"} - } - }, - { - "from": [15, 15.75, 4], - "to": [19, 18.75, 12], - "rotation": {"angle": -22.5, "axis": "z", "origin": [16, 12.75, 8]}, - "faces": { - "north": {"uv": [5.625, 0.875, 6, 1.375], "rotation": 270, "texture": "#0"}, - "east": {"uv": [4.25, 5, 5, 4], "rotation": 90, "texture": "#0"}, - "south": {"uv": [6, 0.875, 5.625, 1.375], "rotation": 90, "texture": "#0"}, - "west": {"uv": [4.25, 4, 5, 5], "rotation": 90, "texture": "#0"}, - "up": {"uv": [4.25, 5.625, 5.25, 6.125], "rotation": 90, "texture": "#0"}, - "down": {"uv": [3.125, 5.625, 4.125, 6.125], "rotation": 90, "texture": "#0"} - } - }, - { - "from": [-3, 15.75, 4], - "to": [1, 18.75, 12], - "rotation": {"angle": 22.5, "axis": "z", "origin": [0, 12.75, 8]}, - "faces": { - "north": {"uv": [6, 1.375, 5.625, 0.875], "rotation": 90, "texture": "#0"}, - "east": {"uv": [4.25, 4, 5, 5], "rotation": 90, "texture": "#0"}, - "south": {"uv": [5.625, 0.875, 6, 1.375], "rotation": 270, "texture": "#0"}, - "west": {"uv": [4.25, 5, 5, 4], "rotation": 90, "texture": "#0"}, - "up": {"uv": [5.25, 6.125, 4.25, 5.625], "rotation": 90, "texture": "#0"}, - "down": {"uv": [4.125, 6.125, 3.125, 5.625], "rotation": 90, "texture": "#0"} - } - }, - { - "from": [0, 16, 0], - "to": [16, 16, 16], - "rotation": {"angle": 0, "axis": "y", "origin": [0, 10, 0]}, - "faces": { - "north": {"uv": [3.125, 5.125, 5.125, 5.125], "texture": "#0"}, - "east": {"uv": [3.125, 5.125, 5.125, 5.125], "texture": "#0"}, - "south": {"uv": [3.125, 5.125, 5.125, 5.125], "texture": "#0"}, - "west": {"uv": [3.125, 5.125, 5.125, 5.125], "texture": "#0"}, - "up": {"uv": [5.125, 2, 3.125, 0], "texture": "#0"}, - "down": {"uv": [5.125, 0, 3.125, 2], "texture": "#0"} - } - }, - { - "from": [0, 0, 0], - "to": [16, 16, 16], - "rotation": {"angle": 0, "axis": "y", "origin": [0, 4, 0]}, - "faces": { - "north": {"uv": [0, 6.75, 2, 8.75], "texture": "#0"}, - "east": {"uv": [0, 6.75, 2, 8.75], "texture": "#0"}, - "south": {"uv": [0, 6.75, 2, 8.75], "texture": "#0"}, - "west": {"uv": [0, 6.75, 2, 8.75], "texture": "#0"}, - "up": {"uv": [0, 8.875, 0, 8.875], "texture": "#0"}, - "down": {"uv": [4, 6.75, 2, 8.75], "texture": "#0"} - } - }, - { - "from": [1, 17, 1], - "to": [15, 17, 15], - "rotation": {"angle": 0, "axis": "y", "origin": [0, 11, 0]}, - "faces": { - "north": {"uv": [3.125, 5.125, 5.125, 5.5], "texture": "#0"}, - "east": {"uv": [3.125, 5.125, 5.125, 5.5], "texture": "#0"}, - "south": {"uv": [3.125, 5.125, 5.125, 5.5], "texture": "#0"}, - "west": {"uv": [3.125, 5.125, 5.125, 5.5], "texture": "#0"}, - "up": {"uv": [4.875, 3.875, 3.125, 2.125], "texture": "#0"}, - "down": {"uv": [4.875, 2.125, 3.125, 3.875], "texture": "#0"} - } - }, - { - "from": [4, 18, 4], - "to": [12, 18, 12], - "rotation": {"angle": 0, "axis": "y", "origin": [0, 12, 0]}, - "faces": { - "north": {"uv": [3.125, 5.125, 5.125, 5.5], "texture": "#0"}, - "east": {"uv": [3.125, 5.125, 5.125, 5.5], "texture": "#0"}, - "south": {"uv": [3.125, 5.125, 5.125, 5.5], "texture": "#0"}, - "west": {"uv": [3.125, 5.125, 5.125, 5.5], "texture": "#0"}, - "up": {"uv": [4.125, 5, 3.125, 4], "texture": "#0"}, - "down": {"uv": [4.125, 4, 3.125, 5], "texture": "#0"} - } - }, - { - "from": [4, 15.75, 15], - "to": [12, 18.75, 19], - "rotation": {"angle": 22.5, "axis": "x", "origin": [8, 12.75, 16]}, - "faces": { - "north": {"uv": [6.25, 0.375, 5.25, 0], "rotation": 180, "texture": "#0"}, - "east": {"uv": [5.625, 0.875, 6, 1.375], "rotation": 270, "texture": "#0"}, - "south": {"uv": [6.25, 0, 5.25, 0.375], "texture": "#0"}, - "west": {"uv": [6, 0.875, 5.625, 1.375], "rotation": 90, "texture": "#0"}, - "up": {"uv": [4.25, 5.625, 5.25, 6.125], "rotation": 180, "texture": "#0"}, - "down": {"uv": [3.125, 5.625, 4.125, 6.125], "texture": "#0"} - } - }, - { - "from": [4, 15.75, -3], - "to": [12, 18.75, 1], - "rotation": {"angle": -22.5, "axis": "x", "origin": [8, 12.75, 0]}, - "faces": { - "north": {"uv": [5.25, 0, 6.25, 0.75], "texture": "#0"}, - "east": {"uv": [5.25, 1.375, 6, 0.875], "rotation": 270, "texture": "#0"}, - "south": {"uv": [5.25, 0.75, 6.25, 0], "rotation": 180, "texture": "#0"}, - "west": {"uv": [6, 1.375, 5.25, 0.875], "rotation": 90, "texture": "#0"}, - "up": {"uv": [4.25, 6.125, 5.25, 5.625], "rotation": 180, "texture": "#0"}, - "down": {"uv": [3.125, 6.125, 4.125, 5.625], "texture": "#0"} - } - }, - { - "from": [-3, 16.75, -3], - "to": [19, 16.75, 19], - "rotation": {"angle": 0, "axis": "y", "origin": [0, 13.75, 0]}, - "faces": { - "north": {"uv": [0, 6.25, 2.75, 6.25], "texture": "#0"}, - "east": {"uv": [0, 6.25, 2.75, 6.25], "texture": "#0"}, - "south": {"uv": [0, 6.25, 2.75, 6.25], "texture": "#0"}, - "west": {"uv": [0, 6.25, 2.75, 6.25], "texture": "#0"}, - "up": {"uv": [2.875, 11.625, 0.125, 8.875], "texture": "#0"}, - "down": {"uv": [2.875, 8.875, 0.125, 11.625], "texture": "#0"} - } - }, - { - "from": [3, 15.75, -10], - "to": [13, 31.75, -2], - "rotation": {"angle": 0, "axis": "y", "origin": [7, 16, -7]}, - "faces": { - "north": {"uv": [5.125, 2.625, 6.375, 4.625], "texture": "#0"}, - "east": {"uv": [5.375, 4.75, 6.375, 6.75], "texture": "#0"}, - "south": {"uv": [5.125, 2.625, 6.375, 4.625], "texture": "#0"}, - "west": {"uv": [5.375, 4.75, 6.375, 6.75], "texture": "#0"}, - "up": {"uv": [4.125, 6.75, 5.375, 7.75], "texture": "#0"}, - "down": {"uv": [5.375, 6.875, 6.625, 7.875], "texture": "#0"} - } - }, - { - "from": [2.5, 31.95, -10.5], - "to": [12.5, 31.95, -2.5], - "rotation": {"angle": 0, "axis": "y", "origin": [6.5, 16.5, -7.5]}, - "faces": { - "north": {"uv": [4.875, 11.25, 6.125, 11.25], "texture": "#0"}, - "east": {"uv": [3.75, 11.25, 4.75, 11.25], "texture": "#0"}, - "south": {"uv": [4.875, 11.25, 6.125, 11.25], "texture": "#0"}, - "west": {"uv": [3.75, 11.25, 4.75, 11.25], "texture": "#0"}, - "up": {"uv": [5.25, 1.5, 6.5, 2.5], "texture": "#0"}, - "down": {"uv": [5.25, 1.5, 6.5, 2.5], "texture": "#0"} - } - }, - { - "from": [13.5, 31.25, -7.5], - "to": [17.5, 31.25, -3.5], - "rotation": {"angle": 0, "axis": "y", "origin": [15.5, 15.5, -7.5]}, - "faces": { - "north": {"uv": [6.25, 11.375, 6.75, 11.375], "texture": "#0"}, - "east": {"uv": [6.25, 11.375, 6.75, 11.375], "texture": "#0"}, - "south": {"uv": [6.25, 11.375, 6.75, 11.375], "texture": "#0"}, - "west": {"uv": [6.25, 11.375, 6.75, 11.375], "texture": "#0"}, - "up": {"uv": [4.125, 8.5, 4.625, 9], "texture": "#0"}, - "down": {"uv": [4.125, 8.5, 4.625, 9], "texture": "#0"} - } - }, - { - "from": [13, 26.75, -8], - "to": [18, 30.75, -3], - "rotation": {"angle": 0, "axis": "y", "origin": [16, 15, -7]}, - "faces": { - "north": {"uv": [4.125, 7.875, 4.75, 8.375], "texture": "#0"}, - "east": {"uv": [4.125, 7.875, 4.75, 8.375], "texture": "#0"}, - "south": {"uv": [4.125, 7.875, 4.75, 8.375], "texture": "#0"}, - "west": {"uv": [4.125, 7.875, 4.75, 8.375], "texture": "#0"}, - "up": {"uv": [4.875, 8, 5.5, 8.625], "texture": "#0"}, - "down": {"uv": [5.625, 8, 6.25, 8.625], "texture": "#0"} - } - } - ], - "display": { - "thirdperson_righthand": { - "rotation": [75, 45, 0], - "translation": [0, 2.5, 0], - "scale": [0.375, 0.375, 0.375] - }, - "thirdperson_lefthand": { - "rotation": [75, 45, 0], - "translation": [0, 2.5, 0], - "scale": [0.375, 0.375, 0.375] - }, - "firstperson_righthand": { - "rotation": [0, 45, 0], - "scale": [0.4, 0.4, 0.4] - }, - "firstperson_lefthand": { - "rotation": [0, 225, 0], - "scale": [0.4, 0.4, 0.4] - }, - "ground": { - "translation": [0, 3, 0], - "scale": [0.25, 0.25, 0.25] - }, - "gui": { - "rotation": [30, 40, 0], - "translation": [0, -3, 0], - "scale": [0.375, 0.375, 0.375] - }, - "head": { - "rotation": [0, 180, 0] - }, - "fixed": { - "rotation": [0, 90, 0], - "translation": [0, -4.5, 0], - "scale": [0.5, 0.5, 0.5] - } - }, - "groups": [ - { - "name": "group", - "origin": [-4, 0, 8], - "color": 0, - "children": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] - }, - { - "name": "group", - "origin": [16, -1, -7], - "color": 0, - "children": [10, 11, 12, 13] - } - ] + "credit": "Made with Blockbench", + "texture_size": [ + 128, + 128 + ], + "textures": { + "0": "tardis_refined:block/landing_pad", + "particle": "tardis_refined:block/landing_pad" + }, + "render_type": "cutout", + "elements": [ + { + "from": [ + -3, + 16, + -3 + ], + "to": [ + 19, + 16.5, + 19 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 0, + 13.5, + 0 + ] + }, + "faces": { + "north": { + "uv": [ + 0.125, + 6.25, + 2.875, + 6.375 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 0.125, + 6.25, + 2.875, + 6.375 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 0.125, + 6.25, + 2.875, + 6.375 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 0.125, + 6.25, + 2.875, + 6.375 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 2.875, + 2.875, + 0.125, + 0.125 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 2.875, + 3.25, + 0.125, + 6 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 15, + 15.75, + 4 + ], + "to": [ + 19, + 18.75, + 12 + ], + "rotation": { + "angle": -22.5, + "axis": "z", + "origin": [ + 16, + 12.75, + 8 + ] + }, + "faces": { + "north": { + "uv": [ + 5.625, + 0.875, + 6, + 1.375 + ], + "rotation": 270, + "texture": "#0" + }, + "east": { + "uv": [ + 4.25, + 5, + 5, + 4 + ], + "rotation": 90, + "texture": "#0" + }, + "south": { + "uv": [ + 6, + 0.875, + 5.625, + 1.375 + ], + "rotation": 90, + "texture": "#0" + }, + "west": { + "uv": [ + 4.25, + 4, + 5, + 5 + ], + "rotation": 90, + "texture": "#0" + }, + "up": { + "uv": [ + 4.25, + 5.625, + 5.25, + 6.125 + ], + "rotation": 90, + "texture": "#0" + }, + "down": { + "uv": [ + 3.125, + 5.625, + 4.125, + 6.125 + ], + "rotation": 90, + "texture": "#0" + } + } + }, + { + "from": [ + -3, + 15.75, + 4 + ], + "to": [ + 1, + 18.75, + 12 + ], + "rotation": { + "angle": 22.5, + "axis": "z", + "origin": [ + 0, + 12.75, + 8 + ] + }, + "faces": { + "north": { + "uv": [ + 6, + 1.375, + 5.625, + 0.875 + ], + "rotation": 90, + "texture": "#0" + }, + "east": { + "uv": [ + 4.25, + 4, + 5, + 5 + ], + "rotation": 90, + "texture": "#0" + }, + "south": { + "uv": [ + 5.625, + 0.875, + 6, + 1.375 + ], + "rotation": 270, + "texture": "#0" + }, + "west": { + "uv": [ + 4.25, + 5, + 5, + 4 + ], + "rotation": 90, + "texture": "#0" + }, + "up": { + "uv": [ + 5.25, + 6.125, + 4.25, + 5.625 + ], + "rotation": 90, + "texture": "#0" + }, + "down": { + "uv": [ + 4.125, + 6.125, + 3.125, + 5.625 + ], + "rotation": 90, + "texture": "#0" + } + } + }, + { + "from": [ + 0, + 16, + 0 + ], + "to": [ + 16, + 16, + 16 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 0, + 10, + 0 + ] + }, + "faces": { + "north": { + "uv": [ + 3.125, + 5.125, + 5.125, + 5.125 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 3.125, + 5.125, + 5.125, + 5.125 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 3.125, + 5.125, + 5.125, + 5.125 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 3.125, + 5.125, + 5.125, + 5.125 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 5.125, + 2, + 3.125, + 0 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 5.125, + 0, + 3.125, + 2 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 0, + 0, + 0 + ], + "to": [ + 16, + 16, + 16 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 0, + 4, + 0 + ] + }, + "faces": { + "north": { + "uv": [ + 0, + 6.75, + 2, + 8.75 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 0, + 6.75, + 2, + 8.75 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 0, + 6.75, + 2, + 8.75 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 0, + 6.75, + 2, + 8.75 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 0, + 8.875, + 0, + 8.875 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 4, + 6.75, + 2, + 8.75 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 1, + 17, + 1 + ], + "to": [ + 15, + 17, + 15 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 0, + 11, + 0 + ] + }, + "faces": { + "north": { + "uv": [ + 3.125, + 5.125, + 5.125, + 5.5 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 3.125, + 5.125, + 5.125, + 5.5 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 3.125, + 5.125, + 5.125, + 5.5 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 3.125, + 5.125, + 5.125, + 5.5 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 4.875, + 3.875, + 3.125, + 2.125 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 4.875, + 2.125, + 3.125, + 3.875 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 4, + 18, + 4 + ], + "to": [ + 12, + 18, + 12 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 0, + 12, + 0 + ] + }, + "faces": { + "north": { + "uv": [ + 3.125, + 5.125, + 5.125, + 5.5 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 3.125, + 5.125, + 5.125, + 5.5 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 3.125, + 5.125, + 5.125, + 5.5 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 3.125, + 5.125, + 5.125, + 5.5 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 4.125, + 5, + 3.125, + 4 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 4.125, + 4, + 3.125, + 5 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 4, + 15.75, + 15 + ], + "to": [ + 12, + 18.75, + 19 + ], + "rotation": { + "angle": 22.5, + "axis": "x", + "origin": [ + 8, + 12.75, + 16 + ] + }, + "faces": { + "north": { + "uv": [ + 6.25, + 0.375, + 5.25, + 0 + ], + "rotation": 180, + "texture": "#0" + }, + "east": { + "uv": [ + 5.625, + 0.875, + 6, + 1.375 + ], + "rotation": 270, + "texture": "#0" + }, + "south": { + "uv": [ + 6.25, + 0, + 5.25, + 0.375 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 6, + 0.875, + 5.625, + 1.375 + ], + "rotation": 90, + "texture": "#0" + }, + "up": { + "uv": [ + 4.25, + 5.625, + 5.25, + 6.125 + ], + "rotation": 180, + "texture": "#0" + }, + "down": { + "uv": [ + 3.125, + 5.625, + 4.125, + 6.125 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 4, + 15.75, + -3 + ], + "to": [ + 12, + 18.75, + 1 + ], + "rotation": { + "angle": -22.5, + "axis": "x", + "origin": [ + 8, + 12.75, + 0 + ] + }, + "faces": { + "north": { + "uv": [ + 5.25, + 0, + 6.25, + 0.75 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 5.25, + 1.375, + 6, + 0.875 + ], + "rotation": 270, + "texture": "#0" + }, + "south": { + "uv": [ + 5.25, + 0.75, + 6.25, + 0 + ], + "rotation": 180, + "texture": "#0" + }, + "west": { + "uv": [ + 6, + 1.375, + 5.25, + 0.875 + ], + "rotation": 90, + "texture": "#0" + }, + "up": { + "uv": [ + 4.25, + 6.125, + 5.25, + 5.625 + ], + "rotation": 180, + "texture": "#0" + }, + "down": { + "uv": [ + 3.125, + 6.125, + 4.125, + 5.625 + ], + "texture": "#0" + } + } + }, + { + "from": [ + -3, + 16.75, + -3 + ], + "to": [ + 19, + 16.75, + 19 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 0, + 13.75, + 0 + ] + }, + "faces": { + "north": { + "uv": [ + 0, + 6.25, + 2.75, + 6.25 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 0, + 6.25, + 2.75, + 6.25 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 0, + 6.25, + 2.75, + 6.25 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 0, + 6.25, + 2.75, + 6.25 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 2.875, + 11.625, + 0.125, + 8.875 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 2.875, + 8.875, + 0.125, + 11.625 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 3, + 15.75, + -10 + ], + "to": [ + 13, + 31.75, + -2 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 7, + 16, + -7 + ] + }, + "faces": { + "north": { + "uv": [ + 5.125, + 2.625, + 6.375, + 4.625 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 5.375, + 4.75, + 6.375, + 6.75 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 5.125, + 2.625, + 6.375, + 4.625 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 5.375, + 4.75, + 6.375, + 6.75 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 4.125, + 6.75, + 5.375, + 7.75 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 5.375, + 6.875, + 6.625, + 7.875 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 2.5, + 31.95, + -10.5 + ], + "to": [ + 12.5, + 31.95, + -2.5 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 6.5, + 16.5, + -7.5 + ] + }, + "faces": { + "north": { + "uv": [ + 4.875, + 11.25, + 6.125, + 11.25 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 3.75, + 11.25, + 4.75, + 11.25 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 4.875, + 11.25, + 6.125, + 11.25 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 3.75, + 11.25, + 4.75, + 11.25 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 5.25, + 1.5, + 6.5, + 2.5 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 5.25, + 1.5, + 6.5, + 2.5 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 13.5, + 31.25, + -7.5 + ], + "to": [ + 17.5, + 31.25, + -3.5 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 15.5, + 15.5, + -7.5 + ] + }, + "faces": { + "north": { + "uv": [ + 6.25, + 11.375, + 6.75, + 11.375 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 6.25, + 11.375, + 6.75, + 11.375 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 6.25, + 11.375, + 6.75, + 11.375 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 6.25, + 11.375, + 6.75, + 11.375 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 4.125, + 8.5, + 4.625, + 9 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 4.125, + 8.5, + 4.625, + 9 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 13, + 26.75, + -8 + ], + "to": [ + 18, + 30.75, + -3 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 16, + 15, + -7 + ] + }, + "faces": { + "north": { + "uv": [ + 4.125, + 7.875, + 4.75, + 8.375 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 4.125, + 7.875, + 4.75, + 8.375 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 4.125, + 7.875, + 4.75, + 8.375 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 4.125, + 7.875, + 4.75, + 8.375 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 4.875, + 8, + 5.5, + 8.625 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 5.625, + 8, + 6.25, + 8.625 + ], + "texture": "#0" + } + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [ + 75, + 45, + 0 + ], + "translation": [ + 0, + 2.5, + 0 + ], + "scale": [ + 0.375, + 0.375, + 0.375 + ] + }, + "thirdperson_lefthand": { + "rotation": [ + 75, + 45, + 0 + ], + "translation": [ + 0, + 2.5, + 0 + ], + "scale": [ + 0.375, + 0.375, + 0.375 + ] + }, + "firstperson_righthand": { + "rotation": [ + 0, + 45, + 0 + ], + "scale": [ + 0.4, + 0.4, + 0.4 + ] + }, + "firstperson_lefthand": { + "rotation": [ + 0, + 225, + 0 + ], + "scale": [ + 0.4, + 0.4, + 0.4 + ] + }, + "ground": { + "translation": [ + 0, + 3, + 0 + ], + "scale": [ + 0.25, + 0.25, + 0.25 + ] + }, + "gui": { + "rotation": [ + 30, + 40, + 0 + ], + "translation": [ + 0, + -3, + 0 + ], + "scale": [ + 0.375, + 0.375, + 0.375 + ] + }, + "head": { + "rotation": [ + 0, + 180, + 0 + ] + }, + "fixed": { + "rotation": [ + 0, + 90, + 0 + ], + "translation": [ + 0, + -4.5, + 0 + ], + "scale": [ + 0.5, + 0.5, + 0.5 + ] + } + }, + "groups": [ + { + "name": "group", + "origin": [ + -4, + 0, + 8 + ], + "color": 0, + "children": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9 + ] + }, + { + "name": "group", + "origin": [ + 16, + -1, + -7 + ], + "color": 0, + "children": [ + 10, + 11, + 12, + 13 + ] + } + ] } \ No newline at end of file diff --git a/common/src/main/resources/assets/tardis_refined/models/block/astral_manipulator.json b/common/src/main/resources/assets/tardis_refined/models/block/astral_manipulator.json index 8b1e63bbb..6d48e669e 100644 --- a/common/src/main/resources/assets/tardis_refined/models/block/astral_manipulator.json +++ b/common/src/main/resources/assets/tardis_refined/models/block/astral_manipulator.json @@ -1,65 +1,240 @@ { - "credit": "Made with Blockbench", - "texture_size": [32, 32], - "textures": { - "0": "tardis_refined:block/astral_manipulator", - "particle": "tardis_refined:block/astral_manipulator" - }, - "elements": [ - { - "from": [0, 0, 0], - "to": [16, 12, 16], - "faces": { - "north": {"uv": [8, 0, 16, 6], "texture": "#0"}, - "east": {"uv": [8, 0, 16, 6], "texture": "#0"}, - "south": {"uv": [8, 0, 16, 6], "texture": "#0"}, - "west": {"uv": [8, 0, 16, 6], "texture": "#0"}, - "up": {"uv": [8, 8, 0, 0], "texture": "#0"}, - "down": {"uv": [8, 8, 0, 16], "texture": "#0"} - } - }, - { - "from": [4, 12, 4], - "to": [12, 14, 12], - "faces": { - "north": {"uv": [8, 10, 12, 11], "texture": "#0"}, - "east": {"uv": [8, 10, 12, 11], "texture": "#0"}, - "south": {"uv": [8, 10, 12, 11], "texture": "#0"}, - "west": {"uv": [8, 10, 12, 11], "texture": "#0"}, - "up": {"uv": [12, 10, 8, 6], "texture": "#0"}, - "down": {"uv": [12, 6, 8, 10], "texture": "#0"} - } - } - ], - "display": { - "thirdperson_righthand": { - "rotation": [75, 45, 0], - "translation": [0, 2.5, 0], - "scale": [0.375, 0.375, 0.375] - }, - "thirdperson_lefthand": { - "rotation": [75, 45, 0], - "translation": [0, 2.5, 0], - "scale": [0.375, 0.375, 0.375] - }, - "firstperson_righthand": { - "rotation": [0, 45, 0], - "scale": [0.4, 0.4, 0.4] - }, - "firstperson_lefthand": { - "rotation": [0, 225, 0], - "scale": [0.4, 0.4, 0.4] - }, - "ground": { - "translation": [0, 3, 0], - "scale": [0.25, 0.25, 0.25] - }, - "gui": { - "rotation": [30, 225, 0], - "scale": [0.625, 0.625, 0.625] - }, - "fixed": { - "scale": [0.5, 0.5, 0.5] - } - } + "credit": "Made with Blockbench", + "texture_size": [ + 32, + 32 + ], + "textures": { + "0": "tardis_refined:block/astral_manipulator", + "particle": "tardis_refined:block/astral_manipulator" + }, + "elements": [ + { + "from": [ + 0, + 0, + 0 + ], + "to": [ + 16, + 12, + 16 + ], + "faces": { + "north": { + "uv": [ + 8, + 0, + 16, + 6 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 8, + 0, + 16, + 6 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 8, + 0, + 16, + 6 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 8, + 0, + 16, + 6 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 8, + 8, + 0, + 0 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 8, + 8, + 0, + 16 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 4, + 12, + 4 + ], + "to": [ + 12, + 14, + 12 + ], + "faces": { + "north": { + "uv": [ + 8, + 10, + 12, + 11 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 8, + 10, + 12, + 11 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 8, + 10, + 12, + 11 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 8, + 10, + 12, + 11 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 12, + 10, + 8, + 6 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 12, + 6, + 8, + 10 + ], + "texture": "#0" + } + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [ + 75, + 45, + 0 + ], + "translation": [ + 0, + 2.5, + 0 + ], + "scale": [ + 0.375, + 0.375, + 0.375 + ] + }, + "thirdperson_lefthand": { + "rotation": [ + 75, + 45, + 0 + ], + "translation": [ + 0, + 2.5, + 0 + ], + "scale": [ + 0.375, + 0.375, + 0.375 + ] + }, + "firstperson_righthand": { + "rotation": [ + 0, + 45, + 0 + ], + "scale": [ + 0.4, + 0.4, + 0.4 + ] + }, + "firstperson_lefthand": { + "rotation": [ + 0, + 225, + 0 + ], + "scale": [ + 0.4, + 0.4, + 0.4 + ] + }, + "ground": { + "translation": [ + 0, + 3, + 0 + ], + "scale": [ + 0.25, + 0.25, + 0.25 + ] + }, + "gui": { + "rotation": [ + 30, + 225, + 0 + ], + "scale": [ + 0.625, + 0.625, + 0.625 + ] + }, + "fixed": { + "scale": [ + 0.5, + 0.5, + 0.5 + ] + } + } } \ No newline at end of file diff --git a/common/src/main/resources/assets/tardis_refined/models/block/console_configuration.json b/common/src/main/resources/assets/tardis_refined/models/block/console_configuration.json index e9ba7e60b..a819a0076 100644 --- a/common/src/main/resources/assets/tardis_refined/models/block/console_configuration.json +++ b/common/src/main/resources/assets/tardis_refined/models/block/console_configuration.json @@ -1,174 +1,748 @@ { - "credit": "Made with Blockbench", - "texture_size": [64, 64], - "render_type" : "cutout", - "textures": { - "3": "tardis_refined:block/console_configuration", - "particle": "tardis_refined:block/console_configuration" - }, - "elements": [ - { - "from": [2, 0, 2], - "to": [14, 4, 14], - "faces": { - "north": {"uv": [3.25, 2.25, 6.25, 3.25], "texture": "#3"}, - "east": {"uv": [0, 6.5, 3, 7.5], "texture": "#3"}, - "south": {"uv": [3.25, 2.25, 6.25, 3.25], "texture": "#3"}, - "west": {"uv": [0, 6.5, 3, 7.5], "texture": "#3"}, - "up": {"uv": [3, 3, 0, 0], "texture": "#3"}, - "down": {"uv": [3, 3.25, 0, 6.25], "texture": "#3"} - } - }, - { - "from": [5, 1, 0], - "to": [11, 2, 2], - "faces": { - "north": {"uv": [3.25, 5, 4.75, 5.25], "texture": "#3"}, - "east": {"uv": [3.25, 3.5, 3.75, 3.75], "texture": "#3"}, - "south": {"uv": [3.25, 5, 4.75, 5.25], "texture": "#3"}, - "west": {"uv": [3.25, 3.5, 3.75, 3.75], "texture": "#3"}, - "up": {"uv": [5.5, 4, 4, 3.5], "texture": "#3"}, - "down": {"uv": [4.75, 4.25, 3.25, 4.75], "texture": "#3"} - } - }, - { - "from": [4, 4, 4], - "to": [12, 6, 12], - "faces": { - "north": {"uv": [5.5, 1.5, 7.5, 2], "texture": "#3"}, - "east": {"uv": [5.5, 1.5, 7.5, 2], "texture": "#3"}, - "south": {"uv": [5.5, 1.5, 7.5, 2], "texture": "#3"}, - "west": {"uv": [5.5, 1.5, 7.5, 2], "texture": "#3"}, - "up": {"uv": [5.25, 2, 3.25, 0], "texture": "#3"}, - "down": {"uv": [5.25, 0, 3.25, 2], "texture": "#3"} - } - }, - { - "from": [-6, 4, 8], - "to": [4, 6, 8], - "rotation": {"angle": -45, "axis": "z", "origin": [4, 4, 8]}, - "faces": { - "north": {"uv": [0, 7.75, 2.5, 8.25], "texture": "#3"}, - "east": {"uv": [2.75, 7.75, 2.75, 8.25], "texture": "#3"}, - "south": {"uv": [2.5, 7.75, 0, 8.25], "texture": "#3"}, - "west": {"uv": [3, 7.75, 3, 8.25], "texture": "#3"}, - "up": {"uv": [11.25, 4.25, 8.75, 4.25], "texture": "#3"}, - "down": {"uv": [2.5, 9.25, 0, 9.25], "texture": "#3"} - } - }, - { - "from": [12, 4, 8], - "to": [22, 6, 8], - "rotation": {"angle": 45, "axis": "z", "origin": [12, 4, 8]}, - "faces": { - "north": {"uv": [2.5, 7.75, 0, 8.25], "texture": "#3"}, - "east": {"uv": [5, 7.75, 5, 8.25], "texture": "#3"}, - "south": {"uv": [0, 7.75, 2.5, 8.25], "texture": "#3"}, - "west": {"uv": [5.25, 7.75, 5.25, 8.25], "texture": "#3"}, - "up": {"uv": [5.25, 9.25, 2.75, 9.25], "texture": "#3"}, - "down": {"uv": [8, 9.25, 5.5, 9.25], "texture": "#3"} - } - }, - { - "from": [5, 9, 5], - "to": [11, 9, 11], - "faces": { - "north": {"uv": [2.5, 11.5, 4, 11.5], "texture": "#3"}, - "east": {"uv": [1, 11.5, 2.5, 11.5], "texture": "#3"}, - "south": {"uv": [5.5, 11.5, 7, 11.5], "texture": "#3"}, - "west": {"uv": [4, 11.5, 5.5, 11.5], "texture": "#3"}, - "up": {"uv": [4.75, 7, 3.25, 5.5], "texture": "#3"}, - "down": {"uv": [4.75, 5.5, 3.25, 7], "texture": "#3"} - } - }, - { - "from": [2, 6, 8], - "to": [14, 11, 8], - "rotation": {"angle": 45, "axis": "y", "origin": [8, 7, 8]}, - "faces": { - "north": {"uv": [5.5, 0, 8.5, 1.25], "texture": "#3"}, - "east": {"uv": [1, 9.5, 1, 12], "texture": "#3"}, - "south": {"uv": [5.5, 0, 8.5, 1.25], "texture": "#3"}, - "west": {"uv": [1.5, 9.5, 1.5, 12], "texture": "#3"}, - "up": {"uv": [1.5, 9.5, 1, 9.5], "texture": "#3"}, - "down": {"uv": [2, 9.5, 1.5, 9.5], "texture": "#3"} - } - }, - { - "from": [2, 6, 8], - "to": [14, 11, 8], - "rotation": {"angle": -45, "axis": "y", "origin": [8, 7, 8]}, - "faces": { - "north": {"uv": [5.5, 0, 8.5, 1.25], "texture": "#3"}, - "east": {"uv": [1, 9.5, 1, 12], "texture": "#3"}, - "south": {"uv": [5.5, 0, 8.5, 1.25], "texture": "#3"}, - "west": {"uv": [1.5, 9.5, 1.5, 12], "texture": "#3"}, - "up": {"uv": [1.5, 9.5, 1, 9.5], "texture": "#3"}, - "down": {"uv": [2, 9.5, 1.5, 9.5], "texture": "#3"} - } - } - ], - "display": { - "thirdperson_righthand": { - "rotation": [75, 45, 0], - "translation": [0, 2.5, 2.25], - "scale": [0.375, 0.375, 0.375] - }, - "thirdperson_lefthand": { - "rotation": [75, 45, 0], - "translation": [0, 2.5, 2.25], - "scale": [0.375, 0.375, 0.375] - }, - "firstperson_righthand": { - "rotation": [0, 45, 0], - "translation": [0.75, 3, 0.25], - "scale": [0.4, 0.4, 0.4] - }, - "firstperson_lefthand": { - "rotation": [0, 45, 0], - "translation": [0.75, 3, 0.25], - "scale": [0.4, 0.4, 0.4] - }, - "ground": { - "translation": [0, 3, 0], - "scale": [0.25, 0.25, 0.25] - }, - "gui": { - "rotation": [30, 225, 0], - "translation": [0, 2.25, 0], - "scale": [0.75, 0.75, 0.75] - }, - "head": { - "translation": [0, 14.5, 0] - }, - "fixed": { - "translation": [0, 1.75, -0.25], - "scale": [0.75, 0.75, 0.75] - } - }, - "groups": [ - 0, - 1, - 2, - 3, - 4, - 5, - { - "name": "group", - "origin": [0, 0, 0], - "color": 0, - "nbt": "{}", - "armAnimationEnabled": false, - "children": [ - { - "name": "group", - "origin": [8, 7, 8], - "color": 0, - "nbt": "{}", - "armAnimationEnabled": false, - "children": [6, 7] - } - ] - } - ] + "credit": "Made with Blockbench", + "texture_size": [ + 64, + 64 + ], + "render_type": "cutout", + "textures": { + "3": "tardis_refined:block/console_configuration", + "particle": "tardis_refined:block/console_configuration" + }, + "elements": [ + { + "from": [ + 2, + 0, + 2 + ], + "to": [ + 14, + 4, + 14 + ], + "faces": { + "north": { + "uv": [ + 3.25, + 2.25, + 6.25, + 3.25 + ], + "texture": "#3" + }, + "east": { + "uv": [ + 0, + 6.5, + 3, + 7.5 + ], + "texture": "#3" + }, + "south": { + "uv": [ + 3.25, + 2.25, + 6.25, + 3.25 + ], + "texture": "#3" + }, + "west": { + "uv": [ + 0, + 6.5, + 3, + 7.5 + ], + "texture": "#3" + }, + "up": { + "uv": [ + 3, + 3, + 0, + 0 + ], + "texture": "#3" + }, + "down": { + "uv": [ + 3, + 3.25, + 0, + 6.25 + ], + "texture": "#3" + } + } + }, + { + "from": [ + 5, + 1, + 0 + ], + "to": [ + 11, + 2, + 2 + ], + "faces": { + "north": { + "uv": [ + 3.25, + 5, + 4.75, + 5.25 + ], + "texture": "#3" + }, + "east": { + "uv": [ + 3.25, + 3.5, + 3.75, + 3.75 + ], + "texture": "#3" + }, + "south": { + "uv": [ + 3.25, + 5, + 4.75, + 5.25 + ], + "texture": "#3" + }, + "west": { + "uv": [ + 3.25, + 3.5, + 3.75, + 3.75 + ], + "texture": "#3" + }, + "up": { + "uv": [ + 5.5, + 4, + 4, + 3.5 + ], + "texture": "#3" + }, + "down": { + "uv": [ + 4.75, + 4.25, + 3.25, + 4.75 + ], + "texture": "#3" + } + } + }, + { + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 6, + 12 + ], + "faces": { + "north": { + "uv": [ + 5.5, + 1.5, + 7.5, + 2 + ], + "texture": "#3" + }, + "east": { + "uv": [ + 5.5, + 1.5, + 7.5, + 2 + ], + "texture": "#3" + }, + "south": { + "uv": [ + 5.5, + 1.5, + 7.5, + 2 + ], + "texture": "#3" + }, + "west": { + "uv": [ + 5.5, + 1.5, + 7.5, + 2 + ], + "texture": "#3" + }, + "up": { + "uv": [ + 5.25, + 2, + 3.25, + 0 + ], + "texture": "#3" + }, + "down": { + "uv": [ + 5.25, + 0, + 3.25, + 2 + ], + "texture": "#3" + } + } + }, + { + "from": [ + -6, + 4, + 8 + ], + "to": [ + 4, + 6, + 8 + ], + "rotation": { + "angle": -45, + "axis": "z", + "origin": [ + 4, + 4, + 8 + ] + }, + "faces": { + "north": { + "uv": [ + 0, + 7.75, + 2.5, + 8.25 + ], + "texture": "#3" + }, + "east": { + "uv": [ + 2.75, + 7.75, + 2.75, + 8.25 + ], + "texture": "#3" + }, + "south": { + "uv": [ + 2.5, + 7.75, + 0, + 8.25 + ], + "texture": "#3" + }, + "west": { + "uv": [ + 3, + 7.75, + 3, + 8.25 + ], + "texture": "#3" + }, + "up": { + "uv": [ + 11.25, + 4.25, + 8.75, + 4.25 + ], + "texture": "#3" + }, + "down": { + "uv": [ + 2.5, + 9.25, + 0, + 9.25 + ], + "texture": "#3" + } + } + }, + { + "from": [ + 12, + 4, + 8 + ], + "to": [ + 22, + 6, + 8 + ], + "rotation": { + "angle": 45, + "axis": "z", + "origin": [ + 12, + 4, + 8 + ] + }, + "faces": { + "north": { + "uv": [ + 2.5, + 7.75, + 0, + 8.25 + ], + "texture": "#3" + }, + "east": { + "uv": [ + 5, + 7.75, + 5, + 8.25 + ], + "texture": "#3" + }, + "south": { + "uv": [ + 0, + 7.75, + 2.5, + 8.25 + ], + "texture": "#3" + }, + "west": { + "uv": [ + 5.25, + 7.75, + 5.25, + 8.25 + ], + "texture": "#3" + }, + "up": { + "uv": [ + 5.25, + 9.25, + 2.75, + 9.25 + ], + "texture": "#3" + }, + "down": { + "uv": [ + 8, + 9.25, + 5.5, + 9.25 + ], + "texture": "#3" + } + } + }, + { + "from": [ + 5, + 9, + 5 + ], + "to": [ + 11, + 9, + 11 + ], + "faces": { + "north": { + "uv": [ + 2.5, + 11.5, + 4, + 11.5 + ], + "texture": "#3" + }, + "east": { + "uv": [ + 1, + 11.5, + 2.5, + 11.5 + ], + "texture": "#3" + }, + "south": { + "uv": [ + 5.5, + 11.5, + 7, + 11.5 + ], + "texture": "#3" + }, + "west": { + "uv": [ + 4, + 11.5, + 5.5, + 11.5 + ], + "texture": "#3" + }, + "up": { + "uv": [ + 4.75, + 7, + 3.25, + 5.5 + ], + "texture": "#3" + }, + "down": { + "uv": [ + 4.75, + 5.5, + 3.25, + 7 + ], + "texture": "#3" + } + } + }, + { + "from": [ + 2, + 6, + 8 + ], + "to": [ + 14, + 11, + 8 + ], + "rotation": { + "angle": 45, + "axis": "y", + "origin": [ + 8, + 7, + 8 + ] + }, + "faces": { + "north": { + "uv": [ + 5.5, + 0, + 8.5, + 1.25 + ], + "texture": "#3" + }, + "east": { + "uv": [ + 1, + 9.5, + 1, + 12 + ], + "texture": "#3" + }, + "south": { + "uv": [ + 5.5, + 0, + 8.5, + 1.25 + ], + "texture": "#3" + }, + "west": { + "uv": [ + 1.5, + 9.5, + 1.5, + 12 + ], + "texture": "#3" + }, + "up": { + "uv": [ + 1.5, + 9.5, + 1, + 9.5 + ], + "texture": "#3" + }, + "down": { + "uv": [ + 2, + 9.5, + 1.5, + 9.5 + ], + "texture": "#3" + } + } + }, + { + "from": [ + 2, + 6, + 8 + ], + "to": [ + 14, + 11, + 8 + ], + "rotation": { + "angle": -45, + "axis": "y", + "origin": [ + 8, + 7, + 8 + ] + }, + "faces": { + "north": { + "uv": [ + 5.5, + 0, + 8.5, + 1.25 + ], + "texture": "#3" + }, + "east": { + "uv": [ + 1, + 9.5, + 1, + 12 + ], + "texture": "#3" + }, + "south": { + "uv": [ + 5.5, + 0, + 8.5, + 1.25 + ], + "texture": "#3" + }, + "west": { + "uv": [ + 1.5, + 9.5, + 1.5, + 12 + ], + "texture": "#3" + }, + "up": { + "uv": [ + 1.5, + 9.5, + 1, + 9.5 + ], + "texture": "#3" + }, + "down": { + "uv": [ + 2, + 9.5, + 1.5, + 9.5 + ], + "texture": "#3" + } + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [ + 75, + 45, + 0 + ], + "translation": [ + 0, + 2.5, + 2.25 + ], + "scale": [ + 0.375, + 0.375, + 0.375 + ] + }, + "thirdperson_lefthand": { + "rotation": [ + 75, + 45, + 0 + ], + "translation": [ + 0, + 2.5, + 2.25 + ], + "scale": [ + 0.375, + 0.375, + 0.375 + ] + }, + "firstperson_righthand": { + "rotation": [ + 0, + 45, + 0 + ], + "translation": [ + 0.75, + 3, + 0.25 + ], + "scale": [ + 0.4, + 0.4, + 0.4 + ] + }, + "firstperson_lefthand": { + "rotation": [ + 0, + 45, + 0 + ], + "translation": [ + 0.75, + 3, + 0.25 + ], + "scale": [ + 0.4, + 0.4, + 0.4 + ] + }, + "ground": { + "translation": [ + 0, + 3, + 0 + ], + "scale": [ + 0.25, + 0.25, + 0.25 + ] + }, + "gui": { + "rotation": [ + 30, + 225, + 0 + ], + "translation": [ + 0, + 2.25, + 0 + ], + "scale": [ + 0.75, + 0.75, + 0.75 + ] + }, + "head": { + "translation": [ + 0, + 14.5, + 0 + ] + }, + "fixed": { + "translation": [ + 0, + 1.75, + -0.25 + ], + "scale": [ + 0.75, + 0.75, + 0.75 + ] + } + }, + "groups": [ + 0, + 1, + 2, + 3, + 4, + 5, + { + "name": "group", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "nbt": "{}", + "armAnimationEnabled": false, + "children": [ + { + "name": "group", + "origin": [ + 8, + 7, + 8 + ], + "color": 0, + "nbt": "{}", + "armAnimationEnabled": false, + "children": [ + 6, + 7 + ] + } + ] + } + ] } \ No newline at end of file diff --git a/common/src/main/resources/assets/tardis_refined/models/block/corridor_teleporter.json b/common/src/main/resources/assets/tardis_refined/models/block/corridor_teleporter.json index 0ee56765e..6d6676ab0 100644 --- a/common/src/main/resources/assets/tardis_refined/models/block/corridor_teleporter.json +++ b/common/src/main/resources/assets/tardis_refined/models/block/corridor_teleporter.json @@ -1,71 +1,262 @@ { - "credit": "Made with Blockbench", - "texture_size": [64, 64], - "textures": { - "1": "tardis_refined:block/corridor_teleporter", - "particle": "tardis_refined:block/corridor_teleporter" - }, - "elements": [ - { - "from": [2, 0, 2], - "to": [14, 2, 14], - "faces": { - "north": {"uv": [3.25, 2.25, 6.25, 3.25], "texture": "#1"}, - "east": {"uv": [0, 6.5, 3, 7.5], "texture": "#1"}, - "south": {"uv": [3.25, 2.25, 6.25, 3.25], "texture": "#1"}, - "west": {"uv": [0, 6.5, 3, 7.5], "texture": "#1"}, - "up": {"uv": [3, 3, 0, 0], "texture": "#1"}, - "down": {"uv": [3, 3.25, 0, 6.25], "texture": "#1"} - } - }, - { - "from": [4, 1, 4], - "to": [12, 3, 12], - "faces": { - "north": {"uv": [5.5, 1.5, 7.5, 2], "texture": "#1"}, - "east": {"uv": [5.5, 1.5, 7.5, 2], "texture": "#1"}, - "south": {"uv": [5.5, 1.5, 7.5, 2], "texture": "#1"}, - "west": {"uv": [5.5, 1.5, 7.5, 2], "texture": "#1"}, - "up": {"uv": [5.25, 2, 3.25, 0], "texture": "#1"}, - "down": {"uv": [5.25, 0, 3.25, 2], "texture": "#1"} - } - } - ], - "display": { - "thirdperson_righthand": { - "rotation": [75, 45, 0], - "translation": [0, 2.5, 2.75], - "scale": [0.375, 0.375, 0.375] - }, - "thirdperson_lefthand": { - "rotation": [75, 45, 0], - "translation": [0, 2.5, 2.75], - "scale": [0.375, 0.375, 0.375] - }, - "firstperson_righthand": { - "rotation": [0, 45, 0], - "translation": [0, 3.75, 0], - "scale": [0.4, 0.4, 0.4] - }, - "firstperson_lefthand": { - "rotation": [0, 45, 0], - "translation": [0, 3.75, 0], - "scale": [0.4, 0.4, 0.4] - }, - "ground": { - "translation": [0, 3, 0], - "scale": [0.75, 0.75, 0.75] - }, - "gui": { - "rotation": [30, 225, 0], - "translation": [0, 3.25, 0], - "scale": [0.75, 0.75, 0.75] - }, - "head": { - "translation": [0, 14.25, 0] - }, - "fixed": { - "translation": [0, 1, 1.25] - } - } + "credit": "Made with Blockbench", + "texture_size": [ + 64, + 64 + ], + "textures": { + "1": "tardis_refined:block/corridor_teleporter", + "particle": "tardis_refined:block/corridor_teleporter" + }, + "elements": [ + { + "from": [ + 2, + 0, + 2 + ], + "to": [ + 14, + 2, + 14 + ], + "faces": { + "north": { + "uv": [ + 3.25, + 2.25, + 6.25, + 3.25 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 0, + 6.5, + 3, + 7.5 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 3.25, + 2.25, + 6.25, + 3.25 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 0, + 6.5, + 3, + 7.5 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 3, + 3, + 0, + 0 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 3, + 3.25, + 0, + 6.25 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 4, + 1, + 4 + ], + "to": [ + 12, + 3, + 12 + ], + "faces": { + "north": { + "uv": [ + 5.5, + 1.5, + 7.5, + 2 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 5.5, + 1.5, + 7.5, + 2 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 5.5, + 1.5, + 7.5, + 2 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 5.5, + 1.5, + 7.5, + 2 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 5.25, + 2, + 3.25, + 0 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 5.25, + 0, + 3.25, + 2 + ], + "texture": "#1" + } + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [ + 75, + 45, + 0 + ], + "translation": [ + 0, + 2.5, + 2.75 + ], + "scale": [ + 0.375, + 0.375, + 0.375 + ] + }, + "thirdperson_lefthand": { + "rotation": [ + 75, + 45, + 0 + ], + "translation": [ + 0, + 2.5, + 2.75 + ], + "scale": [ + 0.375, + 0.375, + 0.375 + ] + }, + "firstperson_righthand": { + "rotation": [ + 0, + 45, + 0 + ], + "translation": [ + 0, + 3.75, + 0 + ], + "scale": [ + 0.4, + 0.4, + 0.4 + ] + }, + "firstperson_lefthand": { + "rotation": [ + 0, + 45, + 0 + ], + "translation": [ + 0, + 3.75, + 0 + ], + "scale": [ + 0.4, + 0.4, + 0.4 + ] + }, + "ground": { + "translation": [ + 0, + 3, + 0 + ], + "scale": [ + 0.75, + 0.75, + 0.75 + ] + }, + "gui": { + "rotation": [ + 30, + 225, + 0 + ], + "translation": [ + 0, + 3.25, + 0 + ], + "scale": [ + 0.75, + 0.75, + 0.75 + ] + }, + "head": { + "translation": [ + 0, + 14.25, + 0 + ] + }, + "fixed": { + "translation": [ + 0, + 1, + 1.25 + ] + } + } } \ No newline at end of file diff --git a/common/src/main/resources/assets/tardis_refined/models/block/flight_detector.json b/common/src/main/resources/assets/tardis_refined/models/block/flight_detector.json index ca2808e72..e769dfcb6 100644 --- a/common/src/main/resources/assets/tardis_refined/models/block/flight_detector.json +++ b/common/src/main/resources/assets/tardis_refined/models/block/flight_detector.json @@ -1,97 +1,416 @@ { - "credit": "Made with Blockbench", - "texture_size": [64, 64], - "render_type" : "cutout", - "textures": { - "1": "tardis_refined:block/flight_detector", - "particle": "tardis_refined:block/flight_detector" - }, - "render_type" : "cutout", - "elements": [ - { - "from": [1, 0, 1], - "to": [15, 6, 15], - "faces": { - "north": {"uv": [7.75, 0, 11.25, 1.5], "texture": "#1"}, - "east": {"uv": [7.75, 1.75, 11.25, 3.25], "texture": "#1"}, - "south": {"uv": [7.75, 0, 11.25, 1.5], "texture": "#1"}, - "west": {"uv": [7.75, 1.75, 11.25, 3.25], "texture": "#1"}, - "up": {"uv": [7.5, 3.5, 4, 0], "texture": "#1"}, - "down": {"uv": [3.5, 4, 0, 7.5], "texture": "#1"} - } - }, - { - "from": [-1, 6, 14], - "to": [14, 21, 14], - "rotation": {"angle": 45, "axis": "z", "origin": [8, 15, 14]}, - "faces": { - "north": {"uv": [0, 0, 3.75, 3.75], "texture": "#1"}, - "east": {"uv": [5, 9.75, 5, 13.5], "texture": "#1"}, - "south": {"uv": [3.75, 0, 0, 3.75], "texture": "#1"}, - "west": {"uv": [5.25, 9.75, 5.25, 13.5], "texture": "#1"}, - "up": {"uv": [9.25, 9.75, 5.5, 9.75], "texture": "#1"}, - "down": {"uv": [13.25, 9.75, 9.5, 9.75], "texture": "#1"} - } - }, - { - "from": [2, 6, 9], - "to": [14, 14, 9], - "rotation": {"angle": 22.5, "axis": "x", "origin": [8, 6, 9]}, - "faces": { - "north": {"uv": [3.75, 6, 6.75, 8], "texture": "#1"}, - "east": {"uv": [4.5, 9.75, 4.5, 11.75], "texture": "#1"}, - "south": {"uv": [6.75, 6, 3.75, 8], "texture": "#1"}, - "west": {"uv": [4.75, 9.75, 4.75, 11.75], "texture": "#1"}, - "up": {"uv": [10.75, 7, 7.75, 7], "texture": "#1"}, - "down": {"uv": [10.75, 7.25, 7.75, 7.25], "texture": "#1"} - } - }, - { - "from": [4, 1, -1], - "to": [12, 3, 1], - "faces": { - "north": {"uv": [4, 3.75, 6, 4.25], "texture": "#1"}, - "east": {"uv": [6.25, 3.75, 6.75, 4.25], "texture": "#1"}, - "south": {"uv": [4, 3.75, 6, 4.25], "texture": "#1"}, - "west": {"uv": [6.25, 3.75, 6.75, 4.25], "texture": "#1"}, - "up": {"uv": [5.75, 5, 3.75, 4.5], "texture": "#1"}, - "down": {"uv": [5.75, 5.25, 3.75, 5.75], "texture": "#1"} - } - } - ], - "display": { - "thirdperson_righthand": { - "rotation": [75, 45, 0], - "translation": [0, 2.5, 0], - "scale": [0.375, 0.375, 0.375] - }, - "thirdperson_lefthand": { - "rotation": [75, 45, 0], - "translation": [0, 2.5, 0], - "scale": [0.375, 0.375, 0.375] - }, - "firstperson_righthand": { - "rotation": [0, 134, 0], - "translation": [3.25, 1.5, 0], - "scale": [0.4, 0.4, 0.4] - }, - "firstperson_lefthand": { - "rotation": [0, 127, 0], - "translation": [0.75, 3, 0.5], - "scale": [0.4, 0.4, 0.4] - }, - "ground": { - "translation": [0, 2, 0], - "scale": [0.5, 0.5, 0.5] - }, - "gui": { - "rotation": [30, 225, 0], - "translation": [0, -1, 0], - "scale": [0.525, 0.525, 0.525] - }, - "fixed": { - "translation": [0, 0, -2.25], - "scale": [0.5, 0.5, 0.5] - } - } + "credit": "Made with Blockbench", + "texture_size": [ + 64, + 64 + ], + "render_type": "cutout", + "textures": { + "1": "tardis_refined:block/flight_detector", + "particle": "tardis_refined:block/flight_detector" + }, + "render_type": "cutout", + "elements": [ + { + "from": [ + 1, + 0, + 1 + ], + "to": [ + 15, + 6, + 15 + ], + "faces": { + "north": { + "uv": [ + 7.75, + 0, + 11.25, + 1.5 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 7.75, + 1.75, + 11.25, + 3.25 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 7.75, + 0, + 11.25, + 1.5 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 7.75, + 1.75, + 11.25, + 3.25 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 7.5, + 3.5, + 4, + 0 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 3.5, + 4, + 0, + 7.5 + ], + "texture": "#1" + } + } + }, + { + "from": [ + -1, + 6, + 14 + ], + "to": [ + 14, + 21, + 14 + ], + "rotation": { + "angle": 45, + "axis": "z", + "origin": [ + 8, + 15, + 14 + ] + }, + "faces": { + "north": { + "uv": [ + 0, + 0, + 3.75, + 3.75 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 5, + 9.75, + 5, + 13.5 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 3.75, + 0, + 0, + 3.75 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 5.25, + 9.75, + 5.25, + 13.5 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 9.25, + 9.75, + 5.5, + 9.75 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 13.25, + 9.75, + 9.5, + 9.75 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 2, + 6, + 9 + ], + "to": [ + 14, + 14, + 9 + ], + "rotation": { + "angle": 22.5, + "axis": "x", + "origin": [ + 8, + 6, + 9 + ] + }, + "faces": { + "north": { + "uv": [ + 3.75, + 6, + 6.75, + 8 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 4.5, + 9.75, + 4.5, + 11.75 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 6.75, + 6, + 3.75, + 8 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 4.75, + 9.75, + 4.75, + 11.75 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 10.75, + 7, + 7.75, + 7 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 10.75, + 7.25, + 7.75, + 7.25 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 4, + 1, + -1 + ], + "to": [ + 12, + 3, + 1 + ], + "faces": { + "north": { + "uv": [ + 4, + 3.75, + 6, + 4.25 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 6.25, + 3.75, + 6.75, + 4.25 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 4, + 3.75, + 6, + 4.25 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 6.25, + 3.75, + 6.75, + 4.25 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 5.75, + 5, + 3.75, + 4.5 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 5.75, + 5.25, + 3.75, + 5.75 + ], + "texture": "#1" + } + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [ + 75, + 45, + 0 + ], + "translation": [ + 0, + 2.5, + 0 + ], + "scale": [ + 0.375, + 0.375, + 0.375 + ] + }, + "thirdperson_lefthand": { + "rotation": [ + 75, + 45, + 0 + ], + "translation": [ + 0, + 2.5, + 0 + ], + "scale": [ + 0.375, + 0.375, + 0.375 + ] + }, + "firstperson_righthand": { + "rotation": [ + 0, + 134, + 0 + ], + "translation": [ + 3.25, + 1.5, + 0 + ], + "scale": [ + 0.4, + 0.4, + 0.4 + ] + }, + "firstperson_lefthand": { + "rotation": [ + 0, + 127, + 0 + ], + "translation": [ + 0.75, + 3, + 0.5 + ], + "scale": [ + 0.4, + 0.4, + 0.4 + ] + }, + "ground": { + "translation": [ + 0, + 2, + 0 + ], + "scale": [ + 0.5, + 0.5, + 0.5 + ] + }, + "gui": { + "rotation": [ + 30, + 225, + 0 + ], + "translation": [ + 0, + -1, + 0 + ], + "scale": [ + 0.525, + 0.525, + 0.525 + ] + }, + "fixed": { + "translation": [ + 0, + 0, + -2.25 + ], + "scale": [ + 0.5, + 0.5, + 0.5 + ] + } + } } \ No newline at end of file diff --git a/common/src/main/resources/assets/tardis_refined/models/block/landing_pad.json b/common/src/main/resources/assets/tardis_refined/models/block/landing_pad.json index 88de1b5e2..7027164bc 100644 --- a/common/src/main/resources/assets/tardis_refined/models/block/landing_pad.json +++ b/common/src/main/resources/assets/tardis_refined/models/block/landing_pad.json @@ -1,244 +1,1263 @@ { - "credit": "Made with Blockbench", - "texture_size": [128, 128], - "textures": { - "0": "tardis_refined:block/landing_pad", - "particle": "tardis_refined:block/landing_pad" - }, - "render_type" : "cutout", - "elements": [ - { - "from": [-3, 16, -3], - "to": [19, 16.5, 19], - "rotation": {"angle": 0, "axis": "y", "origin": [0, 13.5, 0]}, - "faces": { - "north": {"uv": [0.125, 6.25, 2.875, 6.375], "texture": "#0"}, - "east": {"uv": [0.125, 6.25, 2.875, 6.375], "texture": "#0"}, - "south": {"uv": [0.125, 6.25, 2.875, 6.375], "texture": "#0"}, - "west": {"uv": [0.125, 6.25, 2.875, 6.375], "texture": "#0"}, - "up": {"uv": [2.875, 2.875, 0.125, 0.125], "texture": "#0"}, - "down": {"uv": [2.875, 3.25, 0.125, 6], "texture": "#0"} - } - }, - { - "from": [15, 15.75, 4], - "to": [19, 18.75, 12], - "rotation": {"angle": -22.5, "axis": "z", "origin": [16, 12.75, 8]}, - "faces": { - "north": {"uv": [5.625, 0.875, 6, 1.375], "rotation": 270, "texture": "#0"}, - "east": {"uv": [4.25, 5, 5, 4], "rotation": 90, "texture": "#0"}, - "south": {"uv": [6, 0.875, 5.625, 1.375], "rotation": 90, "texture": "#0"}, - "west": {"uv": [4.25, 4, 5, 5], "rotation": 90, "texture": "#0"}, - "up": {"uv": [4.25, 5.625, 5.25, 6.125], "rotation": 90, "texture": "#0"}, - "down": {"uv": [3.125, 5.625, 4.125, 6.125], "rotation": 90, "texture": "#0"} - } - }, - { - "from": [-3, 15.75, 4], - "to": [1, 18.75, 12], - "rotation": {"angle": 22.5, "axis": "z", "origin": [0, 12.75, 8]}, - "faces": { - "north": {"uv": [6, 1.375, 5.625, 0.875], "rotation": 90, "texture": "#0"}, - "east": {"uv": [4.25, 4, 5, 5], "rotation": 90, "texture": "#0"}, - "south": {"uv": [5.625, 0.875, 6, 1.375], "rotation": 270, "texture": "#0"}, - "west": {"uv": [4.25, 5, 5, 4], "rotation": 90, "texture": "#0"}, - "up": {"uv": [5.25, 6.125, 4.25, 5.625], "rotation": 90, "texture": "#0"}, - "down": {"uv": [4.125, 6.125, 3.125, 5.625], "rotation": 90, "texture": "#0"} - } - }, - { - "from": [0, 16, 0], - "to": [16, 16, 16], - "rotation": {"angle": 0, "axis": "y", "origin": [0, 10, 0]}, - "faces": { - "north": {"uv": [3.125, 5.125, 5.125, 5.125], "texture": "#0"}, - "east": {"uv": [3.125, 5.125, 5.125, 5.125], "texture": "#0"}, - "south": {"uv": [3.125, 5.125, 5.125, 5.125], "texture": "#0"}, - "west": {"uv": [3.125, 5.125, 5.125, 5.125], "texture": "#0"}, - "up": {"uv": [5.125, 2, 3.125, 0], "texture": "#0"}, - "down": {"uv": [5.125, 0, 3.125, 2], "texture": "#0"} - } - }, - { - "from": [0, 0, 0], - "to": [16, 16, 16], - "rotation": {"angle": 0, "axis": "y", "origin": [0, 4, 0]}, - "faces": { - "north": {"uv": [0, 6.75, 2, 8.75], "texture": "#0"}, - "east": {"uv": [0, 6.75, 2, 8.75], "texture": "#0"}, - "south": {"uv": [0, 6.75, 2, 8.75], "texture": "#0"}, - "west": {"uv": [0, 6.75, 2, 8.75], "texture": "#0"}, - "up": {"uv": [0, 8.875, 0, 8.875], "texture": "#0"}, - "down": {"uv": [4, 6.75, 2, 8.75], "texture": "#0"} - } - }, - { - "from": [1, 17, 1], - "to": [15, 17, 15], - "rotation": {"angle": 0, "axis": "y", "origin": [0, 11, 0]}, - "faces": { - "north": {"uv": [3.125, 5.125, 5.125, 5.5], "texture": "#0"}, - "east": {"uv": [3.125, 5.125, 5.125, 5.5], "texture": "#0"}, - "south": {"uv": [3.125, 5.125, 5.125, 5.5], "texture": "#0"}, - "west": {"uv": [3.125, 5.125, 5.125, 5.5], "texture": "#0"}, - "up": {"uv": [4.875, 3.875, 3.125, 2.125], "texture": "#0"}, - "down": {"uv": [4.875, 2.125, 3.125, 3.875], "texture": "#0"} - } - }, - { - "from": [4, 18, 4], - "to": [12, 18, 12], - "rotation": {"angle": 0, "axis": "y", "origin": [0, 12, 0]}, - "faces": { - "north": {"uv": [3.125, 5.125, 5.125, 5.5], "texture": "#0"}, - "east": {"uv": [3.125, 5.125, 5.125, 5.5], "texture": "#0"}, - "south": {"uv": [3.125, 5.125, 5.125, 5.5], "texture": "#0"}, - "west": {"uv": [3.125, 5.125, 5.125, 5.5], "texture": "#0"}, - "up": {"uv": [4.125, 5, 3.125, 4], "texture": "#0"}, - "down": {"uv": [4.125, 4, 3.125, 5], "texture": "#0"} - } - }, - { - "from": [4, 15.75, 15], - "to": [12, 18.75, 19], - "rotation": {"angle": 22.5, "axis": "x", "origin": [8, 12.75, 16]}, - "faces": { - "north": {"uv": [6.25, 0.375, 5.25, 0], "rotation": 180, "texture": "#0"}, - "east": {"uv": [5.625, 0.875, 6, 1.375], "rotation": 270, "texture": "#0"}, - "south": {"uv": [6.25, 0, 5.25, 0.375], "texture": "#0"}, - "west": {"uv": [6, 0.875, 5.625, 1.375], "rotation": 90, "texture": "#0"}, - "up": {"uv": [4.25, 5.625, 5.25, 6.125], "rotation": 180, "texture": "#0"}, - "down": {"uv": [3.125, 5.625, 4.125, 6.125], "texture": "#0"} - } - }, - { - "from": [4, 15.75, -3], - "to": [12, 18.75, 1], - "rotation": {"angle": -22.5, "axis": "x", "origin": [8, 12.75, 0]}, - "faces": { - "north": {"uv": [5.25, 0, 6.25, 0.75], "texture": "#0"}, - "east": {"uv": [5.25, 1.375, 6, 0.875], "rotation": 270, "texture": "#0"}, - "south": {"uv": [5.25, 0.75, 6.25, 0], "rotation": 180, "texture": "#0"}, - "west": {"uv": [6, 1.375, 5.25, 0.875], "rotation": 90, "texture": "#0"}, - "up": {"uv": [4.25, 6.125, 5.25, 5.625], "rotation": 180, "texture": "#0"}, - "down": {"uv": [3.125, 6.125, 4.125, 5.625], "texture": "#0"} - } - }, - { - "from": [-3, 16.75, -3], - "to": [19, 16.75, 19], - "rotation": {"angle": 0, "axis": "y", "origin": [0, 13.75, 0]}, - "faces": { - "north": {"uv": [0, 6.25, 2.75, 6.25], "texture": "#0"}, - "east": {"uv": [0, 6.25, 2.75, 6.25], "texture": "#0"}, - "south": {"uv": [0, 6.25, 2.75, 6.25], "texture": "#0"}, - "west": {"uv": [0, 6.25, 2.75, 6.25], "texture": "#0"}, - "up": {"uv": [2.875, 11.625, 0.125, 8.875], "texture": "#0"}, - "down": {"uv": [2.875, 8.875, 0.125, 11.625], "texture": "#0"} - } - }, - { - "from": [3, 15.75, -10], - "to": [13, 31.75, -2], - "rotation": {"angle": 0, "axis": "y", "origin": [7, 16, -7]}, - "faces": { - "north": {"uv": [5.125, 2.625, 6.375, 4.625], "texture": "#0"}, - "east": {"uv": [5.375, 4.75, 6.375, 6.75], "texture": "#0"}, - "south": {"uv": [5.125, 2.625, 6.375, 4.625], "texture": "#0"}, - "west": {"uv": [5.375, 4.75, 6.375, 6.75], "texture": "#0"}, - "up": {"uv": [4.125, 6.75, 5.375, 7.75], "texture": "#0"}, - "down": {"uv": [5.375, 6.875, 6.625, 7.875], "texture": "#0"} - } - }, - { - "from": [2.5, 31.95, -10.5], - "to": [12.5, 31.95, -2.5], - "rotation": {"angle": 0, "axis": "y", "origin": [6.5, 16.5, -7.5]}, - "faces": { - "north": {"uv": [4.875, 11.25, 6.125, 11.25], "texture": "#0"}, - "east": {"uv": [3.75, 11.25, 4.75, 11.25], "texture": "#0"}, - "south": {"uv": [4.875, 11.25, 6.125, 11.25], "texture": "#0"}, - "west": {"uv": [3.75, 11.25, 4.75, 11.25], "texture": "#0"}, - "up": {"uv": [5.25, 1.5, 6.5, 2.5], "texture": "#0"}, - "down": {"uv": [5.25, 1.5, 6.5, 2.5], "texture": "#0"} - } - }, - { - "from": [13.5, 31.25, -7.5], - "to": [17.5, 31.25, -3.5], - "rotation": {"angle": 0, "axis": "y", "origin": [15.5, 15.5, -7.5]}, - "faces": { - "north": {"uv": [6.25, 11.375, 6.75, 11.375], "texture": "#0"}, - "east": {"uv": [6.25, 11.375, 6.75, 11.375], "texture": "#0"}, - "south": {"uv": [6.25, 11.375, 6.75, 11.375], "texture": "#0"}, - "west": {"uv": [6.25, 11.375, 6.75, 11.375], "texture": "#0"}, - "up": {"uv": [4.125, 8.5, 4.625, 9], "texture": "#0"}, - "down": {"uv": [4.125, 8.5, 4.625, 9], "texture": "#0"} - } - }, - { - "from": [13, 26.75, -8], - "to": [18, 30.75, -3], - "rotation": {"angle": 0, "axis": "y", "origin": [16, 15, -7]}, - "faces": { - "north": {"uv": [4.125, 7.875, 4.75, 8.375], "texture": "#0"}, - "east": {"uv": [4.125, 7.875, 4.75, 8.375], "texture": "#0"}, - "south": {"uv": [4.125, 7.875, 4.75, 8.375], "texture": "#0"}, - "west": {"uv": [4.125, 7.875, 4.75, 8.375], "texture": "#0"}, - "up": {"uv": [4.875, 8, 5.5, 8.625], "texture": "#0"}, - "down": {"uv": [5.625, 8, 6.25, 8.625], "texture": "#0"} - } - } - ], - "display": { - "thirdperson_righthand": { - "rotation": [75, 45, 0], - "translation": [0, 2.5, 0], - "scale": [0.375, 0.375, 0.375] - }, - "thirdperson_lefthand": { - "rotation": [75, 45, 0], - "translation": [0, 2.5, 0], - "scale": [0.375, 0.375, 0.375] - }, - "firstperson_righthand": { - "rotation": [0, 45, 0], - "scale": [0.4, 0.4, 0.4] - }, - "firstperson_lefthand": { - "rotation": [0, 225, 0], - "scale": [0.4, 0.4, 0.4] - }, - "ground": { - "translation": [0, 3, 0], - "scale": [0.25, 0.25, 0.25] - }, - "gui": { - "rotation": [30, 40, 0], - "translation": [0, -3, 0], - "scale": [0.375, 0.375, 0.375] - }, - "head": { - "rotation": [0, 180, 0] - }, - "fixed": { - "rotation": [0, 90, 0], - "translation": [0, -4.5, 0], - "scale": [0.5, 0.5, 0.5] - } - }, - "groups": [ - { - "name": "group", - "origin": [-4, 0, 8], - "color": 0, - "children": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] - }, - { - "name": "group", - "origin": [16, -1, -7], - "color": 0, - "children": [10, 11, 12, 13] - } - ] + "credit": "Made with Blockbench", + "texture_size": [ + 128, + 128 + ], + "textures": { + "0": "tardis_refined:block/landing_pad", + "particle": "tardis_refined:block/landing_pad" + }, + "render_type": "cutout", + "elements": [ + { + "from": [ + -3, + 16, + -3 + ], + "to": [ + 19, + 16.5, + 19 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 0, + 13.5, + 0 + ] + }, + "faces": { + "north": { + "uv": [ + 0.125, + 6.25, + 2.875, + 6.375 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 0.125, + 6.25, + 2.875, + 6.375 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 0.125, + 6.25, + 2.875, + 6.375 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 0.125, + 6.25, + 2.875, + 6.375 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 2.875, + 2.875, + 0.125, + 0.125 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 2.875, + 3.25, + 0.125, + 6 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 15, + 15.75, + 4 + ], + "to": [ + 19, + 18.75, + 12 + ], + "rotation": { + "angle": -22.5, + "axis": "z", + "origin": [ + 16, + 12.75, + 8 + ] + }, + "faces": { + "north": { + "uv": [ + 5.625, + 0.875, + 6, + 1.375 + ], + "rotation": 270, + "texture": "#0" + }, + "east": { + "uv": [ + 4.25, + 5, + 5, + 4 + ], + "rotation": 90, + "texture": "#0" + }, + "south": { + "uv": [ + 6, + 0.875, + 5.625, + 1.375 + ], + "rotation": 90, + "texture": "#0" + }, + "west": { + "uv": [ + 4.25, + 4, + 5, + 5 + ], + "rotation": 90, + "texture": "#0" + }, + "up": { + "uv": [ + 4.25, + 5.625, + 5.25, + 6.125 + ], + "rotation": 90, + "texture": "#0" + }, + "down": { + "uv": [ + 3.125, + 5.625, + 4.125, + 6.125 + ], + "rotation": 90, + "texture": "#0" + } + } + }, + { + "from": [ + -3, + 15.75, + 4 + ], + "to": [ + 1, + 18.75, + 12 + ], + "rotation": { + "angle": 22.5, + "axis": "z", + "origin": [ + 0, + 12.75, + 8 + ] + }, + "faces": { + "north": { + "uv": [ + 6, + 1.375, + 5.625, + 0.875 + ], + "rotation": 90, + "texture": "#0" + }, + "east": { + "uv": [ + 4.25, + 4, + 5, + 5 + ], + "rotation": 90, + "texture": "#0" + }, + "south": { + "uv": [ + 5.625, + 0.875, + 6, + 1.375 + ], + "rotation": 270, + "texture": "#0" + }, + "west": { + "uv": [ + 4.25, + 5, + 5, + 4 + ], + "rotation": 90, + "texture": "#0" + }, + "up": { + "uv": [ + 5.25, + 6.125, + 4.25, + 5.625 + ], + "rotation": 90, + "texture": "#0" + }, + "down": { + "uv": [ + 4.125, + 6.125, + 3.125, + 5.625 + ], + "rotation": 90, + "texture": "#0" + } + } + }, + { + "from": [ + 0, + 16, + 0 + ], + "to": [ + 16, + 16, + 16 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 0, + 10, + 0 + ] + }, + "faces": { + "north": { + "uv": [ + 3.125, + 5.125, + 5.125, + 5.125 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 3.125, + 5.125, + 5.125, + 5.125 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 3.125, + 5.125, + 5.125, + 5.125 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 3.125, + 5.125, + 5.125, + 5.125 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 5.125, + 2, + 3.125, + 0 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 5.125, + 0, + 3.125, + 2 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 0, + 0, + 0 + ], + "to": [ + 16, + 16, + 16 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 0, + 4, + 0 + ] + }, + "faces": { + "north": { + "uv": [ + 0, + 6.75, + 2, + 8.75 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 0, + 6.75, + 2, + 8.75 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 0, + 6.75, + 2, + 8.75 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 0, + 6.75, + 2, + 8.75 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 0, + 8.875, + 0, + 8.875 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 4, + 6.75, + 2, + 8.75 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 1, + 17, + 1 + ], + "to": [ + 15, + 17, + 15 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 0, + 11, + 0 + ] + }, + "faces": { + "north": { + "uv": [ + 3.125, + 5.125, + 5.125, + 5.5 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 3.125, + 5.125, + 5.125, + 5.5 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 3.125, + 5.125, + 5.125, + 5.5 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 3.125, + 5.125, + 5.125, + 5.5 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 4.875, + 3.875, + 3.125, + 2.125 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 4.875, + 2.125, + 3.125, + 3.875 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 4, + 18, + 4 + ], + "to": [ + 12, + 18, + 12 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 0, + 12, + 0 + ] + }, + "faces": { + "north": { + "uv": [ + 3.125, + 5.125, + 5.125, + 5.5 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 3.125, + 5.125, + 5.125, + 5.5 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 3.125, + 5.125, + 5.125, + 5.5 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 3.125, + 5.125, + 5.125, + 5.5 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 4.125, + 5, + 3.125, + 4 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 4.125, + 4, + 3.125, + 5 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 4, + 15.75, + 15 + ], + "to": [ + 12, + 18.75, + 19 + ], + "rotation": { + "angle": 22.5, + "axis": "x", + "origin": [ + 8, + 12.75, + 16 + ] + }, + "faces": { + "north": { + "uv": [ + 6.25, + 0.375, + 5.25, + 0 + ], + "rotation": 180, + "texture": "#0" + }, + "east": { + "uv": [ + 5.625, + 0.875, + 6, + 1.375 + ], + "rotation": 270, + "texture": "#0" + }, + "south": { + "uv": [ + 6.25, + 0, + 5.25, + 0.375 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 6, + 0.875, + 5.625, + 1.375 + ], + "rotation": 90, + "texture": "#0" + }, + "up": { + "uv": [ + 4.25, + 5.625, + 5.25, + 6.125 + ], + "rotation": 180, + "texture": "#0" + }, + "down": { + "uv": [ + 3.125, + 5.625, + 4.125, + 6.125 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 4, + 15.75, + -3 + ], + "to": [ + 12, + 18.75, + 1 + ], + "rotation": { + "angle": -22.5, + "axis": "x", + "origin": [ + 8, + 12.75, + 0 + ] + }, + "faces": { + "north": { + "uv": [ + 5.25, + 0, + 6.25, + 0.75 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 5.25, + 1.375, + 6, + 0.875 + ], + "rotation": 270, + "texture": "#0" + }, + "south": { + "uv": [ + 5.25, + 0.75, + 6.25, + 0 + ], + "rotation": 180, + "texture": "#0" + }, + "west": { + "uv": [ + 6, + 1.375, + 5.25, + 0.875 + ], + "rotation": 90, + "texture": "#0" + }, + "up": { + "uv": [ + 4.25, + 6.125, + 5.25, + 5.625 + ], + "rotation": 180, + "texture": "#0" + }, + "down": { + "uv": [ + 3.125, + 6.125, + 4.125, + 5.625 + ], + "texture": "#0" + } + } + }, + { + "from": [ + -3, + 16.75, + -3 + ], + "to": [ + 19, + 16.75, + 19 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 0, + 13.75, + 0 + ] + }, + "faces": { + "north": { + "uv": [ + 0, + 6.25, + 2.75, + 6.25 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 0, + 6.25, + 2.75, + 6.25 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 0, + 6.25, + 2.75, + 6.25 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 0, + 6.25, + 2.75, + 6.25 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 2.875, + 11.625, + 0.125, + 8.875 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 2.875, + 8.875, + 0.125, + 11.625 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 3, + 15.75, + -10 + ], + "to": [ + 13, + 31.75, + -2 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 7, + 16, + -7 + ] + }, + "faces": { + "north": { + "uv": [ + 5.125, + 2.625, + 6.375, + 4.625 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 5.375, + 4.75, + 6.375, + 6.75 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 5.125, + 2.625, + 6.375, + 4.625 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 5.375, + 4.75, + 6.375, + 6.75 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 4.125, + 6.75, + 5.375, + 7.75 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 5.375, + 6.875, + 6.625, + 7.875 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 2.5, + 31.95, + -10.5 + ], + "to": [ + 12.5, + 31.95, + -2.5 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 6.5, + 16.5, + -7.5 + ] + }, + "faces": { + "north": { + "uv": [ + 4.875, + 11.25, + 6.125, + 11.25 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 3.75, + 11.25, + 4.75, + 11.25 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 4.875, + 11.25, + 6.125, + 11.25 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 3.75, + 11.25, + 4.75, + 11.25 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 5.25, + 1.5, + 6.5, + 2.5 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 5.25, + 1.5, + 6.5, + 2.5 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 13.5, + 31.25, + -7.5 + ], + "to": [ + 17.5, + 31.25, + -3.5 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 15.5, + 15.5, + -7.5 + ] + }, + "faces": { + "north": { + "uv": [ + 6.25, + 11.375, + 6.75, + 11.375 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 6.25, + 11.375, + 6.75, + 11.375 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 6.25, + 11.375, + 6.75, + 11.375 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 6.25, + 11.375, + 6.75, + 11.375 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 4.125, + 8.5, + 4.625, + 9 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 4.125, + 8.5, + 4.625, + 9 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 13, + 26.75, + -8 + ], + "to": [ + 18, + 30.75, + -3 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 16, + 15, + -7 + ] + }, + "faces": { + "north": { + "uv": [ + 4.125, + 7.875, + 4.75, + 8.375 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 4.125, + 7.875, + 4.75, + 8.375 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 4.125, + 7.875, + 4.75, + 8.375 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 4.125, + 7.875, + 4.75, + 8.375 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 4.875, + 8, + 5.5, + 8.625 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 5.625, + 8, + 6.25, + 8.625 + ], + "texture": "#0" + } + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [ + 75, + 45, + 0 + ], + "translation": [ + 0, + 2.5, + 0 + ], + "scale": [ + 0.375, + 0.375, + 0.375 + ] + }, + "thirdperson_lefthand": { + "rotation": [ + 75, + 45, + 0 + ], + "translation": [ + 0, + 2.5, + 0 + ], + "scale": [ + 0.375, + 0.375, + 0.375 + ] + }, + "firstperson_righthand": { + "rotation": [ + 0, + 45, + 0 + ], + "scale": [ + 0.4, + 0.4, + 0.4 + ] + }, + "firstperson_lefthand": { + "rotation": [ + 0, + 225, + 0 + ], + "scale": [ + 0.4, + 0.4, + 0.4 + ] + }, + "ground": { + "translation": [ + 0, + 3, + 0 + ], + "scale": [ + 0.25, + 0.25, + 0.25 + ] + }, + "gui": { + "rotation": [ + 30, + 40, + 0 + ], + "translation": [ + 0, + -3, + 0 + ], + "scale": [ + 0.375, + 0.375, + 0.375 + ] + }, + "head": { + "rotation": [ + 0, + 180, + 0 + ] + }, + "fixed": { + "rotation": [ + 0, + 90, + 0 + ], + "translation": [ + 0, + -4.5, + 0 + ], + "scale": [ + 0.5, + 0.5, + 0.5 + ] + } + }, + "groups": [ + { + "name": "group", + "origin": [ + -4, + 0, + 8 + ], + "color": 0, + "children": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9 + ] + }, + { + "name": "group", + "origin": [ + 16, + -1, + -7 + ], + "color": 0, + "children": [ + 10, + 11, + 12, + 13 + ] + } + ] } \ No newline at end of file diff --git a/common/src/main/resources/assets/tardis_refined/models/block/teleporter.json b/common/src/main/resources/assets/tardis_refined/models/block/teleporter.json index 0ee56765e..6d6676ab0 100644 --- a/common/src/main/resources/assets/tardis_refined/models/block/teleporter.json +++ b/common/src/main/resources/assets/tardis_refined/models/block/teleporter.json @@ -1,71 +1,262 @@ { - "credit": "Made with Blockbench", - "texture_size": [64, 64], - "textures": { - "1": "tardis_refined:block/corridor_teleporter", - "particle": "tardis_refined:block/corridor_teleporter" - }, - "elements": [ - { - "from": [2, 0, 2], - "to": [14, 2, 14], - "faces": { - "north": {"uv": [3.25, 2.25, 6.25, 3.25], "texture": "#1"}, - "east": {"uv": [0, 6.5, 3, 7.5], "texture": "#1"}, - "south": {"uv": [3.25, 2.25, 6.25, 3.25], "texture": "#1"}, - "west": {"uv": [0, 6.5, 3, 7.5], "texture": "#1"}, - "up": {"uv": [3, 3, 0, 0], "texture": "#1"}, - "down": {"uv": [3, 3.25, 0, 6.25], "texture": "#1"} - } - }, - { - "from": [4, 1, 4], - "to": [12, 3, 12], - "faces": { - "north": {"uv": [5.5, 1.5, 7.5, 2], "texture": "#1"}, - "east": {"uv": [5.5, 1.5, 7.5, 2], "texture": "#1"}, - "south": {"uv": [5.5, 1.5, 7.5, 2], "texture": "#1"}, - "west": {"uv": [5.5, 1.5, 7.5, 2], "texture": "#1"}, - "up": {"uv": [5.25, 2, 3.25, 0], "texture": "#1"}, - "down": {"uv": [5.25, 0, 3.25, 2], "texture": "#1"} - } - } - ], - "display": { - "thirdperson_righthand": { - "rotation": [75, 45, 0], - "translation": [0, 2.5, 2.75], - "scale": [0.375, 0.375, 0.375] - }, - "thirdperson_lefthand": { - "rotation": [75, 45, 0], - "translation": [0, 2.5, 2.75], - "scale": [0.375, 0.375, 0.375] - }, - "firstperson_righthand": { - "rotation": [0, 45, 0], - "translation": [0, 3.75, 0], - "scale": [0.4, 0.4, 0.4] - }, - "firstperson_lefthand": { - "rotation": [0, 45, 0], - "translation": [0, 3.75, 0], - "scale": [0.4, 0.4, 0.4] - }, - "ground": { - "translation": [0, 3, 0], - "scale": [0.75, 0.75, 0.75] - }, - "gui": { - "rotation": [30, 225, 0], - "translation": [0, 3.25, 0], - "scale": [0.75, 0.75, 0.75] - }, - "head": { - "translation": [0, 14.25, 0] - }, - "fixed": { - "translation": [0, 1, 1.25] - } - } + "credit": "Made with Blockbench", + "texture_size": [ + 64, + 64 + ], + "textures": { + "1": "tardis_refined:block/corridor_teleporter", + "particle": "tardis_refined:block/corridor_teleporter" + }, + "elements": [ + { + "from": [ + 2, + 0, + 2 + ], + "to": [ + 14, + 2, + 14 + ], + "faces": { + "north": { + "uv": [ + 3.25, + 2.25, + 6.25, + 3.25 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 0, + 6.5, + 3, + 7.5 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 3.25, + 2.25, + 6.25, + 3.25 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 0, + 6.5, + 3, + 7.5 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 3, + 3, + 0, + 0 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 3, + 3.25, + 0, + 6.25 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 4, + 1, + 4 + ], + "to": [ + 12, + 3, + 12 + ], + "faces": { + "north": { + "uv": [ + 5.5, + 1.5, + 7.5, + 2 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 5.5, + 1.5, + 7.5, + 2 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 5.5, + 1.5, + 7.5, + 2 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 5.5, + 1.5, + 7.5, + 2 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 5.25, + 2, + 3.25, + 0 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 5.25, + 0, + 3.25, + 2 + ], + "texture": "#1" + } + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [ + 75, + 45, + 0 + ], + "translation": [ + 0, + 2.5, + 2.75 + ], + "scale": [ + 0.375, + 0.375, + 0.375 + ] + }, + "thirdperson_lefthand": { + "rotation": [ + 75, + 45, + 0 + ], + "translation": [ + 0, + 2.5, + 2.75 + ], + "scale": [ + 0.375, + 0.375, + 0.375 + ] + }, + "firstperson_righthand": { + "rotation": [ + 0, + 45, + 0 + ], + "translation": [ + 0, + 3.75, + 0 + ], + "scale": [ + 0.4, + 0.4, + 0.4 + ] + }, + "firstperson_lefthand": { + "rotation": [ + 0, + 45, + 0 + ], + "translation": [ + 0, + 3.75, + 0 + ], + "scale": [ + 0.4, + 0.4, + 0.4 + ] + }, + "ground": { + "translation": [ + 0, + 3, + 0 + ], + "scale": [ + 0.75, + 0.75, + 0.75 + ] + }, + "gui": { + "rotation": [ + 30, + 225, + 0 + ], + "translation": [ + 0, + 3.25, + 0 + ], + "scale": [ + 0.75, + 0.75, + 0.75 + ] + }, + "head": { + "translation": [ + 0, + 14.25, + 0 + ] + }, + "fixed": { + "translation": [ + 0, + 1, + 1.25 + ] + } + } } \ No newline at end of file diff --git a/common/src/main/resources/assets/tardis_refined/models/block/terraformer.json b/common/src/main/resources/assets/tardis_refined/models/block/terraformer.json index b2b68ffd1..f1d0b4a60 100644 --- a/common/src/main/resources/assets/tardis_refined/models/block/terraformer.json +++ b/common/src/main/resources/assets/tardis_refined/models/block/terraformer.json @@ -1,511 +1,2210 @@ { - "credit": "Made with Blockbench", - "texture_size": [128, 128], - "render_type" : "cutout", - "textures": { - "main_texture": "tardis_refined:block/transformer_off", - "particle": "block/lapis_block" - }, - "elements": [ - { - "from": [0.5, 5, 13.5], - "to": [2.5, 10, 15.5], - "rotation": {"angle": 0, "axis": "y", "origin": [0, 0, 16]}, - "faces": { - "north": {"uv": [8.25, 0.75, 8.5, 1.375], "texture": "#main_texture"}, - "east": {"uv": [8.25, 1.5, 8.5, 2.125], "texture": "#main_texture"}, - "south": {"uv": [8.25, 2.25, 8.5, 2.875], "texture": "#main_texture"}, - "west": {"uv": [8.25, 3, 8.5, 3.625], "texture": "#main_texture"}, - "up": {"uv": [2.25, 8.625, 2, 8.375], "texture": "#main_texture"}, - "down": {"uv": [2.625, 8.375, 2.375, 8.625], "texture": "#main_texture"} - } - }, - { - "from": [1.5, 10, 13.5], - "to": [1.5, 18, 15.5], - "rotation": {"angle": -45, "axis": "y", "origin": [1.5, 14, 14.5]}, - "faces": { - "east": {"uv": [2, 7.25, 2.25, 8.25], "texture": "#main_texture"}, - "west": {"uv": [7.5, 2, 7.75, 3], "texture": "#main_texture"} - } - }, - { - "from": [0, 0, 13], - "to": [3, 5, 16], - "rotation": {"angle": 0, "axis": "y", "origin": [0, 0, 16]}, - "faces": { - "north": {"uv": [5.875, 7.625, 6.25, 8.25], "texture": "#main_texture"}, - "east": {"uv": [7.625, 7.125, 8, 7.75], "texture": "#main_texture"}, - "south": {"uv": [6.375, 7.75, 6.75, 8.375], "texture": "#main_texture"}, - "west": {"uv": [0, 7.875, 0.375, 8.5], "texture": "#main_texture"}, - "up": {"uv": [5.25, 8.625, 4.875, 8.25], "texture": "#main_texture"}, - "down": {"uv": [8.625, 5.25, 8.25, 5.625], "texture": "#main_texture"} - } - }, - { - "from": [0.5, 5, 0.5], - "to": [2.5, 10, 2.5], - "faces": { - "north": {"uv": [7.875, 0.75, 8.125, 1.375], "texture": "#main_texture"}, - "east": {"uv": [1.25, 7.875, 1.5, 8.5], "texture": "#main_texture"}, - "south": {"uv": [7.875, 1.5, 8.125, 2.125], "texture": "#main_texture"}, - "west": {"uv": [1.625, 7.875, 1.875, 8.5], "texture": "#main_texture"}, - "up": {"uv": [5.125, 3.75, 4.875, 3.5], "texture": "#main_texture"}, - "down": {"uv": [6.5, 4.5, 6.25, 4.75], "texture": "#main_texture"} - } - }, - { - "from": [1.5, 10, 0.5], - "to": [1.5, 18, 2.5], - "rotation": {"angle": 45, "axis": "y", "origin": [1.5, 14, 1.5]}, - "faces": { - "east": {"uv": [5.75, 6.5, 6, 7.5], "texture": "#main_texture"}, - "west": {"uv": [6.125, 6.5, 6.375, 7.5], "texture": "#main_texture"} - } - }, - { - "from": [0, 0, 0], - "to": [3, 5, 3], - "faces": { - "north": {"uv": [7.375, 0.625, 7.75, 1.25], "texture": "#main_texture"}, - "east": {"uv": [7.375, 3.125, 7.75, 3.75], "texture": "#main_texture"}, - "south": {"uv": [3.875, 7.5, 4.25, 8.125], "texture": "#main_texture"}, - "west": {"uv": [4.375, 7.5, 4.75, 8.125], "texture": "#main_texture"}, - "up": {"uv": [2, 4.625, 1.625, 4.25], "texture": "#main_texture"}, - "down": {"uv": [8.5, 7.25, 8.125, 7.625], "texture": "#main_texture"} - } - }, - { - "from": [13.5, 5, 0.5], - "to": [15.5, 10, 2.5], - "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, - "faces": { - "north": {"uv": [7.875, 2.25, 8.125, 2.875], "texture": "#main_texture"}, - "east": {"uv": [7.875, 3, 8.125, 3.625], "texture": "#main_texture"}, - "south": {"uv": [7.875, 4.25, 8.125, 4.875], "texture": "#main_texture"}, - "west": {"uv": [7.875, 5, 8.125, 5.625], "texture": "#main_texture"}, - "up": {"uv": [7.125, 8.5, 6.875, 8.25], "texture": "#main_texture"}, - "down": {"uv": [7.5, 8.25, 7.25, 8.5], "texture": "#main_texture"} - } - }, - { - "from": [14.5, 10, 0.5], - "to": [14.5, 18, 2.5], - "rotation": {"angle": -45, "axis": "y", "origin": [14.5, 14, 1.5]}, - "faces": { - "east": {"uv": [0, 6.75, 0.25, 7.75], "texture": "#main_texture"}, - "west": {"uv": [0.375, 6.75, 0.625, 7.75], "texture": "#main_texture"} - } - }, - { - "from": [13, 0, 0], - "to": [16, 5, 3], - "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, - "faces": { - "north": {"uv": [4.875, 7.5, 5.25, 8.125], "texture": "#main_texture"}, - "east": {"uv": [7.5, 6.375, 7.875, 7], "texture": "#main_texture"}, - "south": {"uv": [7.125, 7.5, 7.5, 8.125], "texture": "#main_texture"}, - "west": {"uv": [0.75, 7.625, 1.125, 8.25], "texture": "#main_texture"}, - "up": {"uv": [4.25, 8.625, 3.875, 8.25], "texture": "#main_texture"}, - "down": {"uv": [8.625, 4.25, 8.25, 4.625], "texture": "#main_texture"} - } - }, - { - "from": [13.5, 5, 13.5], - "to": [15.5, 10, 15.5], - "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 16]}, - "faces": { - "north": {"uv": [7.625, 7.875, 7.875, 8.5], "texture": "#main_texture"}, - "east": {"uv": [8, 5.75, 8.25, 6.375], "texture": "#main_texture"}, - "south": {"uv": [8, 7.875, 8.25, 8.5], "texture": "#main_texture"}, - "west": {"uv": [8.125, 6.5, 8.375, 7.125], "texture": "#main_texture"}, - "up": {"uv": [0.75, 8.625, 0.5, 8.375], "texture": "#main_texture"}, - "down": {"uv": [1.125, 8.375, 0.875, 8.625], "texture": "#main_texture"} - } - }, - { - "from": [14.5, 10, 13.5], - "to": [14.5, 18, 15.5], - "rotation": {"angle": 45, "axis": "y", "origin": [14.5, 14, 14.5]}, - "faces": { - "east": {"uv": [7.125, 2, 7.375, 3], "texture": "#main_texture"}, - "west": {"uv": [7.125, 6.375, 7.375, 7.375], "texture": "#main_texture"} - } - }, - { - "from": [13, 0, 13], - "to": [16, 5, 16], - "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 16]}, - "faces": { - "north": {"uv": [2.375, 7.625, 2.75, 8.25], "texture": "#main_texture"}, - "east": {"uv": [2.875, 7.625, 3.25, 8.25], "texture": "#main_texture"}, - "south": {"uv": [3.375, 7.625, 3.75, 8.25], "texture": "#main_texture"}, - "west": {"uv": [5.375, 7.625, 5.75, 8.25], "texture": "#main_texture"}, - "up": {"uv": [4.75, 8.625, 4.375, 8.25], "texture": "#main_texture"}, - "down": {"uv": [8.625, 4.75, 8.25, 5.125], "texture": "#main_texture"} - } - }, - { - "from": [12.5, 17.5, 12.5], - "to": [16.5, 21.5, 16.5], - "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 16]}, - "faces": { - "north": {"uv": [3.875, 6.875, 4.375, 7.375], "texture": "#main_texture"}, - "east": {"uv": [6.875, 3.875, 7.375, 4.375], "texture": "#main_texture"}, - "south": {"uv": [4.5, 6.875, 5, 7.375], "texture": "#main_texture"}, - "west": {"uv": [5.125, 6.875, 5.625, 7.375], "texture": "#main_texture"}, - "up": {"uv": [1.25, 7.5, 0.75, 7], "texture": "#main_texture"}, - "down": {"uv": [7.625, 0, 7.125, 0.5], "texture": "#main_texture"} - } - }, - { - "from": [0, 19, 0], - "to": [16, 19, 16], - "faces": { - "up": {"uv": [2, 2, 0, 0], "texture": "#main_texture"}, - "down": {"uv": [2, 2.125, 0, 4.125], "texture": "#main_texture"} - } - }, - { - "from": [12.5, 17.5, -0.5], - "to": [16.5, 21.5, 3.5], - "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, - "faces": { - "north": {"uv": [6.5, 6.5, 7, 7], "texture": "#main_texture"}, - "east": {"uv": [6.625, 1.375, 7.125, 1.875], "texture": "#main_texture"}, - "south": {"uv": [1.5, 6.625, 2, 7.125], "texture": "#main_texture"}, - "west": {"uv": [6.625, 4.5, 7.125, 5], "texture": "#main_texture"}, - "up": {"uv": [7.125, 5.625, 6.625, 5.125], "texture": "#main_texture"}, - "down": {"uv": [7.125, 5.75, 6.625, 6.25], "texture": "#main_texture"} - } - }, - { - "from": [-0.5, 17.5, -0.5], - "to": [3.5, 21.5, 3.5], - "faces": { - "north": {"uv": [3.875, 6.25, 4.375, 6.75], "texture": "#main_texture"}, - "east": {"uv": [6.25, 3.875, 6.75, 4.375], "texture": "#main_texture"}, - "south": {"uv": [4.5, 6.25, 5, 6.75], "texture": "#main_texture"}, - "west": {"uv": [5.125, 6.25, 5.625, 6.75], "texture": "#main_texture"}, - "up": {"uv": [1.375, 6.875, 0.875, 6.375], "texture": "#main_texture"}, - "down": {"uv": [7, 2.5, 6.5, 3], "texture": "#main_texture"} - } - }, - { - "from": [-0.5, 17.5, 12.5], - "to": [3.5, 21.5, 16.5], - "rotation": {"angle": 0, "axis": "y", "origin": [0, 0, 16]}, - "faces": { - "north": {"uv": [6.5, 7.125, 7, 7.625], "texture": "#main_texture"}, - "east": {"uv": [1.375, 7.25, 1.875, 7.75], "texture": "#main_texture"}, - "south": {"uv": [7.25, 1.375, 7.75, 1.875], "texture": "#main_texture"}, - "west": {"uv": [7.25, 4.5, 7.75, 5], "texture": "#main_texture"}, - "up": {"uv": [7.75, 5.625, 7.25, 5.125], "texture": "#main_texture"}, - "down": {"uv": [7.75, 5.75, 7.25, 6.25], "texture": "#main_texture"} - } - }, - { - "from": [2, 17, 2], - "to": [14, 20, 14], - "faces": { - "north": {"uv": [4.875, 2.5, 6.375, 2.875], "texture": "#main_texture"}, - "east": {"uv": [4.875, 3, 6.375, 3.375], "texture": "#main_texture"}, - "south": {"uv": [2.5, 5.125, 4, 5.5], "texture": "#main_texture"}, - "west": {"uv": [4.125, 5.125, 5.625, 5.5], "texture": "#main_texture"}, - "up": {"uv": [3.625, 4.75, 2.125, 3.25], "texture": "#main_texture"}, - "down": {"uv": [5.25, 0, 3.75, 1.5], "texture": "#main_texture"} - } - }, - { - "from": [5, 15.5, 5], - "to": [11, 17.5, 11], - "faces": { - "north": {"uv": [6.5, 3.125, 7.25, 3.375], "texture": "#main_texture"}, - "east": {"uv": [7.5, 3.875, 8.25, 4.125], "texture": "#main_texture"}, - "south": {"uv": [7.75, 0, 8.5, 0.25], "texture": "#main_texture"}, - "west": {"uv": [7.875, 0.375, 8.625, 0.625], "texture": "#main_texture"}, - "up": {"uv": [6.125, 0.75, 5.375, 0], "texture": "#main_texture"}, - "down": {"uv": [6.125, 3.5, 5.375, 4.25], "texture": "#main_texture"} - } - }, - { - "from": [2, 0, 2], - "to": [14, 4, 14], - "faces": { - "north": {"uv": [3.75, 3.875, 5.25, 4.375], "texture": "#main_texture"}, - "east": {"uv": [0, 4.25, 1.5, 4.75], "texture": "#main_texture"}, - "south": {"uv": [3.75, 4.5, 5.25, 5], "texture": "#main_texture"}, - "west": {"uv": [0, 4.875, 1.5, 5.375], "texture": "#main_texture"}, - "up": {"uv": [3.625, 1.5, 2.125, 0], "texture": "#main_texture"}, - "down": {"uv": [3.625, 1.625, 2.125, 3.125], "texture": "#main_texture"} - } - }, - { - "from": [4, 4, 4], - "to": [12, 6, 12], - "faces": { - "north": {"uv": [5.75, 2.125, 6.75, 2.375], "texture": "#main_texture"}, - "east": {"uv": [6.25, 0.625, 7.25, 0.875], "texture": "#main_texture"}, - "south": {"uv": [6.25, 1, 7.25, 1.25], "texture": "#main_texture"}, - "west": {"uv": [6.25, 3.5, 7.25, 3.75], "texture": "#main_texture"}, - "up": {"uv": [4.75, 2.625, 3.75, 1.625], "texture": "#main_texture"}, - "down": {"uv": [4.75, 2.75, 3.75, 3.75], "texture": "#main_texture"} - } - }, - { - "from": [5, 8.24264, 8.24264], - "to": [11, 8.24264, 12.24264], - "rotation": {"angle": 45, "axis": "x", "origin": [8, 0, 8]}, - "faces": { - "up": {"uv": [6.125, 1.375, 5.375, 0.875], "texture": "#main_texture"}, - "down": {"uv": [6.125, 4.875, 5.375, 4.375], "texture": "#main_texture"} - } - }, - { - "from": [5, 4.24264, 12.24264], - "to": [11, 8.24264, 12.24264], - "rotation": {"angle": 45, "axis": "x", "origin": [8, 0, 8]}, - "faces": { - "north": {"uv": [0, 5.5, 0.75, 6], "texture": "#main_texture"}, - "south": {"uv": [2.5, 5.625, 3.25, 6.125], "texture": "#main_texture"} - } - }, - { - "from": [3.75736, 8.24264, 5], - "to": [7.75736, 8.24264, 11], - "rotation": {"angle": 45, "axis": "z", "origin": [8, 0, 8]}, - "faces": { - "up": {"uv": [6.125, 1.375, 5.375, 0.875], "rotation": 90, "texture": "#main_texture"}, - "down": {"uv": [5.375, 0.875, 6.125, 1.375], "rotation": 270, "texture": "#main_texture"} - } - }, - { - "from": [3.75736, 4.24264, 5], - "to": [3.75736, 8.24264, 11], - "rotation": {"angle": 45, "axis": "z", "origin": [8, 0, 8]}, - "faces": { - "east": {"uv": [3.375, 5.625, 4.125, 6.125], "texture": "#main_texture"}, - "west": {"uv": [4.25, 5.625, 5, 6.125], "texture": "#main_texture"} - } - }, - { - "from": [5, 8.24264, 3.75736], - "to": [11, 8.24264, 7.75736], - "rotation": {"angle": -45, "axis": "x", "origin": [8, 0, 8]}, - "faces": { - "up": {"uv": [5.875, 6.125, 5.125, 5.625], "texture": "#main_texture"}, - "down": {"uv": [1.625, 6.25, 0.875, 5.75], "texture": "#main_texture"} - } - }, - { - "from": [5, 4.24264, 3.75736], - "to": [11, 8.24264, 3.75736], - "rotation": {"angle": -45, "axis": "x", "origin": [8, 0, 8]}, - "faces": { - "north": {"uv": [5.75, 1.5, 6.5, 2], "texture": "#main_texture"}, - "south": {"uv": [5.75, 5, 6.5, 5.5], "texture": "#main_texture"} - } - }, - { - "from": [8.24264, 8.24264, 5], - "to": [12.24264, 8.24264, 11], - "rotation": {"angle": -45, "axis": "z", "origin": [8, 0, 8]}, - "faces": { - "up": {"uv": [2.25, 6.5, 1.75, 5.75], "texture": "#main_texture"}, - "down": {"uv": [6.5, 5.625, 6, 6.375], "texture": "#main_texture"} - } - }, - { - "from": [12.24264, 4.24264, 5], - "to": [12.24264, 8.24264, 11], - "rotation": {"angle": -45, "axis": "z", "origin": [8, 0, 8]}, - "faces": { - "east": {"uv": [0, 6.125, 0.75, 6.625], "texture": "#main_texture"}, - "west": {"uv": [6.25, 0, 7, 0.5], "texture": "#main_texture"} - } - }, - { - "from": [2, 6, 8], - "to": [14, 16, 8], - "rotation": {"angle": 45, "axis": "y", "origin": [8, 7, 8]}, - "faces": { - "north": {"uv": [1.5, 8.875, 0, 10.125], "texture": "#main_texture"}, - "south": {"uv": [0, 8.875, 1.5, 10.125], "texture": "#main_texture"} - } - }, - { - "from": [2, 6, 8], - "to": [14, 16, 8], - "rotation": {"angle": -45, "axis": "y", "origin": [8, 7, 8]}, - "faces": { - "north": {"uv": [1.5, 8.875, 0, 10.125], "texture": "#main_texture"}, - "south": {"uv": [0, 8.875, 1.5, 10.125], "texture": "#main_texture"} - } - }, - { - "from": [7, 6, 8], - "to": [9, 16, 8], - "rotation": {"angle": 45, "axis": "y", "origin": [8, 7, 8]}, - "faces": { - "north": {"uv": [2.375, 6.25, 2.625, 7.5], "texture": "#main_texture"}, - "south": {"uv": [2.75, 6.25, 3, 7.5], "texture": "#main_texture"} - } - }, - { - "from": [7, 6, 8], - "to": [9, 16, 8], - "rotation": {"angle": -45, "axis": "y", "origin": [8, 7, 8]}, - "faces": { - "north": {"uv": [3.125, 6.25, 3.375, 7.5], "texture": "#main_texture"}, - "south": {"uv": [3.5, 6.25, 3.75, 7.5], "texture": "#main_texture"} - } - }, - { - "from": [5, 9, 5], - "to": [11, 9, 11], - "faces": { - "up": {"uv": [2.375, 5.625, 1.625, 4.875], "texture": "#main_texture"}, - "down": {"uv": [5.625, 1.625, 4.875, 2.375], "texture": "#main_texture"} - } - } - ], - "display": { - "thirdperson_righthand": { - "rotation": [75, 45, 0], - "translation": [0, 2.5, 0], - "scale": [0.375, 0.375, 0.375] - }, - "thirdperson_lefthand": { - "rotation": [75, 45, 0], - "translation": [0, 2.5, 0], - "scale": [0.375, 0.375, 0.375] - }, - "firstperson_righthand": { - "rotation": [0, 45, 0], - "translation": [3.75, 0, 0], - "scale": [0.4, 0.4, 0.4] - }, - "firstperson_lefthand": { - "rotation": [0, 225, 0], - "translation": [4.25, 0, 0], - "scale": [0.4, 0.4, 0.4] - }, - "ground": { - "translation": [0, 2, 0], - "scale": [0.5, 0.5, 0.5] - }, - "gui": { - "rotation": [30, 225, 0], - "translation": [0, -1.25, 0], - "scale": [0.525, 0.525, 0.525] - }, - "head": { - "translation": [0, -2.75, 0] - }, - "fixed": { - "scale": [0.5, 0.5, 0.5] - } - }, - "groups": [ - { - "name": "VoxelShapes", - "origin": [0, 0, 0], - "color": 0, - "nbt": "{}", - "armAnimationEnabled": false, - "children": [ - { - "name": "group", - "origin": [0, 0, 0], - "color": 0, - "nbt": "{}", - "armAnimationEnabled": false, - "children": [0, 1, 2] - }, - { - "name": "group", - "origin": [0, 0, 0], - "color": 0, - "nbt": "{}", - "armAnimationEnabled": false, - "children": [3, 4, 5] - }, - { - "name": "group", - "origin": [0, 0, 0], - "color": 0, - "nbt": "{}", - "armAnimationEnabled": false, - "children": [6, 7, 8] - }, - { - "name": "group", - "origin": [0, 0, 0], - "color": 0, - "nbt": "{}", - "armAnimationEnabled": false, - "children": [9, 10, 11] - }, - { - "name": "group", - "origin": [0, 0, 0], - "color": 0, - "nbt": "{}", - "armAnimationEnabled": false, - "children": [12, 13, 14, 15, 16, 17, 18] - }, - 19, - 20 - ] - }, - { - "name": "group", - "origin": [2, 0, 8], - "color": 0, - "nbt": "{}", - "armAnimationEnabled": false, - "children": [21, 22] - }, - { - "name": "group", - "origin": [2, 0, 8], - "color": 0, - "nbt": "{}", - "armAnimationEnabled": false, - "children": [23, 24] - }, - { - "name": "group", - "origin": [2, 0, 8], - "color": 0, - "nbt": "{}", - "armAnimationEnabled": false, - "children": [25, 26] - }, - { - "name": "group", - "origin": [2, 0, 8], - "color": 0, - "nbt": "{}", - "armAnimationEnabled": false, - "children": [27, 28] - }, - { - "name": "group", - "origin": [8, 7, 8], - "color": 0, - "nbt": "{}", - "armAnimationEnabled": false, - "children": [29, 30] - }, - { - "name": "group", - "origin": [8, 7, 8], - "color": 0, - "nbt": "{}", - "armAnimationEnabled": false, - "children": [31, 32] - }, - 33 - ] + "credit": "Made with Blockbench", + "texture_size": [ + 128, + 128 + ], + "render_type": "cutout", + "textures": { + "main_texture": "tardis_refined:block/transformer_off", + "particle": "block/lapis_block" + }, + "elements": [ + { + "from": [ + 0.5, + 5, + 13.5 + ], + "to": [ + 2.5, + 10, + 15.5 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 0, + 0, + 16 + ] + }, + "faces": { + "north": { + "uv": [ + 8.25, + 0.75, + 8.5, + 1.375 + ], + "texture": "#main_texture" + }, + "east": { + "uv": [ + 8.25, + 1.5, + 8.5, + 2.125 + ], + "texture": "#main_texture" + }, + "south": { + "uv": [ + 8.25, + 2.25, + 8.5, + 2.875 + ], + "texture": "#main_texture" + }, + "west": { + "uv": [ + 8.25, + 3, + 8.5, + 3.625 + ], + "texture": "#main_texture" + }, + "up": { + "uv": [ + 2.25, + 8.625, + 2, + 8.375 + ], + "texture": "#main_texture" + }, + "down": { + "uv": [ + 2.625, + 8.375, + 2.375, + 8.625 + ], + "texture": "#main_texture" + } + } + }, + { + "from": [ + 1.5, + 10, + 13.5 + ], + "to": [ + 1.5, + 18, + 15.5 + ], + "rotation": { + "angle": -45, + "axis": "y", + "origin": [ + 1.5, + 14, + 14.5 + ] + }, + "faces": { + "east": { + "uv": [ + 2, + 7.25, + 2.25, + 8.25 + ], + "texture": "#main_texture" + }, + "west": { + "uv": [ + 7.5, + 2, + 7.75, + 3 + ], + "texture": "#main_texture" + } + } + }, + { + "from": [ + 0, + 0, + 13 + ], + "to": [ + 3, + 5, + 16 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 0, + 0, + 16 + ] + }, + "faces": { + "north": { + "uv": [ + 5.875, + 7.625, + 6.25, + 8.25 + ], + "texture": "#main_texture" + }, + "east": { + "uv": [ + 7.625, + 7.125, + 8, + 7.75 + ], + "texture": "#main_texture" + }, + "south": { + "uv": [ + 6.375, + 7.75, + 6.75, + 8.375 + ], + "texture": "#main_texture" + }, + "west": { + "uv": [ + 0, + 7.875, + 0.375, + 8.5 + ], + "texture": "#main_texture" + }, + "up": { + "uv": [ + 5.25, + 8.625, + 4.875, + 8.25 + ], + "texture": "#main_texture" + }, + "down": { + "uv": [ + 8.625, + 5.25, + 8.25, + 5.625 + ], + "texture": "#main_texture" + } + } + }, + { + "from": [ + 0.5, + 5, + 0.5 + ], + "to": [ + 2.5, + 10, + 2.5 + ], + "faces": { + "north": { + "uv": [ + 7.875, + 0.75, + 8.125, + 1.375 + ], + "texture": "#main_texture" + }, + "east": { + "uv": [ + 1.25, + 7.875, + 1.5, + 8.5 + ], + "texture": "#main_texture" + }, + "south": { + "uv": [ + 7.875, + 1.5, + 8.125, + 2.125 + ], + "texture": "#main_texture" + }, + "west": { + "uv": [ + 1.625, + 7.875, + 1.875, + 8.5 + ], + "texture": "#main_texture" + }, + "up": { + "uv": [ + 5.125, + 3.75, + 4.875, + 3.5 + ], + "texture": "#main_texture" + }, + "down": { + "uv": [ + 6.5, + 4.5, + 6.25, + 4.75 + ], + "texture": "#main_texture" + } + } + }, + { + "from": [ + 1.5, + 10, + 0.5 + ], + "to": [ + 1.5, + 18, + 2.5 + ], + "rotation": { + "angle": 45, + "axis": "y", + "origin": [ + 1.5, + 14, + 1.5 + ] + }, + "faces": { + "east": { + "uv": [ + 5.75, + 6.5, + 6, + 7.5 + ], + "texture": "#main_texture" + }, + "west": { + "uv": [ + 6.125, + 6.5, + 6.375, + 7.5 + ], + "texture": "#main_texture" + } + } + }, + { + "from": [ + 0, + 0, + 0 + ], + "to": [ + 3, + 5, + 3 + ], + "faces": { + "north": { + "uv": [ + 7.375, + 0.625, + 7.75, + 1.25 + ], + "texture": "#main_texture" + }, + "east": { + "uv": [ + 7.375, + 3.125, + 7.75, + 3.75 + ], + "texture": "#main_texture" + }, + "south": { + "uv": [ + 3.875, + 7.5, + 4.25, + 8.125 + ], + "texture": "#main_texture" + }, + "west": { + "uv": [ + 4.375, + 7.5, + 4.75, + 8.125 + ], + "texture": "#main_texture" + }, + "up": { + "uv": [ + 2, + 4.625, + 1.625, + 4.25 + ], + "texture": "#main_texture" + }, + "down": { + "uv": [ + 8.5, + 7.25, + 8.125, + 7.625 + ], + "texture": "#main_texture" + } + } + }, + { + "from": [ + 13.5, + 5, + 0.5 + ], + "to": [ + 15.5, + 10, + 2.5 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 16, + 0, + 0 + ] + }, + "faces": { + "north": { + "uv": [ + 7.875, + 2.25, + 8.125, + 2.875 + ], + "texture": "#main_texture" + }, + "east": { + "uv": [ + 7.875, + 3, + 8.125, + 3.625 + ], + "texture": "#main_texture" + }, + "south": { + "uv": [ + 7.875, + 4.25, + 8.125, + 4.875 + ], + "texture": "#main_texture" + }, + "west": { + "uv": [ + 7.875, + 5, + 8.125, + 5.625 + ], + "texture": "#main_texture" + }, + "up": { + "uv": [ + 7.125, + 8.5, + 6.875, + 8.25 + ], + "texture": "#main_texture" + }, + "down": { + "uv": [ + 7.5, + 8.25, + 7.25, + 8.5 + ], + "texture": "#main_texture" + } + } + }, + { + "from": [ + 14.5, + 10, + 0.5 + ], + "to": [ + 14.5, + 18, + 2.5 + ], + "rotation": { + "angle": -45, + "axis": "y", + "origin": [ + 14.5, + 14, + 1.5 + ] + }, + "faces": { + "east": { + "uv": [ + 0, + 6.75, + 0.25, + 7.75 + ], + "texture": "#main_texture" + }, + "west": { + "uv": [ + 0.375, + 6.75, + 0.625, + 7.75 + ], + "texture": "#main_texture" + } + } + }, + { + "from": [ + 13, + 0, + 0 + ], + "to": [ + 16, + 5, + 3 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 16, + 0, + 0 + ] + }, + "faces": { + "north": { + "uv": [ + 4.875, + 7.5, + 5.25, + 8.125 + ], + "texture": "#main_texture" + }, + "east": { + "uv": [ + 7.5, + 6.375, + 7.875, + 7 + ], + "texture": "#main_texture" + }, + "south": { + "uv": [ + 7.125, + 7.5, + 7.5, + 8.125 + ], + "texture": "#main_texture" + }, + "west": { + "uv": [ + 0.75, + 7.625, + 1.125, + 8.25 + ], + "texture": "#main_texture" + }, + "up": { + "uv": [ + 4.25, + 8.625, + 3.875, + 8.25 + ], + "texture": "#main_texture" + }, + "down": { + "uv": [ + 8.625, + 4.25, + 8.25, + 4.625 + ], + "texture": "#main_texture" + } + } + }, + { + "from": [ + 13.5, + 5, + 13.5 + ], + "to": [ + 15.5, + 10, + 15.5 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 16, + 0, + 16 + ] + }, + "faces": { + "north": { + "uv": [ + 7.625, + 7.875, + 7.875, + 8.5 + ], + "texture": "#main_texture" + }, + "east": { + "uv": [ + 8, + 5.75, + 8.25, + 6.375 + ], + "texture": "#main_texture" + }, + "south": { + "uv": [ + 8, + 7.875, + 8.25, + 8.5 + ], + "texture": "#main_texture" + }, + "west": { + "uv": [ + 8.125, + 6.5, + 8.375, + 7.125 + ], + "texture": "#main_texture" + }, + "up": { + "uv": [ + 0.75, + 8.625, + 0.5, + 8.375 + ], + "texture": "#main_texture" + }, + "down": { + "uv": [ + 1.125, + 8.375, + 0.875, + 8.625 + ], + "texture": "#main_texture" + } + } + }, + { + "from": [ + 14.5, + 10, + 13.5 + ], + "to": [ + 14.5, + 18, + 15.5 + ], + "rotation": { + "angle": 45, + "axis": "y", + "origin": [ + 14.5, + 14, + 14.5 + ] + }, + "faces": { + "east": { + "uv": [ + 7.125, + 2, + 7.375, + 3 + ], + "texture": "#main_texture" + }, + "west": { + "uv": [ + 7.125, + 6.375, + 7.375, + 7.375 + ], + "texture": "#main_texture" + } + } + }, + { + "from": [ + 13, + 0, + 13 + ], + "to": [ + 16, + 5, + 16 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 16, + 0, + 16 + ] + }, + "faces": { + "north": { + "uv": [ + 2.375, + 7.625, + 2.75, + 8.25 + ], + "texture": "#main_texture" + }, + "east": { + "uv": [ + 2.875, + 7.625, + 3.25, + 8.25 + ], + "texture": "#main_texture" + }, + "south": { + "uv": [ + 3.375, + 7.625, + 3.75, + 8.25 + ], + "texture": "#main_texture" + }, + "west": { + "uv": [ + 5.375, + 7.625, + 5.75, + 8.25 + ], + "texture": "#main_texture" + }, + "up": { + "uv": [ + 4.75, + 8.625, + 4.375, + 8.25 + ], + "texture": "#main_texture" + }, + "down": { + "uv": [ + 8.625, + 4.75, + 8.25, + 5.125 + ], + "texture": "#main_texture" + } + } + }, + { + "from": [ + 12.5, + 17.5, + 12.5 + ], + "to": [ + 16.5, + 21.5, + 16.5 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 16, + 0, + 16 + ] + }, + "faces": { + "north": { + "uv": [ + 3.875, + 6.875, + 4.375, + 7.375 + ], + "texture": "#main_texture" + }, + "east": { + "uv": [ + 6.875, + 3.875, + 7.375, + 4.375 + ], + "texture": "#main_texture" + }, + "south": { + "uv": [ + 4.5, + 6.875, + 5, + 7.375 + ], + "texture": "#main_texture" + }, + "west": { + "uv": [ + 5.125, + 6.875, + 5.625, + 7.375 + ], + "texture": "#main_texture" + }, + "up": { + "uv": [ + 1.25, + 7.5, + 0.75, + 7 + ], + "texture": "#main_texture" + }, + "down": { + "uv": [ + 7.625, + 0, + 7.125, + 0.5 + ], + "texture": "#main_texture" + } + } + }, + { + "from": [ + 0, + 19, + 0 + ], + "to": [ + 16, + 19, + 16 + ], + "faces": { + "up": { + "uv": [ + 2, + 2, + 0, + 0 + ], + "texture": "#main_texture" + }, + "down": { + "uv": [ + 2, + 2.125, + 0, + 4.125 + ], + "texture": "#main_texture" + } + } + }, + { + "from": [ + 12.5, + 17.5, + -0.5 + ], + "to": [ + 16.5, + 21.5, + 3.5 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 16, + 0, + 0 + ] + }, + "faces": { + "north": { + "uv": [ + 6.5, + 6.5, + 7, + 7 + ], + "texture": "#main_texture" + }, + "east": { + "uv": [ + 6.625, + 1.375, + 7.125, + 1.875 + ], + "texture": "#main_texture" + }, + "south": { + "uv": [ + 1.5, + 6.625, + 2, + 7.125 + ], + "texture": "#main_texture" + }, + "west": { + "uv": [ + 6.625, + 4.5, + 7.125, + 5 + ], + "texture": "#main_texture" + }, + "up": { + "uv": [ + 7.125, + 5.625, + 6.625, + 5.125 + ], + "texture": "#main_texture" + }, + "down": { + "uv": [ + 7.125, + 5.75, + 6.625, + 6.25 + ], + "texture": "#main_texture" + } + } + }, + { + "from": [ + -0.5, + 17.5, + -0.5 + ], + "to": [ + 3.5, + 21.5, + 3.5 + ], + "faces": { + "north": { + "uv": [ + 3.875, + 6.25, + 4.375, + 6.75 + ], + "texture": "#main_texture" + }, + "east": { + "uv": [ + 6.25, + 3.875, + 6.75, + 4.375 + ], + "texture": "#main_texture" + }, + "south": { + "uv": [ + 4.5, + 6.25, + 5, + 6.75 + ], + "texture": "#main_texture" + }, + "west": { + "uv": [ + 5.125, + 6.25, + 5.625, + 6.75 + ], + "texture": "#main_texture" + }, + "up": { + "uv": [ + 1.375, + 6.875, + 0.875, + 6.375 + ], + "texture": "#main_texture" + }, + "down": { + "uv": [ + 7, + 2.5, + 6.5, + 3 + ], + "texture": "#main_texture" + } + } + }, + { + "from": [ + -0.5, + 17.5, + 12.5 + ], + "to": [ + 3.5, + 21.5, + 16.5 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 0, + 0, + 16 + ] + }, + "faces": { + "north": { + "uv": [ + 6.5, + 7.125, + 7, + 7.625 + ], + "texture": "#main_texture" + }, + "east": { + "uv": [ + 1.375, + 7.25, + 1.875, + 7.75 + ], + "texture": "#main_texture" + }, + "south": { + "uv": [ + 7.25, + 1.375, + 7.75, + 1.875 + ], + "texture": "#main_texture" + }, + "west": { + "uv": [ + 7.25, + 4.5, + 7.75, + 5 + ], + "texture": "#main_texture" + }, + "up": { + "uv": [ + 7.75, + 5.625, + 7.25, + 5.125 + ], + "texture": "#main_texture" + }, + "down": { + "uv": [ + 7.75, + 5.75, + 7.25, + 6.25 + ], + "texture": "#main_texture" + } + } + }, + { + "from": [ + 2, + 17, + 2 + ], + "to": [ + 14, + 20, + 14 + ], + "faces": { + "north": { + "uv": [ + 4.875, + 2.5, + 6.375, + 2.875 + ], + "texture": "#main_texture" + }, + "east": { + "uv": [ + 4.875, + 3, + 6.375, + 3.375 + ], + "texture": "#main_texture" + }, + "south": { + "uv": [ + 2.5, + 5.125, + 4, + 5.5 + ], + "texture": "#main_texture" + }, + "west": { + "uv": [ + 4.125, + 5.125, + 5.625, + 5.5 + ], + "texture": "#main_texture" + }, + "up": { + "uv": [ + 3.625, + 4.75, + 2.125, + 3.25 + ], + "texture": "#main_texture" + }, + "down": { + "uv": [ + 5.25, + 0, + 3.75, + 1.5 + ], + "texture": "#main_texture" + } + } + }, + { + "from": [ + 5, + 15.5, + 5 + ], + "to": [ + 11, + 17.5, + 11 + ], + "faces": { + "north": { + "uv": [ + 6.5, + 3.125, + 7.25, + 3.375 + ], + "texture": "#main_texture" + }, + "east": { + "uv": [ + 7.5, + 3.875, + 8.25, + 4.125 + ], + "texture": "#main_texture" + }, + "south": { + "uv": [ + 7.75, + 0, + 8.5, + 0.25 + ], + "texture": "#main_texture" + }, + "west": { + "uv": [ + 7.875, + 0.375, + 8.625, + 0.625 + ], + "texture": "#main_texture" + }, + "up": { + "uv": [ + 6.125, + 0.75, + 5.375, + 0 + ], + "texture": "#main_texture" + }, + "down": { + "uv": [ + 6.125, + 3.5, + 5.375, + 4.25 + ], + "texture": "#main_texture" + } + } + }, + { + "from": [ + 2, + 0, + 2 + ], + "to": [ + 14, + 4, + 14 + ], + "faces": { + "north": { + "uv": [ + 3.75, + 3.875, + 5.25, + 4.375 + ], + "texture": "#main_texture" + }, + "east": { + "uv": [ + 0, + 4.25, + 1.5, + 4.75 + ], + "texture": "#main_texture" + }, + "south": { + "uv": [ + 3.75, + 4.5, + 5.25, + 5 + ], + "texture": "#main_texture" + }, + "west": { + "uv": [ + 0, + 4.875, + 1.5, + 5.375 + ], + "texture": "#main_texture" + }, + "up": { + "uv": [ + 3.625, + 1.5, + 2.125, + 0 + ], + "texture": "#main_texture" + }, + "down": { + "uv": [ + 3.625, + 1.625, + 2.125, + 3.125 + ], + "texture": "#main_texture" + } + } + }, + { + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 6, + 12 + ], + "faces": { + "north": { + "uv": [ + 5.75, + 2.125, + 6.75, + 2.375 + ], + "texture": "#main_texture" + }, + "east": { + "uv": [ + 6.25, + 0.625, + 7.25, + 0.875 + ], + "texture": "#main_texture" + }, + "south": { + "uv": [ + 6.25, + 1, + 7.25, + 1.25 + ], + "texture": "#main_texture" + }, + "west": { + "uv": [ + 6.25, + 3.5, + 7.25, + 3.75 + ], + "texture": "#main_texture" + }, + "up": { + "uv": [ + 4.75, + 2.625, + 3.75, + 1.625 + ], + "texture": "#main_texture" + }, + "down": { + "uv": [ + 4.75, + 2.75, + 3.75, + 3.75 + ], + "texture": "#main_texture" + } + } + }, + { + "from": [ + 5, + 8.24264, + 8.24264 + ], + "to": [ + 11, + 8.24264, + 12.24264 + ], + "rotation": { + "angle": 45, + "axis": "x", + "origin": [ + 8, + 0, + 8 + ] + }, + "faces": { + "up": { + "uv": [ + 6.125, + 1.375, + 5.375, + 0.875 + ], + "texture": "#main_texture" + }, + "down": { + "uv": [ + 6.125, + 4.875, + 5.375, + 4.375 + ], + "texture": "#main_texture" + } + } + }, + { + "from": [ + 5, + 4.24264, + 12.24264 + ], + "to": [ + 11, + 8.24264, + 12.24264 + ], + "rotation": { + "angle": 45, + "axis": "x", + "origin": [ + 8, + 0, + 8 + ] + }, + "faces": { + "north": { + "uv": [ + 0, + 5.5, + 0.75, + 6 + ], + "texture": "#main_texture" + }, + "south": { + "uv": [ + 2.5, + 5.625, + 3.25, + 6.125 + ], + "texture": "#main_texture" + } + } + }, + { + "from": [ + 3.75736, + 8.24264, + 5 + ], + "to": [ + 7.75736, + 8.24264, + 11 + ], + "rotation": { + "angle": 45, + "axis": "z", + "origin": [ + 8, + 0, + 8 + ] + }, + "faces": { + "up": { + "uv": [ + 6.125, + 1.375, + 5.375, + 0.875 + ], + "rotation": 90, + "texture": "#main_texture" + }, + "down": { + "uv": [ + 5.375, + 0.875, + 6.125, + 1.375 + ], + "rotation": 270, + "texture": "#main_texture" + } + } + }, + { + "from": [ + 3.75736, + 4.24264, + 5 + ], + "to": [ + 3.75736, + 8.24264, + 11 + ], + "rotation": { + "angle": 45, + "axis": "z", + "origin": [ + 8, + 0, + 8 + ] + }, + "faces": { + "east": { + "uv": [ + 3.375, + 5.625, + 4.125, + 6.125 + ], + "texture": "#main_texture" + }, + "west": { + "uv": [ + 4.25, + 5.625, + 5, + 6.125 + ], + "texture": "#main_texture" + } + } + }, + { + "from": [ + 5, + 8.24264, + 3.75736 + ], + "to": [ + 11, + 8.24264, + 7.75736 + ], + "rotation": { + "angle": -45, + "axis": "x", + "origin": [ + 8, + 0, + 8 + ] + }, + "faces": { + "up": { + "uv": [ + 5.875, + 6.125, + 5.125, + 5.625 + ], + "texture": "#main_texture" + }, + "down": { + "uv": [ + 1.625, + 6.25, + 0.875, + 5.75 + ], + "texture": "#main_texture" + } + } + }, + { + "from": [ + 5, + 4.24264, + 3.75736 + ], + "to": [ + 11, + 8.24264, + 3.75736 + ], + "rotation": { + "angle": -45, + "axis": "x", + "origin": [ + 8, + 0, + 8 + ] + }, + "faces": { + "north": { + "uv": [ + 5.75, + 1.5, + 6.5, + 2 + ], + "texture": "#main_texture" + }, + "south": { + "uv": [ + 5.75, + 5, + 6.5, + 5.5 + ], + "texture": "#main_texture" + } + } + }, + { + "from": [ + 8.24264, + 8.24264, + 5 + ], + "to": [ + 12.24264, + 8.24264, + 11 + ], + "rotation": { + "angle": -45, + "axis": "z", + "origin": [ + 8, + 0, + 8 + ] + }, + "faces": { + "up": { + "uv": [ + 2.25, + 6.5, + 1.75, + 5.75 + ], + "texture": "#main_texture" + }, + "down": { + "uv": [ + 6.5, + 5.625, + 6, + 6.375 + ], + "texture": "#main_texture" + } + } + }, + { + "from": [ + 12.24264, + 4.24264, + 5 + ], + "to": [ + 12.24264, + 8.24264, + 11 + ], + "rotation": { + "angle": -45, + "axis": "z", + "origin": [ + 8, + 0, + 8 + ] + }, + "faces": { + "east": { + "uv": [ + 0, + 6.125, + 0.75, + 6.625 + ], + "texture": "#main_texture" + }, + "west": { + "uv": [ + 6.25, + 0, + 7, + 0.5 + ], + "texture": "#main_texture" + } + } + }, + { + "from": [ + 2, + 6, + 8 + ], + "to": [ + 14, + 16, + 8 + ], + "rotation": { + "angle": 45, + "axis": "y", + "origin": [ + 8, + 7, + 8 + ] + }, + "faces": { + "north": { + "uv": [ + 1.5, + 8.875, + 0, + 10.125 + ], + "texture": "#main_texture" + }, + "south": { + "uv": [ + 0, + 8.875, + 1.5, + 10.125 + ], + "texture": "#main_texture" + } + } + }, + { + "from": [ + 2, + 6, + 8 + ], + "to": [ + 14, + 16, + 8 + ], + "rotation": { + "angle": -45, + "axis": "y", + "origin": [ + 8, + 7, + 8 + ] + }, + "faces": { + "north": { + "uv": [ + 1.5, + 8.875, + 0, + 10.125 + ], + "texture": "#main_texture" + }, + "south": { + "uv": [ + 0, + 8.875, + 1.5, + 10.125 + ], + "texture": "#main_texture" + } + } + }, + { + "from": [ + 7, + 6, + 8 + ], + "to": [ + 9, + 16, + 8 + ], + "rotation": { + "angle": 45, + "axis": "y", + "origin": [ + 8, + 7, + 8 + ] + }, + "faces": { + "north": { + "uv": [ + 2.375, + 6.25, + 2.625, + 7.5 + ], + "texture": "#main_texture" + }, + "south": { + "uv": [ + 2.75, + 6.25, + 3, + 7.5 + ], + "texture": "#main_texture" + } + } + }, + { + "from": [ + 7, + 6, + 8 + ], + "to": [ + 9, + 16, + 8 + ], + "rotation": { + "angle": -45, + "axis": "y", + "origin": [ + 8, + 7, + 8 + ] + }, + "faces": { + "north": { + "uv": [ + 3.125, + 6.25, + 3.375, + 7.5 + ], + "texture": "#main_texture" + }, + "south": { + "uv": [ + 3.5, + 6.25, + 3.75, + 7.5 + ], + "texture": "#main_texture" + } + } + }, + { + "from": [ + 5, + 9, + 5 + ], + "to": [ + 11, + 9, + 11 + ], + "faces": { + "up": { + "uv": [ + 2.375, + 5.625, + 1.625, + 4.875 + ], + "texture": "#main_texture" + }, + "down": { + "uv": [ + 5.625, + 1.625, + 4.875, + 2.375 + ], + "texture": "#main_texture" + } + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [ + 75, + 45, + 0 + ], + "translation": [ + 0, + 2.5, + 0 + ], + "scale": [ + 0.375, + 0.375, + 0.375 + ] + }, + "thirdperson_lefthand": { + "rotation": [ + 75, + 45, + 0 + ], + "translation": [ + 0, + 2.5, + 0 + ], + "scale": [ + 0.375, + 0.375, + 0.375 + ] + }, + "firstperson_righthand": { + "rotation": [ + 0, + 45, + 0 + ], + "translation": [ + 3.75, + 0, + 0 + ], + "scale": [ + 0.4, + 0.4, + 0.4 + ] + }, + "firstperson_lefthand": { + "rotation": [ + 0, + 225, + 0 + ], + "translation": [ + 4.25, + 0, + 0 + ], + "scale": [ + 0.4, + 0.4, + 0.4 + ] + }, + "ground": { + "translation": [ + 0, + 2, + 0 + ], + "scale": [ + 0.5, + 0.5, + 0.5 + ] + }, + "gui": { + "rotation": [ + 30, + 225, + 0 + ], + "translation": [ + 0, + -1.25, + 0 + ], + "scale": [ + 0.525, + 0.525, + 0.525 + ] + }, + "head": { + "translation": [ + 0, + -2.75, + 0 + ] + }, + "fixed": { + "scale": [ + 0.5, + 0.5, + 0.5 + ] + } + }, + "groups": [ + { + "name": "VoxelShapes", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "nbt": "{}", + "armAnimationEnabled": false, + "children": [ + { + "name": "group", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "nbt": "{}", + "armAnimationEnabled": false, + "children": [ + 0, + 1, + 2 + ] + }, + { + "name": "group", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "nbt": "{}", + "armAnimationEnabled": false, + "children": [ + 3, + 4, + 5 + ] + }, + { + "name": "group", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "nbt": "{}", + "armAnimationEnabled": false, + "children": [ + 6, + 7, + 8 + ] + }, + { + "name": "group", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "nbt": "{}", + "armAnimationEnabled": false, + "children": [ + 9, + 10, + 11 + ] + }, + { + "name": "group", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "nbt": "{}", + "armAnimationEnabled": false, + "children": [ + 12, + 13, + 14, + 15, + 16, + 17, + 18 + ] + }, + 19, + 20 + ] + }, + { + "name": "group", + "origin": [ + 2, + 0, + 8 + ], + "color": 0, + "nbt": "{}", + "armAnimationEnabled": false, + "children": [ + 21, + 22 + ] + }, + { + "name": "group", + "origin": [ + 2, + 0, + 8 + ], + "color": 0, + "nbt": "{}", + "armAnimationEnabled": false, + "children": [ + 23, + 24 + ] + }, + { + "name": "group", + "origin": [ + 2, + 0, + 8 + ], + "color": 0, + "nbt": "{}", + "armAnimationEnabled": false, + "children": [ + 25, + 26 + ] + }, + { + "name": "group", + "origin": [ + 2, + 0, + 8 + ], + "color": 0, + "nbt": "{}", + "armAnimationEnabled": false, + "children": [ + 27, + 28 + ] + }, + { + "name": "group", + "origin": [ + 8, + 7, + 8 + ], + "color": 0, + "nbt": "{}", + "armAnimationEnabled": false, + "children": [ + 29, + 30 + ] + }, + { + "name": "group", + "origin": [ + 8, + 7, + 8 + ], + "color": 0, + "nbt": "{}", + "armAnimationEnabled": false, + "children": [ + 31, + 32 + ] + }, + 33 + ] } \ No newline at end of file diff --git a/common/src/main/resources/assets/tardis_refined/models/block/terraformer_on.json b/common/src/main/resources/assets/tardis_refined/models/block/terraformer_on.json index 5b6bd0973..1e154b1b1 100644 --- a/common/src/main/resources/assets/tardis_refined/models/block/terraformer_on.json +++ b/common/src/main/resources/assets/tardis_refined/models/block/terraformer_on.json @@ -1,511 +1,2210 @@ { - "credit": "Made with Blockbench", - "texture_size": [128, 128], - "render_type" : "cutout", - "textures": { - "main_texture": "tardis_refined:block/transformer_on", - "particle": "block/lapis_block" - }, - "elements": [ - { - "from": [0.5, 5, 13.5], - "to": [2.5, 10, 15.5], - "rotation": {"angle": 0, "axis": "y", "origin": [0, 0, 16]}, - "faces": { - "north": {"uv": [8.25, 0.75, 8.5, 1.375], "texture": "#main_texture"}, - "east": {"uv": [8.25, 1.5, 8.5, 2.125], "texture": "#main_texture"}, - "south": {"uv": [8.25, 2.25, 8.5, 2.875], "texture": "#main_texture"}, - "west": {"uv": [8.25, 3, 8.5, 3.625], "texture": "#main_texture"}, - "up": {"uv": [2.25, 8.625, 2, 8.375], "texture": "#main_texture"}, - "down": {"uv": [2.625, 8.375, 2.375, 8.625], "texture": "#main_texture"} - } - }, - { - "from": [1.5, 10, 13.5], - "to": [1.5, 18, 15.5], - "rotation": {"angle": -45, "axis": "y", "origin": [1.5, 14, 14.5]}, - "faces": { - "east": {"uv": [2, 7.25, 2.25, 8.25], "texture": "#main_texture"}, - "west": {"uv": [7.5, 2, 7.75, 3], "texture": "#main_texture"} - } - }, - { - "from": [0, 0, 13], - "to": [3, 5, 16], - "rotation": {"angle": 0, "axis": "y", "origin": [0, 0, 16]}, - "faces": { - "north": {"uv": [5.875, 7.625, 6.25, 8.25], "texture": "#main_texture"}, - "east": {"uv": [7.625, 7.125, 8, 7.75], "texture": "#main_texture"}, - "south": {"uv": [6.375, 7.75, 6.75, 8.375], "texture": "#main_texture"}, - "west": {"uv": [0, 7.875, 0.375, 8.5], "texture": "#main_texture"}, - "up": {"uv": [5.25, 8.625, 4.875, 8.25], "texture": "#main_texture"}, - "down": {"uv": [8.625, 5.25, 8.25, 5.625], "texture": "#main_texture"} - } - }, - { - "from": [0.5, 5, 0.5], - "to": [2.5, 10, 2.5], - "faces": { - "north": {"uv": [7.875, 0.75, 8.125, 1.375], "texture": "#main_texture"}, - "east": {"uv": [1.25, 7.875, 1.5, 8.5], "texture": "#main_texture"}, - "south": {"uv": [7.875, 1.5, 8.125, 2.125], "texture": "#main_texture"}, - "west": {"uv": [1.625, 7.875, 1.875, 8.5], "texture": "#main_texture"}, - "up": {"uv": [5.125, 3.75, 4.875, 3.5], "texture": "#main_texture"}, - "down": {"uv": [6.5, 4.5, 6.25, 4.75], "texture": "#main_texture"} - } - }, - { - "from": [1.5, 10, 0.5], - "to": [1.5, 18, 2.5], - "rotation": {"angle": 45, "axis": "y", "origin": [1.5, 14, 1.5]}, - "faces": { - "east": {"uv": [5.75, 6.5, 6, 7.5], "texture": "#main_texture"}, - "west": {"uv": [6.125, 6.5, 6.375, 7.5], "texture": "#main_texture"} - } - }, - { - "from": [0, 0, 0], - "to": [3, 5, 3], - "faces": { - "north": {"uv": [7.375, 0.625, 7.75, 1.25], "texture": "#main_texture"}, - "east": {"uv": [7.375, 3.125, 7.75, 3.75], "texture": "#main_texture"}, - "south": {"uv": [3.875, 7.5, 4.25, 8.125], "texture": "#main_texture"}, - "west": {"uv": [4.375, 7.5, 4.75, 8.125], "texture": "#main_texture"}, - "up": {"uv": [2, 4.625, 1.625, 4.25], "texture": "#main_texture"}, - "down": {"uv": [8.5, 7.25, 8.125, 7.625], "texture": "#main_texture"} - } - }, - { - "from": [13.5, 5, 0.5], - "to": [15.5, 10, 2.5], - "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, - "faces": { - "north": {"uv": [7.875, 2.25, 8.125, 2.875], "texture": "#main_texture"}, - "east": {"uv": [7.875, 3, 8.125, 3.625], "texture": "#main_texture"}, - "south": {"uv": [7.875, 4.25, 8.125, 4.875], "texture": "#main_texture"}, - "west": {"uv": [7.875, 5, 8.125, 5.625], "texture": "#main_texture"}, - "up": {"uv": [7.125, 8.5, 6.875, 8.25], "texture": "#main_texture"}, - "down": {"uv": [7.5, 8.25, 7.25, 8.5], "texture": "#main_texture"} - } - }, - { - "from": [14.5, 10, 0.5], - "to": [14.5, 18, 2.5], - "rotation": {"angle": -45, "axis": "y", "origin": [14.5, 14, 1.5]}, - "faces": { - "east": {"uv": [0, 6.75, 0.25, 7.75], "texture": "#main_texture"}, - "west": {"uv": [0.375, 6.75, 0.625, 7.75], "texture": "#main_texture"} - } - }, - { - "from": [13, 0, 0], - "to": [16, 5, 3], - "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, - "faces": { - "north": {"uv": [4.875, 7.5, 5.25, 8.125], "texture": "#main_texture"}, - "east": {"uv": [7.5, 6.375, 7.875, 7], "texture": "#main_texture"}, - "south": {"uv": [7.125, 7.5, 7.5, 8.125], "texture": "#main_texture"}, - "west": {"uv": [0.75, 7.625, 1.125, 8.25], "texture": "#main_texture"}, - "up": {"uv": [4.25, 8.625, 3.875, 8.25], "texture": "#main_texture"}, - "down": {"uv": [8.625, 4.25, 8.25, 4.625], "texture": "#main_texture"} - } - }, - { - "from": [13.5, 5, 13.5], - "to": [15.5, 10, 15.5], - "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 16]}, - "faces": { - "north": {"uv": [7.625, 7.875, 7.875, 8.5], "texture": "#main_texture"}, - "east": {"uv": [8, 5.75, 8.25, 6.375], "texture": "#main_texture"}, - "south": {"uv": [8, 7.875, 8.25, 8.5], "texture": "#main_texture"}, - "west": {"uv": [8.125, 6.5, 8.375, 7.125], "texture": "#main_texture"}, - "up": {"uv": [0.75, 8.625, 0.5, 8.375], "texture": "#main_texture"}, - "down": {"uv": [1.125, 8.375, 0.875, 8.625], "texture": "#main_texture"} - } - }, - { - "from": [14.5, 10, 13.5], - "to": [14.5, 18, 15.5], - "rotation": {"angle": 45, "axis": "y", "origin": [14.5, 14, 14.5]}, - "faces": { - "east": {"uv": [7.125, 2, 7.375, 3], "texture": "#main_texture"}, - "west": {"uv": [7.125, 6.375, 7.375, 7.375], "texture": "#main_texture"} - } - }, - { - "from": [13, 0, 13], - "to": [16, 5, 16], - "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 16]}, - "faces": { - "north": {"uv": [2.375, 7.625, 2.75, 8.25], "texture": "#main_texture"}, - "east": {"uv": [2.875, 7.625, 3.25, 8.25], "texture": "#main_texture"}, - "south": {"uv": [3.375, 7.625, 3.75, 8.25], "texture": "#main_texture"}, - "west": {"uv": [5.375, 7.625, 5.75, 8.25], "texture": "#main_texture"}, - "up": {"uv": [4.75, 8.625, 4.375, 8.25], "texture": "#main_texture"}, - "down": {"uv": [8.625, 4.75, 8.25, 5.125], "texture": "#main_texture"} - } - }, - { - "from": [12.5, 17.5, 12.5], - "to": [16.5, 21.5, 16.5], - "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 16]}, - "faces": { - "north": {"uv": [3.875, 6.875, 4.375, 7.375], "texture": "#main_texture"}, - "east": {"uv": [6.875, 3.875, 7.375, 4.375], "texture": "#main_texture"}, - "south": {"uv": [4.5, 6.875, 5, 7.375], "texture": "#main_texture"}, - "west": {"uv": [5.125, 6.875, 5.625, 7.375], "texture": "#main_texture"}, - "up": {"uv": [1.25, 7.5, 0.75, 7], "texture": "#main_texture"}, - "down": {"uv": [7.625, 0, 7.125, 0.5], "texture": "#main_texture"} - } - }, - { - "from": [0, 19, 0], - "to": [16, 19, 16], - "faces": { - "up": {"uv": [2, 2, 0, 0], "texture": "#main_texture"}, - "down": {"uv": [2, 2.125, 0, 4.125], "texture": "#main_texture"} - } - }, - { - "from": [12.5, 17.5, -0.5], - "to": [16.5, 21.5, 3.5], - "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, - "faces": { - "north": {"uv": [6.5, 6.5, 7, 7], "texture": "#main_texture"}, - "east": {"uv": [6.625, 1.375, 7.125, 1.875], "texture": "#main_texture"}, - "south": {"uv": [1.5, 6.625, 2, 7.125], "texture": "#main_texture"}, - "west": {"uv": [6.625, 4.5, 7.125, 5], "texture": "#main_texture"}, - "up": {"uv": [7.125, 5.625, 6.625, 5.125], "texture": "#main_texture"}, - "down": {"uv": [7.125, 5.75, 6.625, 6.25], "texture": "#main_texture"} - } - }, - { - "from": [-0.5, 17.5, -0.5], - "to": [3.5, 21.5, 3.5], - "faces": { - "north": {"uv": [3.875, 6.25, 4.375, 6.75], "texture": "#main_texture"}, - "east": {"uv": [6.25, 3.875, 6.75, 4.375], "texture": "#main_texture"}, - "south": {"uv": [4.5, 6.25, 5, 6.75], "texture": "#main_texture"}, - "west": {"uv": [5.125, 6.25, 5.625, 6.75], "texture": "#main_texture"}, - "up": {"uv": [1.375, 6.875, 0.875, 6.375], "texture": "#main_texture"}, - "down": {"uv": [7, 2.5, 6.5, 3], "texture": "#main_texture"} - } - }, - { - "from": [-0.5, 17.5, 12.5], - "to": [3.5, 21.5, 16.5], - "rotation": {"angle": 0, "axis": "y", "origin": [0, 0, 16]}, - "faces": { - "north": {"uv": [6.5, 7.125, 7, 7.625], "texture": "#main_texture"}, - "east": {"uv": [1.375, 7.25, 1.875, 7.75], "texture": "#main_texture"}, - "south": {"uv": [7.25, 1.375, 7.75, 1.875], "texture": "#main_texture"}, - "west": {"uv": [7.25, 4.5, 7.75, 5], "texture": "#main_texture"}, - "up": {"uv": [7.75, 5.625, 7.25, 5.125], "texture": "#main_texture"}, - "down": {"uv": [7.75, 5.75, 7.25, 6.25], "texture": "#main_texture"} - } - }, - { - "from": [2, 17, 2], - "to": [14, 20, 14], - "faces": { - "north": {"uv": [4.875, 2.5, 6.375, 2.875], "texture": "#main_texture"}, - "east": {"uv": [4.875, 3, 6.375, 3.375], "texture": "#main_texture"}, - "south": {"uv": [2.5, 5.125, 4, 5.5], "texture": "#main_texture"}, - "west": {"uv": [4.125, 5.125, 5.625, 5.5], "texture": "#main_texture"}, - "up": {"uv": [3.625, 4.75, 2.125, 3.25], "texture": "#main_texture"}, - "down": {"uv": [5.25, 0, 3.75, 1.5], "texture": "#main_texture"} - } - }, - { - "from": [5, 15.5, 5], - "to": [11, 17.5, 11], - "faces": { - "north": {"uv": [6.5, 3.125, 7.25, 3.375], "texture": "#main_texture"}, - "east": {"uv": [7.5, 3.875, 8.25, 4.125], "texture": "#main_texture"}, - "south": {"uv": [7.75, 0, 8.5, 0.25], "texture": "#main_texture"}, - "west": {"uv": [7.875, 0.375, 8.625, 0.625], "texture": "#main_texture"}, - "up": {"uv": [6.125, 0.75, 5.375, 0], "texture": "#main_texture"}, - "down": {"uv": [6.125, 3.5, 5.375, 4.25], "texture": "#main_texture"} - } - }, - { - "from": [2, 0, 2], - "to": [14, 4, 14], - "faces": { - "north": {"uv": [3.75, 3.875, 5.25, 4.375], "texture": "#main_texture"}, - "east": {"uv": [0, 4.25, 1.5, 4.75], "texture": "#main_texture"}, - "south": {"uv": [3.75, 4.5, 5.25, 5], "texture": "#main_texture"}, - "west": {"uv": [0, 4.875, 1.5, 5.375], "texture": "#main_texture"}, - "up": {"uv": [3.625, 1.5, 2.125, 0], "texture": "#main_texture"}, - "down": {"uv": [3.625, 1.625, 2.125, 3.125], "texture": "#main_texture"} - } - }, - { - "from": [4, 4, 4], - "to": [12, 6, 12], - "faces": { - "north": {"uv": [5.75, 2.125, 6.75, 2.375], "texture": "#main_texture"}, - "east": {"uv": [6.25, 0.625, 7.25, 0.875], "texture": "#main_texture"}, - "south": {"uv": [6.25, 1, 7.25, 1.25], "texture": "#main_texture"}, - "west": {"uv": [6.25, 3.5, 7.25, 3.75], "texture": "#main_texture"}, - "up": {"uv": [4.75, 2.625, 3.75, 1.625], "texture": "#main_texture"}, - "down": {"uv": [4.75, 2.75, 3.75, 3.75], "texture": "#main_texture"} - } - }, - { - "from": [5, 8.24264, 8.24264], - "to": [11, 8.24264, 12.24264], - "rotation": {"angle": 45, "axis": "x", "origin": [8, 0, 8]}, - "faces": { - "up": {"uv": [6.125, 1.375, 5.375, 0.875], "texture": "#main_texture"}, - "down": {"uv": [6.125, 4.875, 5.375, 4.375], "texture": "#main_texture"} - } - }, - { - "from": [5, 4.24264, 12.24264], - "to": [11, 8.24264, 12.24264], - "rotation": {"angle": 45, "axis": "x", "origin": [8, 0, 8]}, - "faces": { - "north": {"uv": [0, 5.5, 0.75, 6], "texture": "#main_texture"}, - "south": {"uv": [2.5, 5.625, 3.25, 6.125], "texture": "#main_texture"} - } - }, - { - "from": [3.75736, 8.24264, 5], - "to": [7.75736, 8.24264, 11], - "rotation": {"angle": 45, "axis": "z", "origin": [8, 0, 8]}, - "faces": { - "up": {"uv": [6.125, 1.375, 5.375, 0.875], "rotation": 90, "texture": "#main_texture"}, - "down": {"uv": [5.375, 0.875, 6.125, 1.375], "rotation": 270, "texture": "#main_texture"} - } - }, - { - "from": [3.75736, 4.24264, 5], - "to": [3.75736, 8.24264, 11], - "rotation": {"angle": 45, "axis": "z", "origin": [8, 0, 8]}, - "faces": { - "east": {"uv": [3.375, 5.625, 4.125, 6.125], "texture": "#main_texture"}, - "west": {"uv": [4.25, 5.625, 5, 6.125], "texture": "#main_texture"} - } - }, - { - "from": [5, 8.24264, 3.75736], - "to": [11, 8.24264, 7.75736], - "rotation": {"angle": -45, "axis": "x", "origin": [8, 0, 8]}, - "faces": { - "up": {"uv": [5.875, 6.125, 5.125, 5.625], "texture": "#main_texture"}, - "down": {"uv": [1.625, 6.25, 0.875, 5.75], "texture": "#main_texture"} - } - }, - { - "from": [5, 4.24264, 3.75736], - "to": [11, 8.24264, 3.75736], - "rotation": {"angle": -45, "axis": "x", "origin": [8, 0, 8]}, - "faces": { - "north": {"uv": [5.75, 1.5, 6.5, 2], "texture": "#main_texture"}, - "south": {"uv": [5.75, 5, 6.5, 5.5], "texture": "#main_texture"} - } - }, - { - "from": [8.24264, 8.24264, 5], - "to": [12.24264, 8.24264, 11], - "rotation": {"angle": -45, "axis": "z", "origin": [8, 0, 8]}, - "faces": { - "up": {"uv": [2.25, 6.5, 1.75, 5.75], "texture": "#main_texture"}, - "down": {"uv": [6.5, 5.625, 6, 6.375], "texture": "#main_texture"} - } - }, - { - "from": [12.24264, 4.24264, 5], - "to": [12.24264, 8.24264, 11], - "rotation": {"angle": -45, "axis": "z", "origin": [8, 0, 8]}, - "faces": { - "east": {"uv": [0, 6.125, 0.75, 6.625], "texture": "#main_texture"}, - "west": {"uv": [6.25, 0, 7, 0.5], "texture": "#main_texture"} - } - }, - { - "from": [2, 6, 8], - "to": [14, 16, 8], - "rotation": {"angle": 45, "axis": "y", "origin": [8, 7, 8]}, - "faces": { - "north": {"uv": [1.5, 8.875, 0, 10.125], "texture": "#main_texture"}, - "south": {"uv": [0, 8.875, 1.5, 10.125], "texture": "#main_texture"} - } - }, - { - "from": [2, 6, 8], - "to": [14, 16, 8], - "rotation": {"angle": -45, "axis": "y", "origin": [8, 7, 8]}, - "faces": { - "north": {"uv": [1.5, 8.875, 0, 10.125], "texture": "#main_texture"}, - "south": {"uv": [0, 8.875, 1.5, 10.125], "texture": "#main_texture"} - } - }, - { - "from": [7, 6, 8], - "to": [9, 16, 8], - "rotation": {"angle": 45, "axis": "y", "origin": [8, 7, 8]}, - "faces": { - "north": {"uv": [2.375, 6.25, 2.625, 7.5], "texture": "#main_texture"}, - "south": {"uv": [2.75, 6.25, 3, 7.5], "texture": "#main_texture"} - } - }, - { - "from": [7, 6, 8], - "to": [9, 16, 8], - "rotation": {"angle": -45, "axis": "y", "origin": [8, 7, 8]}, - "faces": { - "north": {"uv": [3.125, 6.25, 3.375, 7.5], "texture": "#main_texture"}, - "south": {"uv": [3.5, 6.25, 3.75, 7.5], "texture": "#main_texture"} - } - }, - { - "from": [5, 9, 5], - "to": [11, 9, 11], - "faces": { - "up": {"uv": [2.375, 5.625, 1.625, 4.875], "texture": "#main_texture"}, - "down": {"uv": [5.625, 1.625, 4.875, 2.375], "texture": "#main_texture"} - } - } - ], - "display": { - "thirdperson_righthand": { - "rotation": [75, 45, 0], - "translation": [0, 2.5, 0], - "scale": [0.375, 0.375, 0.375] - }, - "thirdperson_lefthand": { - "rotation": [75, 45, 0], - "translation": [0, 2.5, 0], - "scale": [0.375, 0.375, 0.375] - }, - "firstperson_righthand": { - "rotation": [0, 45, 0], - "translation": [3.75, 0, 0], - "scale": [0.4, 0.4, 0.4] - }, - "firstperson_lefthand": { - "rotation": [0, 225, 0], - "translation": [4.25, 0, 0], - "scale": [0.4, 0.4, 0.4] - }, - "ground": { - "translation": [0, 2, 0], - "scale": [0.5, 0.5, 0.5] - }, - "gui": { - "rotation": [30, 225, 0], - "translation": [0, -1.25, 0], - "scale": [0.525, 0.525, 0.525] - }, - "head": { - "translation": [0, -2.75, 0] - }, - "fixed": { - "scale": [0.5, 0.5, 0.5] - } - }, - "groups": [ - { - "name": "VoxelShapes", - "origin": [0, 0, 0], - "color": 0, - "nbt": "{}", - "armAnimationEnabled": false, - "children": [ - { - "name": "group", - "origin": [0, 0, 0], - "color": 0, - "nbt": "{}", - "armAnimationEnabled": false, - "children": [0, 1, 2] - }, - { - "name": "group", - "origin": [0, 0, 0], - "color": 0, - "nbt": "{}", - "armAnimationEnabled": false, - "children": [3, 4, 5] - }, - { - "name": "group", - "origin": [0, 0, 0], - "color": 0, - "nbt": "{}", - "armAnimationEnabled": false, - "children": [6, 7, 8] - }, - { - "name": "group", - "origin": [0, 0, 0], - "color": 0, - "nbt": "{}", - "armAnimationEnabled": false, - "children": [9, 10, 11] - }, - { - "name": "group", - "origin": [0, 0, 0], - "color": 0, - "nbt": "{}", - "armAnimationEnabled": false, - "children": [12, 13, 14, 15, 16, 17, 18] - }, - 19, - 20 - ] - }, - { - "name": "group", - "origin": [2, 0, 8], - "color": 0, - "nbt": "{}", - "armAnimationEnabled": false, - "children": [21, 22] - }, - { - "name": "group", - "origin": [2, 0, 8], - "color": 0, - "nbt": "{}", - "armAnimationEnabled": false, - "children": [23, 24] - }, - { - "name": "group", - "origin": [2, 0, 8], - "color": 0, - "nbt": "{}", - "armAnimationEnabled": false, - "children": [25, 26] - }, - { - "name": "group", - "origin": [2, 0, 8], - "color": 0, - "nbt": "{}", - "armAnimationEnabled": false, - "children": [27, 28] - }, - { - "name": "group", - "origin": [8, 7, 8], - "color": 0, - "nbt": "{}", - "armAnimationEnabled": false, - "children": [29, 30] - }, - { - "name": "group", - "origin": [8, 7, 8], - "color": 0, - "nbt": "{}", - "armAnimationEnabled": false, - "children": [31, 32] - }, - 33 - ] + "credit": "Made with Blockbench", + "texture_size": [ + 128, + 128 + ], + "render_type": "cutout", + "textures": { + "main_texture": "tardis_refined:block/transformer_on", + "particle": "block/lapis_block" + }, + "elements": [ + { + "from": [ + 0.5, + 5, + 13.5 + ], + "to": [ + 2.5, + 10, + 15.5 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 0, + 0, + 16 + ] + }, + "faces": { + "north": { + "uv": [ + 8.25, + 0.75, + 8.5, + 1.375 + ], + "texture": "#main_texture" + }, + "east": { + "uv": [ + 8.25, + 1.5, + 8.5, + 2.125 + ], + "texture": "#main_texture" + }, + "south": { + "uv": [ + 8.25, + 2.25, + 8.5, + 2.875 + ], + "texture": "#main_texture" + }, + "west": { + "uv": [ + 8.25, + 3, + 8.5, + 3.625 + ], + "texture": "#main_texture" + }, + "up": { + "uv": [ + 2.25, + 8.625, + 2, + 8.375 + ], + "texture": "#main_texture" + }, + "down": { + "uv": [ + 2.625, + 8.375, + 2.375, + 8.625 + ], + "texture": "#main_texture" + } + } + }, + { + "from": [ + 1.5, + 10, + 13.5 + ], + "to": [ + 1.5, + 18, + 15.5 + ], + "rotation": { + "angle": -45, + "axis": "y", + "origin": [ + 1.5, + 14, + 14.5 + ] + }, + "faces": { + "east": { + "uv": [ + 2, + 7.25, + 2.25, + 8.25 + ], + "texture": "#main_texture" + }, + "west": { + "uv": [ + 7.5, + 2, + 7.75, + 3 + ], + "texture": "#main_texture" + } + } + }, + { + "from": [ + 0, + 0, + 13 + ], + "to": [ + 3, + 5, + 16 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 0, + 0, + 16 + ] + }, + "faces": { + "north": { + "uv": [ + 5.875, + 7.625, + 6.25, + 8.25 + ], + "texture": "#main_texture" + }, + "east": { + "uv": [ + 7.625, + 7.125, + 8, + 7.75 + ], + "texture": "#main_texture" + }, + "south": { + "uv": [ + 6.375, + 7.75, + 6.75, + 8.375 + ], + "texture": "#main_texture" + }, + "west": { + "uv": [ + 0, + 7.875, + 0.375, + 8.5 + ], + "texture": "#main_texture" + }, + "up": { + "uv": [ + 5.25, + 8.625, + 4.875, + 8.25 + ], + "texture": "#main_texture" + }, + "down": { + "uv": [ + 8.625, + 5.25, + 8.25, + 5.625 + ], + "texture": "#main_texture" + } + } + }, + { + "from": [ + 0.5, + 5, + 0.5 + ], + "to": [ + 2.5, + 10, + 2.5 + ], + "faces": { + "north": { + "uv": [ + 7.875, + 0.75, + 8.125, + 1.375 + ], + "texture": "#main_texture" + }, + "east": { + "uv": [ + 1.25, + 7.875, + 1.5, + 8.5 + ], + "texture": "#main_texture" + }, + "south": { + "uv": [ + 7.875, + 1.5, + 8.125, + 2.125 + ], + "texture": "#main_texture" + }, + "west": { + "uv": [ + 1.625, + 7.875, + 1.875, + 8.5 + ], + "texture": "#main_texture" + }, + "up": { + "uv": [ + 5.125, + 3.75, + 4.875, + 3.5 + ], + "texture": "#main_texture" + }, + "down": { + "uv": [ + 6.5, + 4.5, + 6.25, + 4.75 + ], + "texture": "#main_texture" + } + } + }, + { + "from": [ + 1.5, + 10, + 0.5 + ], + "to": [ + 1.5, + 18, + 2.5 + ], + "rotation": { + "angle": 45, + "axis": "y", + "origin": [ + 1.5, + 14, + 1.5 + ] + }, + "faces": { + "east": { + "uv": [ + 5.75, + 6.5, + 6, + 7.5 + ], + "texture": "#main_texture" + }, + "west": { + "uv": [ + 6.125, + 6.5, + 6.375, + 7.5 + ], + "texture": "#main_texture" + } + } + }, + { + "from": [ + 0, + 0, + 0 + ], + "to": [ + 3, + 5, + 3 + ], + "faces": { + "north": { + "uv": [ + 7.375, + 0.625, + 7.75, + 1.25 + ], + "texture": "#main_texture" + }, + "east": { + "uv": [ + 7.375, + 3.125, + 7.75, + 3.75 + ], + "texture": "#main_texture" + }, + "south": { + "uv": [ + 3.875, + 7.5, + 4.25, + 8.125 + ], + "texture": "#main_texture" + }, + "west": { + "uv": [ + 4.375, + 7.5, + 4.75, + 8.125 + ], + "texture": "#main_texture" + }, + "up": { + "uv": [ + 2, + 4.625, + 1.625, + 4.25 + ], + "texture": "#main_texture" + }, + "down": { + "uv": [ + 8.5, + 7.25, + 8.125, + 7.625 + ], + "texture": "#main_texture" + } + } + }, + { + "from": [ + 13.5, + 5, + 0.5 + ], + "to": [ + 15.5, + 10, + 2.5 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 16, + 0, + 0 + ] + }, + "faces": { + "north": { + "uv": [ + 7.875, + 2.25, + 8.125, + 2.875 + ], + "texture": "#main_texture" + }, + "east": { + "uv": [ + 7.875, + 3, + 8.125, + 3.625 + ], + "texture": "#main_texture" + }, + "south": { + "uv": [ + 7.875, + 4.25, + 8.125, + 4.875 + ], + "texture": "#main_texture" + }, + "west": { + "uv": [ + 7.875, + 5, + 8.125, + 5.625 + ], + "texture": "#main_texture" + }, + "up": { + "uv": [ + 7.125, + 8.5, + 6.875, + 8.25 + ], + "texture": "#main_texture" + }, + "down": { + "uv": [ + 7.5, + 8.25, + 7.25, + 8.5 + ], + "texture": "#main_texture" + } + } + }, + { + "from": [ + 14.5, + 10, + 0.5 + ], + "to": [ + 14.5, + 18, + 2.5 + ], + "rotation": { + "angle": -45, + "axis": "y", + "origin": [ + 14.5, + 14, + 1.5 + ] + }, + "faces": { + "east": { + "uv": [ + 0, + 6.75, + 0.25, + 7.75 + ], + "texture": "#main_texture" + }, + "west": { + "uv": [ + 0.375, + 6.75, + 0.625, + 7.75 + ], + "texture": "#main_texture" + } + } + }, + { + "from": [ + 13, + 0, + 0 + ], + "to": [ + 16, + 5, + 3 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 16, + 0, + 0 + ] + }, + "faces": { + "north": { + "uv": [ + 4.875, + 7.5, + 5.25, + 8.125 + ], + "texture": "#main_texture" + }, + "east": { + "uv": [ + 7.5, + 6.375, + 7.875, + 7 + ], + "texture": "#main_texture" + }, + "south": { + "uv": [ + 7.125, + 7.5, + 7.5, + 8.125 + ], + "texture": "#main_texture" + }, + "west": { + "uv": [ + 0.75, + 7.625, + 1.125, + 8.25 + ], + "texture": "#main_texture" + }, + "up": { + "uv": [ + 4.25, + 8.625, + 3.875, + 8.25 + ], + "texture": "#main_texture" + }, + "down": { + "uv": [ + 8.625, + 4.25, + 8.25, + 4.625 + ], + "texture": "#main_texture" + } + } + }, + { + "from": [ + 13.5, + 5, + 13.5 + ], + "to": [ + 15.5, + 10, + 15.5 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 16, + 0, + 16 + ] + }, + "faces": { + "north": { + "uv": [ + 7.625, + 7.875, + 7.875, + 8.5 + ], + "texture": "#main_texture" + }, + "east": { + "uv": [ + 8, + 5.75, + 8.25, + 6.375 + ], + "texture": "#main_texture" + }, + "south": { + "uv": [ + 8, + 7.875, + 8.25, + 8.5 + ], + "texture": "#main_texture" + }, + "west": { + "uv": [ + 8.125, + 6.5, + 8.375, + 7.125 + ], + "texture": "#main_texture" + }, + "up": { + "uv": [ + 0.75, + 8.625, + 0.5, + 8.375 + ], + "texture": "#main_texture" + }, + "down": { + "uv": [ + 1.125, + 8.375, + 0.875, + 8.625 + ], + "texture": "#main_texture" + } + } + }, + { + "from": [ + 14.5, + 10, + 13.5 + ], + "to": [ + 14.5, + 18, + 15.5 + ], + "rotation": { + "angle": 45, + "axis": "y", + "origin": [ + 14.5, + 14, + 14.5 + ] + }, + "faces": { + "east": { + "uv": [ + 7.125, + 2, + 7.375, + 3 + ], + "texture": "#main_texture" + }, + "west": { + "uv": [ + 7.125, + 6.375, + 7.375, + 7.375 + ], + "texture": "#main_texture" + } + } + }, + { + "from": [ + 13, + 0, + 13 + ], + "to": [ + 16, + 5, + 16 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 16, + 0, + 16 + ] + }, + "faces": { + "north": { + "uv": [ + 2.375, + 7.625, + 2.75, + 8.25 + ], + "texture": "#main_texture" + }, + "east": { + "uv": [ + 2.875, + 7.625, + 3.25, + 8.25 + ], + "texture": "#main_texture" + }, + "south": { + "uv": [ + 3.375, + 7.625, + 3.75, + 8.25 + ], + "texture": "#main_texture" + }, + "west": { + "uv": [ + 5.375, + 7.625, + 5.75, + 8.25 + ], + "texture": "#main_texture" + }, + "up": { + "uv": [ + 4.75, + 8.625, + 4.375, + 8.25 + ], + "texture": "#main_texture" + }, + "down": { + "uv": [ + 8.625, + 4.75, + 8.25, + 5.125 + ], + "texture": "#main_texture" + } + } + }, + { + "from": [ + 12.5, + 17.5, + 12.5 + ], + "to": [ + 16.5, + 21.5, + 16.5 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 16, + 0, + 16 + ] + }, + "faces": { + "north": { + "uv": [ + 3.875, + 6.875, + 4.375, + 7.375 + ], + "texture": "#main_texture" + }, + "east": { + "uv": [ + 6.875, + 3.875, + 7.375, + 4.375 + ], + "texture": "#main_texture" + }, + "south": { + "uv": [ + 4.5, + 6.875, + 5, + 7.375 + ], + "texture": "#main_texture" + }, + "west": { + "uv": [ + 5.125, + 6.875, + 5.625, + 7.375 + ], + "texture": "#main_texture" + }, + "up": { + "uv": [ + 1.25, + 7.5, + 0.75, + 7 + ], + "texture": "#main_texture" + }, + "down": { + "uv": [ + 7.625, + 0, + 7.125, + 0.5 + ], + "texture": "#main_texture" + } + } + }, + { + "from": [ + 0, + 19, + 0 + ], + "to": [ + 16, + 19, + 16 + ], + "faces": { + "up": { + "uv": [ + 2, + 2, + 0, + 0 + ], + "texture": "#main_texture" + }, + "down": { + "uv": [ + 2, + 2.125, + 0, + 4.125 + ], + "texture": "#main_texture" + } + } + }, + { + "from": [ + 12.5, + 17.5, + -0.5 + ], + "to": [ + 16.5, + 21.5, + 3.5 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 16, + 0, + 0 + ] + }, + "faces": { + "north": { + "uv": [ + 6.5, + 6.5, + 7, + 7 + ], + "texture": "#main_texture" + }, + "east": { + "uv": [ + 6.625, + 1.375, + 7.125, + 1.875 + ], + "texture": "#main_texture" + }, + "south": { + "uv": [ + 1.5, + 6.625, + 2, + 7.125 + ], + "texture": "#main_texture" + }, + "west": { + "uv": [ + 6.625, + 4.5, + 7.125, + 5 + ], + "texture": "#main_texture" + }, + "up": { + "uv": [ + 7.125, + 5.625, + 6.625, + 5.125 + ], + "texture": "#main_texture" + }, + "down": { + "uv": [ + 7.125, + 5.75, + 6.625, + 6.25 + ], + "texture": "#main_texture" + } + } + }, + { + "from": [ + -0.5, + 17.5, + -0.5 + ], + "to": [ + 3.5, + 21.5, + 3.5 + ], + "faces": { + "north": { + "uv": [ + 3.875, + 6.25, + 4.375, + 6.75 + ], + "texture": "#main_texture" + }, + "east": { + "uv": [ + 6.25, + 3.875, + 6.75, + 4.375 + ], + "texture": "#main_texture" + }, + "south": { + "uv": [ + 4.5, + 6.25, + 5, + 6.75 + ], + "texture": "#main_texture" + }, + "west": { + "uv": [ + 5.125, + 6.25, + 5.625, + 6.75 + ], + "texture": "#main_texture" + }, + "up": { + "uv": [ + 1.375, + 6.875, + 0.875, + 6.375 + ], + "texture": "#main_texture" + }, + "down": { + "uv": [ + 7, + 2.5, + 6.5, + 3 + ], + "texture": "#main_texture" + } + } + }, + { + "from": [ + -0.5, + 17.5, + 12.5 + ], + "to": [ + 3.5, + 21.5, + 16.5 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 0, + 0, + 16 + ] + }, + "faces": { + "north": { + "uv": [ + 6.5, + 7.125, + 7, + 7.625 + ], + "texture": "#main_texture" + }, + "east": { + "uv": [ + 1.375, + 7.25, + 1.875, + 7.75 + ], + "texture": "#main_texture" + }, + "south": { + "uv": [ + 7.25, + 1.375, + 7.75, + 1.875 + ], + "texture": "#main_texture" + }, + "west": { + "uv": [ + 7.25, + 4.5, + 7.75, + 5 + ], + "texture": "#main_texture" + }, + "up": { + "uv": [ + 7.75, + 5.625, + 7.25, + 5.125 + ], + "texture": "#main_texture" + }, + "down": { + "uv": [ + 7.75, + 5.75, + 7.25, + 6.25 + ], + "texture": "#main_texture" + } + } + }, + { + "from": [ + 2, + 17, + 2 + ], + "to": [ + 14, + 20, + 14 + ], + "faces": { + "north": { + "uv": [ + 4.875, + 2.5, + 6.375, + 2.875 + ], + "texture": "#main_texture" + }, + "east": { + "uv": [ + 4.875, + 3, + 6.375, + 3.375 + ], + "texture": "#main_texture" + }, + "south": { + "uv": [ + 2.5, + 5.125, + 4, + 5.5 + ], + "texture": "#main_texture" + }, + "west": { + "uv": [ + 4.125, + 5.125, + 5.625, + 5.5 + ], + "texture": "#main_texture" + }, + "up": { + "uv": [ + 3.625, + 4.75, + 2.125, + 3.25 + ], + "texture": "#main_texture" + }, + "down": { + "uv": [ + 5.25, + 0, + 3.75, + 1.5 + ], + "texture": "#main_texture" + } + } + }, + { + "from": [ + 5, + 15.5, + 5 + ], + "to": [ + 11, + 17.5, + 11 + ], + "faces": { + "north": { + "uv": [ + 6.5, + 3.125, + 7.25, + 3.375 + ], + "texture": "#main_texture" + }, + "east": { + "uv": [ + 7.5, + 3.875, + 8.25, + 4.125 + ], + "texture": "#main_texture" + }, + "south": { + "uv": [ + 7.75, + 0, + 8.5, + 0.25 + ], + "texture": "#main_texture" + }, + "west": { + "uv": [ + 7.875, + 0.375, + 8.625, + 0.625 + ], + "texture": "#main_texture" + }, + "up": { + "uv": [ + 6.125, + 0.75, + 5.375, + 0 + ], + "texture": "#main_texture" + }, + "down": { + "uv": [ + 6.125, + 3.5, + 5.375, + 4.25 + ], + "texture": "#main_texture" + } + } + }, + { + "from": [ + 2, + 0, + 2 + ], + "to": [ + 14, + 4, + 14 + ], + "faces": { + "north": { + "uv": [ + 3.75, + 3.875, + 5.25, + 4.375 + ], + "texture": "#main_texture" + }, + "east": { + "uv": [ + 0, + 4.25, + 1.5, + 4.75 + ], + "texture": "#main_texture" + }, + "south": { + "uv": [ + 3.75, + 4.5, + 5.25, + 5 + ], + "texture": "#main_texture" + }, + "west": { + "uv": [ + 0, + 4.875, + 1.5, + 5.375 + ], + "texture": "#main_texture" + }, + "up": { + "uv": [ + 3.625, + 1.5, + 2.125, + 0 + ], + "texture": "#main_texture" + }, + "down": { + "uv": [ + 3.625, + 1.625, + 2.125, + 3.125 + ], + "texture": "#main_texture" + } + } + }, + { + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 6, + 12 + ], + "faces": { + "north": { + "uv": [ + 5.75, + 2.125, + 6.75, + 2.375 + ], + "texture": "#main_texture" + }, + "east": { + "uv": [ + 6.25, + 0.625, + 7.25, + 0.875 + ], + "texture": "#main_texture" + }, + "south": { + "uv": [ + 6.25, + 1, + 7.25, + 1.25 + ], + "texture": "#main_texture" + }, + "west": { + "uv": [ + 6.25, + 3.5, + 7.25, + 3.75 + ], + "texture": "#main_texture" + }, + "up": { + "uv": [ + 4.75, + 2.625, + 3.75, + 1.625 + ], + "texture": "#main_texture" + }, + "down": { + "uv": [ + 4.75, + 2.75, + 3.75, + 3.75 + ], + "texture": "#main_texture" + } + } + }, + { + "from": [ + 5, + 8.24264, + 8.24264 + ], + "to": [ + 11, + 8.24264, + 12.24264 + ], + "rotation": { + "angle": 45, + "axis": "x", + "origin": [ + 8, + 0, + 8 + ] + }, + "faces": { + "up": { + "uv": [ + 6.125, + 1.375, + 5.375, + 0.875 + ], + "texture": "#main_texture" + }, + "down": { + "uv": [ + 6.125, + 4.875, + 5.375, + 4.375 + ], + "texture": "#main_texture" + } + } + }, + { + "from": [ + 5, + 4.24264, + 12.24264 + ], + "to": [ + 11, + 8.24264, + 12.24264 + ], + "rotation": { + "angle": 45, + "axis": "x", + "origin": [ + 8, + 0, + 8 + ] + }, + "faces": { + "north": { + "uv": [ + 0, + 5.5, + 0.75, + 6 + ], + "texture": "#main_texture" + }, + "south": { + "uv": [ + 2.5, + 5.625, + 3.25, + 6.125 + ], + "texture": "#main_texture" + } + } + }, + { + "from": [ + 3.75736, + 8.24264, + 5 + ], + "to": [ + 7.75736, + 8.24264, + 11 + ], + "rotation": { + "angle": 45, + "axis": "z", + "origin": [ + 8, + 0, + 8 + ] + }, + "faces": { + "up": { + "uv": [ + 6.125, + 1.375, + 5.375, + 0.875 + ], + "rotation": 90, + "texture": "#main_texture" + }, + "down": { + "uv": [ + 5.375, + 0.875, + 6.125, + 1.375 + ], + "rotation": 270, + "texture": "#main_texture" + } + } + }, + { + "from": [ + 3.75736, + 4.24264, + 5 + ], + "to": [ + 3.75736, + 8.24264, + 11 + ], + "rotation": { + "angle": 45, + "axis": "z", + "origin": [ + 8, + 0, + 8 + ] + }, + "faces": { + "east": { + "uv": [ + 3.375, + 5.625, + 4.125, + 6.125 + ], + "texture": "#main_texture" + }, + "west": { + "uv": [ + 4.25, + 5.625, + 5, + 6.125 + ], + "texture": "#main_texture" + } + } + }, + { + "from": [ + 5, + 8.24264, + 3.75736 + ], + "to": [ + 11, + 8.24264, + 7.75736 + ], + "rotation": { + "angle": -45, + "axis": "x", + "origin": [ + 8, + 0, + 8 + ] + }, + "faces": { + "up": { + "uv": [ + 5.875, + 6.125, + 5.125, + 5.625 + ], + "texture": "#main_texture" + }, + "down": { + "uv": [ + 1.625, + 6.25, + 0.875, + 5.75 + ], + "texture": "#main_texture" + } + } + }, + { + "from": [ + 5, + 4.24264, + 3.75736 + ], + "to": [ + 11, + 8.24264, + 3.75736 + ], + "rotation": { + "angle": -45, + "axis": "x", + "origin": [ + 8, + 0, + 8 + ] + }, + "faces": { + "north": { + "uv": [ + 5.75, + 1.5, + 6.5, + 2 + ], + "texture": "#main_texture" + }, + "south": { + "uv": [ + 5.75, + 5, + 6.5, + 5.5 + ], + "texture": "#main_texture" + } + } + }, + { + "from": [ + 8.24264, + 8.24264, + 5 + ], + "to": [ + 12.24264, + 8.24264, + 11 + ], + "rotation": { + "angle": -45, + "axis": "z", + "origin": [ + 8, + 0, + 8 + ] + }, + "faces": { + "up": { + "uv": [ + 2.25, + 6.5, + 1.75, + 5.75 + ], + "texture": "#main_texture" + }, + "down": { + "uv": [ + 6.5, + 5.625, + 6, + 6.375 + ], + "texture": "#main_texture" + } + } + }, + { + "from": [ + 12.24264, + 4.24264, + 5 + ], + "to": [ + 12.24264, + 8.24264, + 11 + ], + "rotation": { + "angle": -45, + "axis": "z", + "origin": [ + 8, + 0, + 8 + ] + }, + "faces": { + "east": { + "uv": [ + 0, + 6.125, + 0.75, + 6.625 + ], + "texture": "#main_texture" + }, + "west": { + "uv": [ + 6.25, + 0, + 7, + 0.5 + ], + "texture": "#main_texture" + } + } + }, + { + "from": [ + 2, + 6, + 8 + ], + "to": [ + 14, + 16, + 8 + ], + "rotation": { + "angle": 45, + "axis": "y", + "origin": [ + 8, + 7, + 8 + ] + }, + "faces": { + "north": { + "uv": [ + 1.5, + 8.875, + 0, + 10.125 + ], + "texture": "#main_texture" + }, + "south": { + "uv": [ + 0, + 8.875, + 1.5, + 10.125 + ], + "texture": "#main_texture" + } + } + }, + { + "from": [ + 2, + 6, + 8 + ], + "to": [ + 14, + 16, + 8 + ], + "rotation": { + "angle": -45, + "axis": "y", + "origin": [ + 8, + 7, + 8 + ] + }, + "faces": { + "north": { + "uv": [ + 1.5, + 8.875, + 0, + 10.125 + ], + "texture": "#main_texture" + }, + "south": { + "uv": [ + 0, + 8.875, + 1.5, + 10.125 + ], + "texture": "#main_texture" + } + } + }, + { + "from": [ + 7, + 6, + 8 + ], + "to": [ + 9, + 16, + 8 + ], + "rotation": { + "angle": 45, + "axis": "y", + "origin": [ + 8, + 7, + 8 + ] + }, + "faces": { + "north": { + "uv": [ + 2.375, + 6.25, + 2.625, + 7.5 + ], + "texture": "#main_texture" + }, + "south": { + "uv": [ + 2.75, + 6.25, + 3, + 7.5 + ], + "texture": "#main_texture" + } + } + }, + { + "from": [ + 7, + 6, + 8 + ], + "to": [ + 9, + 16, + 8 + ], + "rotation": { + "angle": -45, + "axis": "y", + "origin": [ + 8, + 7, + 8 + ] + }, + "faces": { + "north": { + "uv": [ + 3.125, + 6.25, + 3.375, + 7.5 + ], + "texture": "#main_texture" + }, + "south": { + "uv": [ + 3.5, + 6.25, + 3.75, + 7.5 + ], + "texture": "#main_texture" + } + } + }, + { + "from": [ + 5, + 9, + 5 + ], + "to": [ + 11, + 9, + 11 + ], + "faces": { + "up": { + "uv": [ + 2.375, + 5.625, + 1.625, + 4.875 + ], + "texture": "#main_texture" + }, + "down": { + "uv": [ + 5.625, + 1.625, + 4.875, + 2.375 + ], + "texture": "#main_texture" + } + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [ + 75, + 45, + 0 + ], + "translation": [ + 0, + 2.5, + 0 + ], + "scale": [ + 0.375, + 0.375, + 0.375 + ] + }, + "thirdperson_lefthand": { + "rotation": [ + 75, + 45, + 0 + ], + "translation": [ + 0, + 2.5, + 0 + ], + "scale": [ + 0.375, + 0.375, + 0.375 + ] + }, + "firstperson_righthand": { + "rotation": [ + 0, + 45, + 0 + ], + "translation": [ + 3.75, + 0, + 0 + ], + "scale": [ + 0.4, + 0.4, + 0.4 + ] + }, + "firstperson_lefthand": { + "rotation": [ + 0, + 225, + 0 + ], + "translation": [ + 4.25, + 0, + 0 + ], + "scale": [ + 0.4, + 0.4, + 0.4 + ] + }, + "ground": { + "translation": [ + 0, + 2, + 0 + ], + "scale": [ + 0.5, + 0.5, + 0.5 + ] + }, + "gui": { + "rotation": [ + 30, + 225, + 0 + ], + "translation": [ + 0, + -1.25, + 0 + ], + "scale": [ + 0.525, + 0.525, + 0.525 + ] + }, + "head": { + "translation": [ + 0, + -2.75, + 0 + ] + }, + "fixed": { + "scale": [ + 0.5, + 0.5, + 0.5 + ] + } + }, + "groups": [ + { + "name": "VoxelShapes", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "nbt": "{}", + "armAnimationEnabled": false, + "children": [ + { + "name": "group", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "nbt": "{}", + "armAnimationEnabled": false, + "children": [ + 0, + 1, + 2 + ] + }, + { + "name": "group", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "nbt": "{}", + "armAnimationEnabled": false, + "children": [ + 3, + 4, + 5 + ] + }, + { + "name": "group", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "nbt": "{}", + "armAnimationEnabled": false, + "children": [ + 6, + 7, + 8 + ] + }, + { + "name": "group", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "nbt": "{}", + "armAnimationEnabled": false, + "children": [ + 9, + 10, + 11 + ] + }, + { + "name": "group", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "nbt": "{}", + "armAnimationEnabled": false, + "children": [ + 12, + 13, + 14, + 15, + 16, + 17, + 18 + ] + }, + 19, + 20 + ] + }, + { + "name": "group", + "origin": [ + 2, + 0, + 8 + ], + "color": 0, + "nbt": "{}", + "armAnimationEnabled": false, + "children": [ + 21, + 22 + ] + }, + { + "name": "group", + "origin": [ + 2, + 0, + 8 + ], + "color": 0, + "nbt": "{}", + "armAnimationEnabled": false, + "children": [ + 23, + 24 + ] + }, + { + "name": "group", + "origin": [ + 2, + 0, + 8 + ], + "color": 0, + "nbt": "{}", + "armAnimationEnabled": false, + "children": [ + 25, + 26 + ] + }, + { + "name": "group", + "origin": [ + 2, + 0, + 8 + ], + "color": 0, + "nbt": "{}", + "armAnimationEnabled": false, + "children": [ + 27, + 28 + ] + }, + { + "name": "group", + "origin": [ + 8, + 7, + 8 + ], + "color": 0, + "nbt": "{}", + "armAnimationEnabled": false, + "children": [ + 29, + 30 + ] + }, + { + "name": "group", + "origin": [ + 8, + 7, + 8 + ], + "color": 0, + "nbt": "{}", + "armAnimationEnabled": false, + "children": [ + 31, + 32 + ] + }, + 33 + ] } \ No newline at end of file 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 4e2035667..4237a8d96 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,180 +1,917 @@ { - "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] - } - } + "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 + ] + } + } } \ No newline at end of file diff --git a/common/src/main/resources/assets/tardis_refined/models/item/console_configuration.json b/common/src/main/resources/assets/tardis_refined/models/item/console_configuration.json index 91cb51e82..293394a86 100644 --- a/common/src/main/resources/assets/tardis_refined/models/item/console_configuration.json +++ b/common/src/main/resources/assets/tardis_refined/models/item/console_configuration.json @@ -1,169 +1,743 @@ { - "credit": "Made with Blockbench", - "texture_size": [64, 64], - "textures": { - "3": "tardis_refined:block/console_configuration", - "particle": "tardis_refined:block/console_configuration" - }, - "elements": [ - { - "from": [2, 0, 2], - "to": [14, 4, 14], - "faces": { - "north": {"uv": [3.25, 2.25, 6.25, 3.25], "texture": "#3"}, - "east": {"uv": [0, 6.5, 3, 7.5], "texture": "#3"}, - "south": {"uv": [3.25, 2.25, 6.25, 3.25], "texture": "#3"}, - "west": {"uv": [0, 6.5, 3, 7.5], "texture": "#3"}, - "up": {"uv": [3, 3, 0, 0], "texture": "#3"}, - "down": {"uv": [3, 3.25, 0, 6.25], "texture": "#3"} - } - }, - { - "from": [5, 1, 0], - "to": [11, 2, 2], - "faces": { - "north": {"uv": [3.25, 5, 4.75, 5.25], "texture": "#3"}, - "east": {"uv": [3.25, 3.5, 3.75, 3.75], "texture": "#3"}, - "south": {"uv": [3.25, 5, 4.75, 5.25], "texture": "#3"}, - "west": {"uv": [3.25, 3.5, 3.75, 3.75], "texture": "#3"}, - "up": {"uv": [5.5, 4, 4, 3.5], "texture": "#3"}, - "down": {"uv": [4.75, 4.25, 3.25, 4.75], "texture": "#3"} - } - }, - { - "from": [4, 4, 4], - "to": [12, 6, 12], - "faces": { - "north": {"uv": [5.5, 1.5, 7.5, 2], "texture": "#3"}, - "east": {"uv": [5.5, 1.5, 7.5, 2], "texture": "#3"}, - "south": {"uv": [5.5, 1.5, 7.5, 2], "texture": "#3"}, - "west": {"uv": [5.5, 1.5, 7.5, 2], "texture": "#3"}, - "up": {"uv": [5.25, 2, 3.25, 0], "texture": "#3"}, - "down": {"uv": [5.25, 0, 3.25, 2], "texture": "#3"} - } - }, - { - "from": [-6, 4, 8], - "to": [4, 6, 8], - "rotation": {"angle": -45, "axis": "z", "origin": [4, 4, 8]}, - "faces": { - "north": {"uv": [0, 7.75, 2.5, 8.25], "texture": "#3"}, - "east": {"uv": [2.75, 7.75, 2.75, 8.25], "texture": "#3"}, - "south": {"uv": [2.5, 7.75, 0, 8.25], "texture": "#3"}, - "west": {"uv": [3, 7.75, 3, 8.25], "texture": "#3"}, - "up": {"uv": [11.25, 4.25, 8.75, 4.25], "texture": "#3"}, - "down": {"uv": [2.5, 9.25, 0, 9.25], "texture": "#3"} - } - }, - { - "from": [12, 4, 8], - "to": [22, 6, 8], - "rotation": {"angle": 45, "axis": "z", "origin": [12, 4, 8]}, - "faces": { - "north": {"uv": [2.5, 7.75, 0, 8.25], "texture": "#3"}, - "east": {"uv": [5, 7.75, 5, 8.25], "texture": "#3"}, - "south": {"uv": [0, 7.75, 2.5, 8.25], "texture": "#3"}, - "west": {"uv": [5.25, 7.75, 5.25, 8.25], "texture": "#3"}, - "up": {"uv": [5.25, 9.25, 2.75, 9.25], "texture": "#3"}, - "down": {"uv": [8, 9.25, 5.5, 9.25], "texture": "#3"} - } - }, - { - "from": [5, 9, 5], - "to": [11, 9, 11], - "faces": { - "north": {"uv": [2.5, 11.5, 4, 11.5], "texture": "#3"}, - "east": {"uv": [1, 11.5, 2.5, 11.5], "texture": "#3"}, - "south": {"uv": [5.5, 11.5, 7, 11.5], "texture": "#3"}, - "west": {"uv": [4, 11.5, 5.5, 11.5], "texture": "#3"}, - "up": {"uv": [4.75, 7, 3.25, 5.5], "texture": "#3"}, - "down": {"uv": [4.75, 5.5, 3.25, 7], "texture": "#3"} - } - }, - { - "from": [2, 6, 8], - "to": [14, 11, 8], - "rotation": {"angle": 45, "axis": "y", "origin": [8, 7, 8]}, - "faces": { - "north": {"uv": [5.5, 0, 8.5, 1.25], "texture": "#3"}, - "east": {"uv": [1, 9.5, 1, 12], "texture": "#3"}, - "south": {"uv": [5.5, 0, 8.5, 1.25], "texture": "#3"}, - "west": {"uv": [1.5, 9.5, 1.5, 12], "texture": "#3"}, - "up": {"uv": [1.5, 9.5, 1, 9.5], "texture": "#3"}, - "down": {"uv": [2, 9.5, 1.5, 9.5], "texture": "#3"} - } - }, - { - "from": [2, 6, 8], - "to": [14, 11, 8], - "rotation": {"angle": -45, "axis": "y", "origin": [8, 7, 8]}, - "faces": { - "north": {"uv": [5.5, 0, 8.5, 1.25], "texture": "#3"}, - "east": {"uv": [1, 9.5, 1, 12], "texture": "#3"}, - "south": {"uv": [5.5, 0, 8.5, 1.25], "texture": "#3"}, - "west": {"uv": [1.5, 9.5, 1.5, 12], "texture": "#3"}, - "up": {"uv": [1.5, 9.5, 1, 9.5], "texture": "#3"}, - "down": {"uv": [2, 9.5, 1.5, 9.5], "texture": "#3"} - } - } - ], - "display": { - "thirdperson_righthand": { - "rotation": [75, 45, 0], - "translation": [0, 2.5, 2.25], - "scale": [0.375, 0.375, 0.375] - }, - "thirdperson_lefthand": { - "rotation": [75, 45, 0], - "translation": [0, 2.5, 2.25], - "scale": [0.375, 0.375, 0.375] - }, - "firstperson_righthand": { - "rotation": [0, 45, 0], - "translation": [0.75, 3, 0.25], - "scale": [0.4, 0.4, 0.4] - }, - "firstperson_lefthand": { - "rotation": [0, 45, 0], - "translation": [0.75, 3, 0.25], - "scale": [0.4, 0.4, 0.4] - }, - "ground": { - "translation": [0, 3, 0], - "scale": [0.25, 0.25, 0.25] - }, - "gui": { - "rotation": [30, 225, 0], - "translation": [0, 2.25, 0], - "scale": [0.75, 0.75, 0.75] - }, - "head": { - "translation": [0, 14.5, 0] - }, - "fixed": { - "translation": [0, 1.75, -0.25], - "scale": [0.75, 0.75, 0.75] - } - }, - "groups": [ - 0, - 1, - 2, - 3, - 4, - 5, - { - "name": "group", - "origin": [0, 0, 0], - "color": 0, - "children": [ - { - "name": "group", - "origin": [8, 7, 8], - "color": 0, - "children": [6, 7] - } - ] - } - ] + "credit": "Made with Blockbench", + "texture_size": [ + 64, + 64 + ], + "textures": { + "3": "tardis_refined:block/console_configuration", + "particle": "tardis_refined:block/console_configuration" + }, + "elements": [ + { + "from": [ + 2, + 0, + 2 + ], + "to": [ + 14, + 4, + 14 + ], + "faces": { + "north": { + "uv": [ + 3.25, + 2.25, + 6.25, + 3.25 + ], + "texture": "#3" + }, + "east": { + "uv": [ + 0, + 6.5, + 3, + 7.5 + ], + "texture": "#3" + }, + "south": { + "uv": [ + 3.25, + 2.25, + 6.25, + 3.25 + ], + "texture": "#3" + }, + "west": { + "uv": [ + 0, + 6.5, + 3, + 7.5 + ], + "texture": "#3" + }, + "up": { + "uv": [ + 3, + 3, + 0, + 0 + ], + "texture": "#3" + }, + "down": { + "uv": [ + 3, + 3.25, + 0, + 6.25 + ], + "texture": "#3" + } + } + }, + { + "from": [ + 5, + 1, + 0 + ], + "to": [ + 11, + 2, + 2 + ], + "faces": { + "north": { + "uv": [ + 3.25, + 5, + 4.75, + 5.25 + ], + "texture": "#3" + }, + "east": { + "uv": [ + 3.25, + 3.5, + 3.75, + 3.75 + ], + "texture": "#3" + }, + "south": { + "uv": [ + 3.25, + 5, + 4.75, + 5.25 + ], + "texture": "#3" + }, + "west": { + "uv": [ + 3.25, + 3.5, + 3.75, + 3.75 + ], + "texture": "#3" + }, + "up": { + "uv": [ + 5.5, + 4, + 4, + 3.5 + ], + "texture": "#3" + }, + "down": { + "uv": [ + 4.75, + 4.25, + 3.25, + 4.75 + ], + "texture": "#3" + } + } + }, + { + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 6, + 12 + ], + "faces": { + "north": { + "uv": [ + 5.5, + 1.5, + 7.5, + 2 + ], + "texture": "#3" + }, + "east": { + "uv": [ + 5.5, + 1.5, + 7.5, + 2 + ], + "texture": "#3" + }, + "south": { + "uv": [ + 5.5, + 1.5, + 7.5, + 2 + ], + "texture": "#3" + }, + "west": { + "uv": [ + 5.5, + 1.5, + 7.5, + 2 + ], + "texture": "#3" + }, + "up": { + "uv": [ + 5.25, + 2, + 3.25, + 0 + ], + "texture": "#3" + }, + "down": { + "uv": [ + 5.25, + 0, + 3.25, + 2 + ], + "texture": "#3" + } + } + }, + { + "from": [ + -6, + 4, + 8 + ], + "to": [ + 4, + 6, + 8 + ], + "rotation": { + "angle": -45, + "axis": "z", + "origin": [ + 4, + 4, + 8 + ] + }, + "faces": { + "north": { + "uv": [ + 0, + 7.75, + 2.5, + 8.25 + ], + "texture": "#3" + }, + "east": { + "uv": [ + 2.75, + 7.75, + 2.75, + 8.25 + ], + "texture": "#3" + }, + "south": { + "uv": [ + 2.5, + 7.75, + 0, + 8.25 + ], + "texture": "#3" + }, + "west": { + "uv": [ + 3, + 7.75, + 3, + 8.25 + ], + "texture": "#3" + }, + "up": { + "uv": [ + 11.25, + 4.25, + 8.75, + 4.25 + ], + "texture": "#3" + }, + "down": { + "uv": [ + 2.5, + 9.25, + 0, + 9.25 + ], + "texture": "#3" + } + } + }, + { + "from": [ + 12, + 4, + 8 + ], + "to": [ + 22, + 6, + 8 + ], + "rotation": { + "angle": 45, + "axis": "z", + "origin": [ + 12, + 4, + 8 + ] + }, + "faces": { + "north": { + "uv": [ + 2.5, + 7.75, + 0, + 8.25 + ], + "texture": "#3" + }, + "east": { + "uv": [ + 5, + 7.75, + 5, + 8.25 + ], + "texture": "#3" + }, + "south": { + "uv": [ + 0, + 7.75, + 2.5, + 8.25 + ], + "texture": "#3" + }, + "west": { + "uv": [ + 5.25, + 7.75, + 5.25, + 8.25 + ], + "texture": "#3" + }, + "up": { + "uv": [ + 5.25, + 9.25, + 2.75, + 9.25 + ], + "texture": "#3" + }, + "down": { + "uv": [ + 8, + 9.25, + 5.5, + 9.25 + ], + "texture": "#3" + } + } + }, + { + "from": [ + 5, + 9, + 5 + ], + "to": [ + 11, + 9, + 11 + ], + "faces": { + "north": { + "uv": [ + 2.5, + 11.5, + 4, + 11.5 + ], + "texture": "#3" + }, + "east": { + "uv": [ + 1, + 11.5, + 2.5, + 11.5 + ], + "texture": "#3" + }, + "south": { + "uv": [ + 5.5, + 11.5, + 7, + 11.5 + ], + "texture": "#3" + }, + "west": { + "uv": [ + 4, + 11.5, + 5.5, + 11.5 + ], + "texture": "#3" + }, + "up": { + "uv": [ + 4.75, + 7, + 3.25, + 5.5 + ], + "texture": "#3" + }, + "down": { + "uv": [ + 4.75, + 5.5, + 3.25, + 7 + ], + "texture": "#3" + } + } + }, + { + "from": [ + 2, + 6, + 8 + ], + "to": [ + 14, + 11, + 8 + ], + "rotation": { + "angle": 45, + "axis": "y", + "origin": [ + 8, + 7, + 8 + ] + }, + "faces": { + "north": { + "uv": [ + 5.5, + 0, + 8.5, + 1.25 + ], + "texture": "#3" + }, + "east": { + "uv": [ + 1, + 9.5, + 1, + 12 + ], + "texture": "#3" + }, + "south": { + "uv": [ + 5.5, + 0, + 8.5, + 1.25 + ], + "texture": "#3" + }, + "west": { + "uv": [ + 1.5, + 9.5, + 1.5, + 12 + ], + "texture": "#3" + }, + "up": { + "uv": [ + 1.5, + 9.5, + 1, + 9.5 + ], + "texture": "#3" + }, + "down": { + "uv": [ + 2, + 9.5, + 1.5, + 9.5 + ], + "texture": "#3" + } + } + }, + { + "from": [ + 2, + 6, + 8 + ], + "to": [ + 14, + 11, + 8 + ], + "rotation": { + "angle": -45, + "axis": "y", + "origin": [ + 8, + 7, + 8 + ] + }, + "faces": { + "north": { + "uv": [ + 5.5, + 0, + 8.5, + 1.25 + ], + "texture": "#3" + }, + "east": { + "uv": [ + 1, + 9.5, + 1, + 12 + ], + "texture": "#3" + }, + "south": { + "uv": [ + 5.5, + 0, + 8.5, + 1.25 + ], + "texture": "#3" + }, + "west": { + "uv": [ + 1.5, + 9.5, + 1.5, + 12 + ], + "texture": "#3" + }, + "up": { + "uv": [ + 1.5, + 9.5, + 1, + 9.5 + ], + "texture": "#3" + }, + "down": { + "uv": [ + 2, + 9.5, + 1.5, + 9.5 + ], + "texture": "#3" + } + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [ + 75, + 45, + 0 + ], + "translation": [ + 0, + 2.5, + 2.25 + ], + "scale": [ + 0.375, + 0.375, + 0.375 + ] + }, + "thirdperson_lefthand": { + "rotation": [ + 75, + 45, + 0 + ], + "translation": [ + 0, + 2.5, + 2.25 + ], + "scale": [ + 0.375, + 0.375, + 0.375 + ] + }, + "firstperson_righthand": { + "rotation": [ + 0, + 45, + 0 + ], + "translation": [ + 0.75, + 3, + 0.25 + ], + "scale": [ + 0.4, + 0.4, + 0.4 + ] + }, + "firstperson_lefthand": { + "rotation": [ + 0, + 45, + 0 + ], + "translation": [ + 0.75, + 3, + 0.25 + ], + "scale": [ + 0.4, + 0.4, + 0.4 + ] + }, + "ground": { + "translation": [ + 0, + 3, + 0 + ], + "scale": [ + 0.25, + 0.25, + 0.25 + ] + }, + "gui": { + "rotation": [ + 30, + 225, + 0 + ], + "translation": [ + 0, + 2.25, + 0 + ], + "scale": [ + 0.75, + 0.75, + 0.75 + ] + }, + "head": { + "translation": [ + 0, + 14.5, + 0 + ] + }, + "fixed": { + "translation": [ + 0, + 1.75, + -0.25 + ], + "scale": [ + 0.75, + 0.75, + 0.75 + ] + } + }, + "groups": [ + 0, + 1, + 2, + 3, + 4, + 5, + { + "name": "group", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "children": [ + { + "name": "group", + "origin": [ + 8, + 7, + 8 + ], + "color": 0, + "children": [ + 6, + 7 + ] + } + ] + } + ] } \ No newline at end of file diff --git a/common/src/main/resources/assets/tardis_refined/models/item/drill.json b/common/src/main/resources/assets/tardis_refined/models/item/drill.json index f8b3ef038..d6ed2844a 100644 --- a/common/src/main/resources/assets/tardis_refined/models/item/drill.json +++ b/common/src/main/resources/assets/tardis_refined/models/item/drill.json @@ -1,180 +1,906 @@ { - "credit": "Made with Blockbench", - "texture_size": [32, 32], - "textures": { - "1": "tardis_refined:item/drill" - }, - "elements": [ - { - "from": [5, 8, 12], - "to": [11, 11, 12], - "rotation": {"angle": -22.5, "axis": "x", "origin": [8, 8, 12]}, - "faces": { - "north": {"uv": [11.5, 3.5, 14.5, 5], "texture": "#1"}, - "east": {"uv": [12.5, 9.5, 12, 9.5], "texture": "#1"}, - "south": {"uv": [11.5, 3.5, 14.5, 5], "texture": "#1"}, - "west": {"uv": [12.5, 9.5, 12, 9.5], "texture": "#1"}, - "up": {"uv": [15, 9.5, 12, 9.5], "texture": "#1"}, - "down": {"uv": [15, 9.5, 12, 9.5], "texture": "#1"} - } - }, - { - "from": [5, 2, 7], - "to": [11, 8, 14], - "rotation": {"angle": 0, "axis": "y", "origin": [8, 6, 4]}, - "faces": { - "north": {"uv": [8.5, 0, 11.5, 3], "texture": "#1"}, - "east": {"uv": [8, 0, 4.5, 3], "texture": "#1"}, - "south": {"uv": [8.5, 0, 11.5, 3], "texture": "#1"}, - "west": {"uv": [4.5, 0, 8, 3], "texture": "#1"}, - "up": {"uv": [7.5, 7, 4.5, 3.5], "texture": "#1"}, - "down": {"uv": [11, 3.5, 8, 7], "texture": "#1"} - } - }, - { - "from": [2, 1, 12], - "to": [7, 7, 12], - "rotation": {"angle": 0, "axis": "y", "origin": [4, 5, 2]}, - "faces": { - "north": {"uv": [2.5, 7.5, 5, 10.5], "texture": "#1"}, - "east": {"uv": [13.5, 11.5, 13.5, 14.5], "texture": "#1"}, - "south": {"uv": [5, 7.5, 2.5, 10.5], "texture": "#1"}, - "west": {"uv": [13.5, 11.5, 13.5, 14.5], "texture": "#1"}, - "up": {"uv": [15.5, 11.5, 13, 11.5], "texture": "#1"}, - "down": {"uv": [15.5, 11.5, 13, 11.5], "texture": "#1"} - } - }, - { - "from": [9, 1, 12], - "to": [14, 7, 12], - "rotation": {"angle": 0, "axis": "y", "origin": [12, 5, 2]}, - "faces": { - "north": {"uv": [5, 7.5, 2.5, 10.5], "texture": "#1"}, - "east": {"uv": [13.5, 11.5, 13.5, 14.5], "texture": "#1"}, - "south": {"uv": [2.5, 7.5, 5, 10.5], "texture": "#1"}, - "west": {"uv": [13.5, 11.5, 13.5, 14.5], "texture": "#1"}, - "up": {"uv": [13.5, 11.5, 16, 11.5], "texture": "#1"}, - "down": {"uv": [13.5, 11.5, 16, 11.5], "texture": "#1"} - } - }, - { - "from": [5, 5, 3], - "to": [13, 5, 11], - "rotation": {"angle": 45, "axis": "y", "origin": [8, 4.5, 8]}, - "faces": { - "north": {"uv": [14.5, 0, 14.5, 0.5], "texture": "#1"}, - "east": {"uv": [14.5, 0, 14.5, 0.5], "texture": "#1"}, - "south": {"uv": [14.5, 0, 14.5, 0.5], "texture": "#1"}, - "west": {"uv": [14.5, 0, 14.5, 0.5], "texture": "#1"}, - "up": {"uv": [4, 4, 0, 0], "texture": "#1"}, - "down": {"uv": [4, 0, 0, 4], "texture": "#1"} - } - }, - { - "from": [6.5, 3.5, -1], - "to": [9.5, 6.5, 7], - "rotation": {"angle": 0, "axis": "y", "origin": [8, 7, 7.5]}, - "faces": { - "north": {"uv": [0, 10.5, 2, 12.5], "texture": "#1"}, - "east": {"uv": [10, 7.5, 5.5, 9.5], "texture": "#1"}, - "south": {"uv": [0, 10.5, 2, 12.5], "texture": "#1"}, - "west": {"uv": [5.5, 7.5, 10, 9.5], "texture": "#1"}, - "up": {"uv": [12.5, 15.5, 10.5, 11], "texture": "#1"}, - "down": {"uv": [12.5, 11, 10.5, 15.5], "texture": "#1"} - } - }, - { - "from": [6.25, 3.25, -1.25], - "to": [9.75, 6.75, 7.25], - "rotation": {"angle": 0, "axis": "y", "origin": [8, 7, 7.5]}, - "faces": { - "north": {"uv": [11.5, 5.5, 13.5, 7.5], "texture": "#1"}, - "east": {"uv": [10, 10, 5.5, 12], "texture": "#1"}, - "south": {"uv": [11.5, 5.5, 13.5, 7.5], "texture": "#1"}, - "west": {"uv": [5.5, 10, 10, 12], "texture": "#1"}, - "up": {"uv": [4.5, 15.5, 2.5, 11], "texture": "#1"}, - "down": {"uv": [4.5, 11, 2.5, 15.5], "texture": "#1"} - } - }, - { - "from": [6, 4, 11.75], - "to": [10, 8, 17.75], - "rotation": {"angle": 45, "axis": "x", "origin": [8, 5, 11.75]}, - "faces": { - "north": {"uv": [5, 12.5, 7, 14.5], "texture": "#1"}, - "east": {"uv": [3.5, 4.5, 0.5, 6.5], "texture": "#1"}, - "south": {"uv": [5, 12.5, 7, 14.5], "texture": "#1"}, - "west": {"uv": [0.5, 4.5, 3.5, 6.5], "texture": "#1"}, - "up": {"uv": [2, 10, 0, 7], "texture": "#1"}, - "down": {"uv": [14, 0, 12, 3], "texture": "#1"} - } - }, - { - "from": [1, 5.25, 11], - "to": [5, 7.25, 13], - "rotation": {"angle": -22.5, "axis": "z", "origin": [5, 5.25, 12]}, - "faces": { - "north": {"uv": [10.5, 8, 12.5, 9], "texture": "#1"}, - "east": {"uv": [10.5, 9.5, 11.5, 10.5], "texture": "#1"}, - "south": {"uv": [10.5, 8, 12.5, 9], "texture": "#1"}, - "west": {"uv": [10.5, 9.5, 11.5, 10.5], "texture": "#1"}, - "up": {"uv": [10.5, 9, 12.5, 8], "texture": "#1"}, - "down": {"uv": [10.5, 8, 12.5, 9], "texture": "#1"} - } - }, - { - "from": [11, 5.25, 11], - "to": [15, 7.25, 13], - "rotation": {"angle": 22.5, "axis": "z", "origin": [11, 5.25, 12]}, - "faces": { - "north": {"uv": [12.5, 8, 10.5, 9], "texture": "#1"}, - "east": {"uv": [11.5, 9.5, 10.5, 10.5], "texture": "#1"}, - "south": {"uv": [12.5, 8, 10.5, 9], "texture": "#1"}, - "west": {"uv": [11.5, 9.5, 10.5, 10.5], "texture": "#1"}, - "up": {"uv": [12.5, 9, 10.5, 8], "texture": "#1"}, - "down": {"uv": [12.5, 8, 10.5, 9], "texture": "#1"} - } - } - ], - "display": { - "thirdperson_righthand": { - "translation": [-0.25, 3.25, -2.25], - "scale": [0.7, 0.7, 0.7] - }, - "thirdperson_lefthand": { - "translation": [-0.25, 3.25, -2.25], - "scale": [0.7, 0.7, 0.7] - }, - "firstperson_righthand": { - "rotation": [-1.75, 1, 0], - "translation": [0.5, 3, -4.25], - "scale": [0.8, 0.8, 0.8] - }, - "firstperson_lefthand": { - "rotation": [-1.75, 1, 0], - "translation": [0.5, 3, -4.25], - "scale": [0.8, 0.8, 0.8] - }, - "ground": { - "rotation": [14, 0, 0], - "translation": [0, 2, 0], - "scale": [0.75, 0.75, 0.75] - }, - "gui": { - "rotation": [30, 56, 0], - "translation": [0, 2.5, 0], - "scale": [0.8, 0.8, 0.8] - }, - "fixed": { - "rotation": [0, 90, 0] - } - }, - "groups": [ - { - "name": "group", - "origin": [6, 6, 9], - "color": 0, - "children": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] - } - ] + "credit": "Made with Blockbench", + "texture_size": [ + 32, + 32 + ], + "textures": { + "1": "tardis_refined:item/drill" + }, + "elements": [ + { + "from": [ + 5, + 8, + 12 + ], + "to": [ + 11, + 11, + 12 + ], + "rotation": { + "angle": -22.5, + "axis": "x", + "origin": [ + 8, + 8, + 12 + ] + }, + "faces": { + "north": { + "uv": [ + 11.5, + 3.5, + 14.5, + 5 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 12.5, + 9.5, + 12, + 9.5 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 11.5, + 3.5, + 14.5, + 5 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 12.5, + 9.5, + 12, + 9.5 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 15, + 9.5, + 12, + 9.5 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 15, + 9.5, + 12, + 9.5 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 5, + 2, + 7 + ], + "to": [ + 11, + 8, + 14 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 8, + 6, + 4 + ] + }, + "faces": { + "north": { + "uv": [ + 8.5, + 0, + 11.5, + 3 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 8, + 0, + 4.5, + 3 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 8.5, + 0, + 11.5, + 3 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 4.5, + 0, + 8, + 3 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 7.5, + 7, + 4.5, + 3.5 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 11, + 3.5, + 8, + 7 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 2, + 1, + 12 + ], + "to": [ + 7, + 7, + 12 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 4, + 5, + 2 + ] + }, + "faces": { + "north": { + "uv": [ + 2.5, + 7.5, + 5, + 10.5 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 13.5, + 11.5, + 13.5, + 14.5 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 5, + 7.5, + 2.5, + 10.5 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 13.5, + 11.5, + 13.5, + 14.5 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 15.5, + 11.5, + 13, + 11.5 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 15.5, + 11.5, + 13, + 11.5 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 9, + 1, + 12 + ], + "to": [ + 14, + 7, + 12 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 12, + 5, + 2 + ] + }, + "faces": { + "north": { + "uv": [ + 5, + 7.5, + 2.5, + 10.5 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 13.5, + 11.5, + 13.5, + 14.5 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 2.5, + 7.5, + 5, + 10.5 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 13.5, + 11.5, + 13.5, + 14.5 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 13.5, + 11.5, + 16, + 11.5 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 13.5, + 11.5, + 16, + 11.5 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 5, + 5, + 3 + ], + "to": [ + 13, + 5, + 11 + ], + "rotation": { + "angle": 45, + "axis": "y", + "origin": [ + 8, + 4.5, + 8 + ] + }, + "faces": { + "north": { + "uv": [ + 14.5, + 0, + 14.5, + 0.5 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 14.5, + 0, + 14.5, + 0.5 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 14.5, + 0, + 14.5, + 0.5 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 14.5, + 0, + 14.5, + 0.5 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 4, + 4, + 0, + 0 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 4, + 0, + 0, + 4 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 6.5, + 3.5, + -1 + ], + "to": [ + 9.5, + 6.5, + 7 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 8, + 7, + 7.5 + ] + }, + "faces": { + "north": { + "uv": [ + 0, + 10.5, + 2, + 12.5 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 10, + 7.5, + 5.5, + 9.5 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 0, + 10.5, + 2, + 12.5 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 5.5, + 7.5, + 10, + 9.5 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 12.5, + 15.5, + 10.5, + 11 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 12.5, + 11, + 10.5, + 15.5 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 6.25, + 3.25, + -1.25 + ], + "to": [ + 9.75, + 6.75, + 7.25 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 8, + 7, + 7.5 + ] + }, + "faces": { + "north": { + "uv": [ + 11.5, + 5.5, + 13.5, + 7.5 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 10, + 10, + 5.5, + 12 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 11.5, + 5.5, + 13.5, + 7.5 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 5.5, + 10, + 10, + 12 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 4.5, + 15.5, + 2.5, + 11 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 4.5, + 11, + 2.5, + 15.5 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 6, + 4, + 11.75 + ], + "to": [ + 10, + 8, + 17.75 + ], + "rotation": { + "angle": 45, + "axis": "x", + "origin": [ + 8, + 5, + 11.75 + ] + }, + "faces": { + "north": { + "uv": [ + 5, + 12.5, + 7, + 14.5 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 3.5, + 4.5, + 0.5, + 6.5 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 5, + 12.5, + 7, + 14.5 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 0.5, + 4.5, + 3.5, + 6.5 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 2, + 10, + 0, + 7 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 14, + 0, + 12, + 3 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 1, + 5.25, + 11 + ], + "to": [ + 5, + 7.25, + 13 + ], + "rotation": { + "angle": -22.5, + "axis": "z", + "origin": [ + 5, + 5.25, + 12 + ] + }, + "faces": { + "north": { + "uv": [ + 10.5, + 8, + 12.5, + 9 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 10.5, + 9.5, + 11.5, + 10.5 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 10.5, + 8, + 12.5, + 9 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 10.5, + 9.5, + 11.5, + 10.5 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 10.5, + 9, + 12.5, + 8 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 10.5, + 8, + 12.5, + 9 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 11, + 5.25, + 11 + ], + "to": [ + 15, + 7.25, + 13 + ], + "rotation": { + "angle": 22.5, + "axis": "z", + "origin": [ + 11, + 5.25, + 12 + ] + }, + "faces": { + "north": { + "uv": [ + 12.5, + 8, + 10.5, + 9 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 11.5, + 9.5, + 10.5, + 10.5 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 12.5, + 8, + 10.5, + 9 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 11.5, + 9.5, + 10.5, + 10.5 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 12.5, + 9, + 10.5, + 8 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 12.5, + 8, + 10.5, + 9 + ], + "texture": "#1" + } + } + } + ], + "display": { + "thirdperson_righthand": { + "translation": [ + -0.25, + 3.25, + -2.25 + ], + "scale": [ + 0.7, + 0.7, + 0.7 + ] + }, + "thirdperson_lefthand": { + "translation": [ + -0.25, + 3.25, + -2.25 + ], + "scale": [ + 0.7, + 0.7, + 0.7 + ] + }, + "firstperson_righthand": { + "rotation": [ + -1.75, + 1, + 0 + ], + "translation": [ + 0.5, + 3, + -4.25 + ], + "scale": [ + 0.8, + 0.8, + 0.8 + ] + }, + "firstperson_lefthand": { + "rotation": [ + -1.75, + 1, + 0 + ], + "translation": [ + 0.5, + 3, + -4.25 + ], + "scale": [ + 0.8, + 0.8, + 0.8 + ] + }, + "ground": { + "rotation": [ + 14, + 0, + 0 + ], + "translation": [ + 0, + 2, + 0 + ], + "scale": [ + 0.75, + 0.75, + 0.75 + ] + }, + "gui": { + "rotation": [ + 30, + 56, + 0 + ], + "translation": [ + 0, + 2.5, + 0 + ], + "scale": [ + 0.8, + 0.8, + 0.8 + ] + }, + "fixed": { + "rotation": [ + 0, + 90, + 0 + ] + } + }, + "groups": [ + { + "name": "group", + "origin": [ + 6, + 6, + 9 + ], + "color": 0, + "children": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9 + ] + } + ] } \ 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 b0f2b34d5..52bf6b150 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,86 +1,357 @@ { - "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] - } - } + "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 + ] + } + } } \ 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 b9f7a4ce0..0db0d042a 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,70 +1,261 @@ { - "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] - } - } + "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 + ] + } + } } \ No newline at end of file diff --git a/common/src/main/resources/assets/tardis_refined/models/item/pattern_manipulator.json b/common/src/main/resources/assets/tardis_refined/models/item/pattern_manipulator.json index f604509d8..abccdfd24 100644 --- a/common/src/main/resources/assets/tardis_refined/models/item/pattern_manipulator.json +++ b/common/src/main/resources/assets/tardis_refined/models/item/pattern_manipulator.json @@ -1,142 +1,669 @@ { - "credit": "Made with Blockbench", - "texture_size": [32, 32], - "textures": { - "0": "tardis_refined:item/pattern_manipulator" - }, - "elements": [ - { - "from": [6, 8, 9], - "to": [10, 11, 10], - "rotation": {"angle": -22.5, "axis": "x", "origin": [8, 8, 10]}, - "faces": { - "north": {"uv": [0, 4.5, 2, 6], "texture": "#0"}, - "east": {"uv": [5, 3, 5.5, 4.5], "texture": "#0"}, - "south": {"uv": [5.5, 2.5, 7.5, 4], "texture": "#0"}, - "west": {"uv": [5, 3, 5.5, 4.5], "texture": "#0"}, - "up": {"uv": [7.5, 4.5, 5.5, 4], "texture": "#0"}, - "down": {"uv": [7.5, 4, 5.5, 4.5], "texture": "#0"} - } - }, - { - "from": [5, 6.5, 2], - "to": [11, 6.5, 7], - "rotation": {"angle": 0, "axis": "y", "origin": [8, 7.5, 1]}, - "faces": { - "north": {"uv": [0, 0, 3, 0], "texture": "#0"}, - "east": {"uv": [0, 0, 2.5, 0], "texture": "#0"}, - "south": {"uv": [0, 0, 3, 0], "texture": "#0"}, - "west": {"uv": [0, 0, 2.5, 0], "texture": "#0"}, - "up": {"uv": [3, 2.5, 0, 0], "texture": "#0"}, - "down": {"uv": [3, 0, 0, 2.5], "texture": "#0"} - } - }, - { - "from": [8, 3.5, 2], - "to": [8, 9.5, 7], - "rotation": {"angle": 0, "axis": "y", "origin": [8, 6.5, 4.5]}, - "faces": { - "north": {"uv": [3, 0, 5.5, 3], "texture": "#0"}, - "east": {"uv": [3, 0, 5.5, 3], "texture": "#0"}, - "south": {"uv": [3, 0, 5.5, 3], "texture": "#0"}, - "west": {"uv": [3, 0, 5.5, 3], "texture": "#0"}, - "up": {"uv": [3, 0, 5.5, 3], "texture": "#0"}, - "down": {"uv": [3, 0, 5.5, 3], "texture": "#0"} - } - }, - { - "from": [6, 5, 7], - "to": [10, 8, 11], - "rotation": {"angle": 0, "axis": "y", "origin": [8, 7, 1]}, - "faces": { - "north": {"uv": [3, 3, 5, 4.5], "texture": "#0"}, - "east": {"uv": [5, 4.5, 3, 6], "texture": "#0"}, - "south": {"uv": [3, 3, 5, 4.5], "texture": "#0"}, - "west": {"uv": [3, 4.5, 5, 6], "texture": "#0"}, - "up": {"uv": [2, 4.5, 0, 2.5], "texture": "#0"}, - "down": {"uv": [0, 2.5, 2, 4.5], "texture": "#0"} - } - }, - { - "from": [7, 5, 9], - "to": [9, 8, 13], - "rotation": {"angle": 45, "axis": "x", "origin": [8, 5, 9]}, - "faces": { - "north": {"uv": [2, 5.5, 3, 7], "texture": "#0"}, - "east": {"uv": [7.5, 0, 5.5, 1.5], "texture": "#0"}, - "south": {"uv": [2, 5.5, 3, 7], "texture": "#0"}, - "west": {"uv": [5.5, 0, 7.5, 1.5], "texture": "#0"}, - "up": {"uv": [3, 5.5, 2, 3.5], "texture": "#0"}, - "down": {"uv": [3, 3.5, 2, 5.5], "texture": "#0"} - } - }, - { - "from": [10, 6, 8], - "to": [13, 8, 10], - "rotation": {"angle": 22.5, "axis": "z", "origin": [10, 6, 9]}, - "faces": { - "north": {"uv": [7, 1.5, 5.5, 2.5], "texture": "#0"}, - "east": {"uv": [2, 2.5, 3, 3.5], "texture": "#0"}, - "south": {"uv": [5.5, 1.5, 7, 2.5], "texture": "#0"}, - "west": {"uv": [2, 2.5, 3, 3.5], "texture": "#0"}, - "up": {"uv": [1.5, 7, 0, 6], "texture": "#0"}, - "down": {"uv": [1.5, 6, 0, 7], "texture": "#0"} - } - }, - { - "from": [3, 6, 8], - "to": [6, 8, 10], - "rotation": {"angle": -22.5, "axis": "z", "origin": [6, 6, 9]}, - "faces": { - "north": {"uv": [5.5, 1.5, 7, 2.5], "texture": "#0"}, - "east": {"uv": [3, 2.5, 2, 3.5], "texture": "#0"}, - "south": {"uv": [7, 1.5, 5.5, 2.5], "texture": "#0"}, - "west": {"uv": [3, 2.5, 2, 3.5], "texture": "#0"}, - "up": {"uv": [0, 7, 1.5, 6], "texture": "#0"}, - "down": {"uv": [0, 6, 1.5, 7], "texture": "#0"} - } - } - ], - "display": { - "thirdperson_righthand": { - "translation": [0, 1.75, -1], - "scale": [0.8, 0.8, 0.8] - }, - "thirdperson_lefthand": { - "translation": [0, 1.75, -1], - "scale": [0.8, 0.8, 0.8] - }, - "firstperson_righthand": { - "rotation": [0, 1, 0], - "translation": [0, 4, -1.75] - }, - "firstperson_lefthand": { - "rotation": [0, 1, 0], - "translation": [0, 4, -1.75] - }, - "ground": { - "rotation": [14, 0, 0], - "translation": [0, 2, 0], - "scale": [0.75, 0.75, 0.75] - }, - "gui": { - "rotation": [30, 56, 0], - "translation": [0, 0.5, 0], - "scale": [1.1, 1.1, 1.1] - }, - "fixed": { - "rotation": [0, 90, 0], - "translation": [0, 0, -1] - } - }, - "groups": [ - { - "name": "group", - "origin": [6, 6, 9], - "color": 0, - "nbt": "{}", - "armAnimationEnabled": false, - "children": [0, 1, 2, 3, 4, 5, 6] - } - ] + "credit": "Made with Blockbench", + "texture_size": [ + 32, + 32 + ], + "textures": { + "0": "tardis_refined:item/pattern_manipulator" + }, + "elements": [ + { + "from": [ + 6, + 8, + 9 + ], + "to": [ + 10, + 11, + 10 + ], + "rotation": { + "angle": -22.5, + "axis": "x", + "origin": [ + 8, + 8, + 10 + ] + }, + "faces": { + "north": { + "uv": [ + 0, + 4.5, + 2, + 6 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 5, + 3, + 5.5, + 4.5 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 5.5, + 2.5, + 7.5, + 4 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 5, + 3, + 5.5, + 4.5 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 7.5, + 4.5, + 5.5, + 4 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 7.5, + 4, + 5.5, + 4.5 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 5, + 6.5, + 2 + ], + "to": [ + 11, + 6.5, + 7 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 8, + 7.5, + 1 + ] + }, + "faces": { + "north": { + "uv": [ + 0, + 0, + 3, + 0 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 0, + 0, + 2.5, + 0 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 0, + 0, + 3, + 0 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 0, + 0, + 2.5, + 0 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 3, + 2.5, + 0, + 0 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 3, + 0, + 0, + 2.5 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 8, + 3.5, + 2 + ], + "to": [ + 8, + 9.5, + 7 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 8, + 6.5, + 4.5 + ] + }, + "faces": { + "north": { + "uv": [ + 3, + 0, + 5.5, + 3 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 3, + 0, + 5.5, + 3 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 3, + 0, + 5.5, + 3 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 3, + 0, + 5.5, + 3 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 3, + 0, + 5.5, + 3 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 3, + 0, + 5.5, + 3 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 6, + 5, + 7 + ], + "to": [ + 10, + 8, + 11 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 8, + 7, + 1 + ] + }, + "faces": { + "north": { + "uv": [ + 3, + 3, + 5, + 4.5 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 5, + 4.5, + 3, + 6 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 3, + 3, + 5, + 4.5 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 3, + 4.5, + 5, + 6 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 2, + 4.5, + 0, + 2.5 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 0, + 2.5, + 2, + 4.5 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 7, + 5, + 9 + ], + "to": [ + 9, + 8, + 13 + ], + "rotation": { + "angle": 45, + "axis": "x", + "origin": [ + 8, + 5, + 9 + ] + }, + "faces": { + "north": { + "uv": [ + 2, + 5.5, + 3, + 7 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 7.5, + 0, + 5.5, + 1.5 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 2, + 5.5, + 3, + 7 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 5.5, + 0, + 7.5, + 1.5 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 3, + 5.5, + 2, + 3.5 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 3, + 3.5, + 2, + 5.5 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 10, + 6, + 8 + ], + "to": [ + 13, + 8, + 10 + ], + "rotation": { + "angle": 22.5, + "axis": "z", + "origin": [ + 10, + 6, + 9 + ] + }, + "faces": { + "north": { + "uv": [ + 7, + 1.5, + 5.5, + 2.5 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 2, + 2.5, + 3, + 3.5 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 5.5, + 1.5, + 7, + 2.5 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 2, + 2.5, + 3, + 3.5 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 1.5, + 7, + 0, + 6 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 1.5, + 6, + 0, + 7 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 3, + 6, + 8 + ], + "to": [ + 6, + 8, + 10 + ], + "rotation": { + "angle": -22.5, + "axis": "z", + "origin": [ + 6, + 6, + 9 + ] + }, + "faces": { + "north": { + "uv": [ + 5.5, + 1.5, + 7, + 2.5 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 3, + 2.5, + 2, + 3.5 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 7, + 1.5, + 5.5, + 2.5 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 3, + 2.5, + 2, + 3.5 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 0, + 7, + 1.5, + 6 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 0, + 6, + 1.5, + 7 + ], + "texture": "#0" + } + } + } + ], + "display": { + "thirdperson_righthand": { + "translation": [ + 0, + 1.75, + -1 + ], + "scale": [ + 0.8, + 0.8, + 0.8 + ] + }, + "thirdperson_lefthand": { + "translation": [ + 0, + 1.75, + -1 + ], + "scale": [ + 0.8, + 0.8, + 0.8 + ] + }, + "firstperson_righthand": { + "rotation": [ + 0, + 1, + 0 + ], + "translation": [ + 0, + 4, + -1.75 + ] + }, + "firstperson_lefthand": { + "rotation": [ + 0, + 1, + 0 + ], + "translation": [ + 0, + 4, + -1.75 + ] + }, + "ground": { + "rotation": [ + 14, + 0, + 0 + ], + "translation": [ + 0, + 2, + 0 + ], + "scale": [ + 0.75, + 0.75, + 0.75 + ] + }, + "gui": { + "rotation": [ + 30, + 56, + 0 + ], + "translation": [ + 0, + 0.5, + 0 + ], + "scale": [ + 1.1, + 1.1, + 1.1 + ] + }, + "fixed": { + "rotation": [ + 0, + 90, + 0 + ], + "translation": [ + 0, + 0, + -1 + ] + } + }, + "groups": [ + { + "name": "group", + "origin": [ + 6, + 6, + 9 + ], + "color": 0, + "nbt": "{}", + "armAnimationEnabled": false, + "children": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6 + ] + } + ] } \ No newline at end of file diff --git a/common/src/main/resources/assets/tardis_refined/models/item/root_plant.json b/common/src/main/resources/assets/tardis_refined/models/item/root_plant.json index 7c1865ffa..099bdc43e 100644 --- a/common/src/main/resources/assets/tardis_refined/models/item/root_plant.json +++ b/common/src/main/resources/assets/tardis_refined/models/item/root_plant.json @@ -1,360 +1,360 @@ { - "credit": "Made with Blockbench", - "texture_size": [ - 64, - 64 - ], - "textures": { - "1": "tardis_refined:block/root_plant" - }, - "elements": [ - { - "from": [ - 4.75, - -0.25, - 4.75 - ], - "to": [ - 11.25, - 6.25, - 11.25 - ], - "faces": { - "north": { - "uv": [ - 6.25, - 5.75, - 7.75, - 7.25 - ], - "texture": "#1" - }, - "east": { - "uv": [ - 4.75, - 5.75, - 6.25, - 7.25 - ], - "texture": "#1" - }, - "south": { - "uv": [ - 9.25, - 5.75, - 10.75, - 7.25 - ], - "texture": "#1" - }, - "west": { - "uv": [ - 7.75, - 5.75, - 9.25, - 7.25 - ], - "texture": "#1" - }, - "up": { - "uv": [ - 7.75, - 5.75, - 6.25, - 4.25 - ], - "texture": "#1" - }, - "down": { - "uv": [ - 9.25, - 4.25, - 7.75, - 5.75 - ], - "texture": "#1" - } - } - }, - { - "from": [ - 5, - 0, - 5 - ], - "to": [ - 11, - 6, - 11 - ], - "faces": { - "north": { - "uv": [ - 1.5, - 4, - 3, - 5.5 - ], - "texture": "#1" - }, - "east": { - "uv": [ - 0, - 4, - 1.5, - 5.5 - ], - "texture": "#1" - }, - "south": { - "uv": [ - 4.5, - 4, - 6, - 5.5 - ], - "texture": "#1" - }, - "west": { - "uv": [ - 3, - 4, - 4.5, - 5.5 - ], - "texture": "#1" - }, - "up": { - "uv": [ - 3, - 4, - 1.5, - 2.5 - ], - "texture": "#1" - }, - "down": { - "uv": [ - 4.5, - 2.5, - 3, - 4 - ], - "texture": "#1" - } - } - } - ], - "display": { - "thirdperson_righthand": { - "rotation": [ - 75, - 45, - 0 - ], - "translation": [ - 0, - 0.5, - 2.75 - ], - "scale": [ - 0.45, - 0.45, - 0.45 - ] - }, - "thirdperson_lefthand": { - "rotation": [ - 75, - 45, - 0 - ], - "translation": [ - 0, - 0.5, - 2.75 - ], - "scale": [ - 0.45, - 0.45, - 0.45 - ] - }, - "firstperson_righthand": { - "rotation": [ - 0, - 45, - 0 - ], - "translation": [ - 0.75, - 4.25, - 0 - ], - "scale": [ - 0.75, - 0.75, - 0.75 - ] - }, - "firstperson_lefthand": { - "rotation": [ - 0, - 45, - 0 - ], - "translation": [ - 0.75, - 4.25, - 0 - ], - "scale": [ - 0.75, - 0.75, - 0.75 - ] - }, - "ground": { - "translation": [ - 0, - 4.5, - 0 - ] - }, - "gui": { - "rotation": [ - 30, - 225, - 0 - ], - "translation": [ - 0, - 5, - 0 - ], - "scale": [ - 1.25, - 1.25, - 1.25 - ] - }, - "head": { - "translation": [ - 0, - 0, - -6.25 - ] - }, - "fixed": { - "translation": [ - 0, - 5.25, - 0 - ], - "scale": [ - 1.25, - 1.25, - 1.25 - ] - } - }, - "groups": [ - { - "name": "stage1", - "origin": [ - 0, - 0, - 0 - ], - "color": 0, - "children": [ - { - "name": "bone", - "origin": [ - 0, - 0, - 0 - ], - "color": 0, - "children": [ - { - "name": "bone2", - "origin": [ - 0, - 0, - 0 - ], - "color": 0, - "children": [] - }, - { - "name": "bone3", - "origin": [ - 0, - 0, - 0 - ], - "color": 0, - "children": [ - { - "name": "bone14", - "origin": [ - 0, - 0, - 0 - ], - "color": 0, - "children": [] - }, - { - "name": "bone15", - "origin": [ - 0, - 0, - 0 - ], - "color": 0, - "children": [ - { - "name": "bone16", - "origin": [ - 0, - 0, - 0 - ], - "color": 0, - "children": [] - }, - { - "name": "bone47", - "origin": [ - 0, - 0, - 0 - ], - "color": 0, - "children": [ - { - "name": "bone48", - "origin": [ - 0, - 0, - 0 - ], - "color": 0, - "children": [] - } - ] - } - ] - } - ] - } - ] - }, - 0, - 1 - ] - } - ] + "credit": "Made with Blockbench", + "texture_size": [ + 64, + 64 + ], + "textures": { + "1": "tardis_refined:block/root_plant" + }, + "elements": [ + { + "from": [ + 4.75, + -0.25, + 4.75 + ], + "to": [ + 11.25, + 6.25, + 11.25 + ], + "faces": { + "north": { + "uv": [ + 6.25, + 5.75, + 7.75, + 7.25 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 4.75, + 5.75, + 6.25, + 7.25 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 9.25, + 5.75, + 10.75, + 7.25 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 7.75, + 5.75, + 9.25, + 7.25 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 7.75, + 5.75, + 6.25, + 4.25 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 9.25, + 4.25, + 7.75, + 5.75 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 5, + 0, + 5 + ], + "to": [ + 11, + 6, + 11 + ], + "faces": { + "north": { + "uv": [ + 1.5, + 4, + 3, + 5.5 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 0, + 4, + 1.5, + 5.5 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 4.5, + 4, + 6, + 5.5 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 3, + 4, + 4.5, + 5.5 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 3, + 4, + 1.5, + 2.5 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 4.5, + 2.5, + 3, + 4 + ], + "texture": "#1" + } + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [ + 75, + 45, + 0 + ], + "translation": [ + 0, + 0.5, + 2.75 + ], + "scale": [ + 0.45, + 0.45, + 0.45 + ] + }, + "thirdperson_lefthand": { + "rotation": [ + 75, + 45, + 0 + ], + "translation": [ + 0, + 0.5, + 2.75 + ], + "scale": [ + 0.45, + 0.45, + 0.45 + ] + }, + "firstperson_righthand": { + "rotation": [ + 0, + 45, + 0 + ], + "translation": [ + 0.75, + 4.25, + 0 + ], + "scale": [ + 0.75, + 0.75, + 0.75 + ] + }, + "firstperson_lefthand": { + "rotation": [ + 0, + 45, + 0 + ], + "translation": [ + 0.75, + 4.25, + 0 + ], + "scale": [ + 0.75, + 0.75, + 0.75 + ] + }, + "ground": { + "translation": [ + 0, + 4.5, + 0 + ] + }, + "gui": { + "rotation": [ + 30, + 225, + 0 + ], + "translation": [ + 0, + 5, + 0 + ], + "scale": [ + 1.25, + 1.25, + 1.25 + ] + }, + "head": { + "translation": [ + 0, + 0, + -6.25 + ] + }, + "fixed": { + "translation": [ + 0, + 5.25, + 0 + ], + "scale": [ + 1.25, + 1.25, + 1.25 + ] + } + }, + "groups": [ + { + "name": "stage1", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "children": [ + { + "name": "bone", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "children": [ + { + "name": "bone2", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "children": [] + }, + { + "name": "bone3", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "children": [ + { + "name": "bone14", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "children": [] + }, + { + "name": "bone15", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "children": [ + { + "name": "bone16", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "children": [] + }, + { + "name": "bone47", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "children": [ + { + "name": "bone48", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "children": [] + } + ] + } + ] + } + ] + } + ] + }, + 0, + 1 + ] + } + ] } \ No newline at end of file diff --git a/common/src/main/resources/assets/tardis_refined/models/item/tardis_key.json b/common/src/main/resources/assets/tardis_refined/models/item/tardis_key.json index 3815227eb..306214db8 100644 --- a/common/src/main/resources/assets/tardis_refined/models/item/tardis_key.json +++ b/common/src/main/resources/assets/tardis_refined/models/item/tardis_key.json @@ -1,200 +1,1003 @@ { - "credit": "Made with Blockbench", - "texture_size": [32, 32], - "textures": { - "1": "tardis_refined:item/tardis_key" - }, - "elements": [ - { - "from": [7, 0, 1], - "to": [9, 0, 6], - "rotation": {"angle": 0, "axis": "y", "origin": [0, 0, 2]}, - "faces": { - "north": {"uv": [2.5, 12.5, 3.5, 12.5], "texture": "#1"}, - "east": {"uv": [0, 12.5, 2.5, 12.5], "texture": "#1"}, - "south": {"uv": [6, 12.5, 7, 12.5], "texture": "#1"}, - "west": {"uv": [3.5, 12.5, 6, 12.5], "texture": "#1"}, - "up": {"uv": [3.5, 12.5, 2.5, 10], "texture": "#1"}, - "down": {"uv": [3.5, 10, 2.5, 12.5], "texture": "#1"} - } - }, - { - "from": [6.525, -0.975, 6.025], - "to": [9.475, 0.975, 8.975], - "rotation": {"angle": 45, "axis": "y", "origin": [8, 0, 7.5]}, - "faces": { - "north": {"uv": [9, 12.5, 10.5, 13.5], "texture": "#1"}, - "east": {"uv": [7.5, 12.5, 9, 13.5], "texture": "#1"}, - "south": {"uv": [12, 12.5, 13.5, 13.5], "texture": "#1"}, - "west": {"uv": [10.5, 12.5, 12, 13.5], "texture": "#1"}, - "up": {"uv": [10.5, 12.5, 9, 11], "texture": "#1"}, - "down": {"uv": [12, 11, 10.5, 12.5], "texture": "#1"} - } - }, - { - "from": [6, -1, 7.5], - "to": [10, 1, 10.5], - "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 7.5]}, - "faces": { - "north": {"uv": [10.5, 4, 12.5, 5], "texture": "#1"}, - "east": {"uv": [9, 4, 10.5, 5], "texture": "#1"}, - "south": {"uv": [14, 4, 16, 5], "texture": "#1"}, - "west": {"uv": [12.5, 4, 14, 5], "texture": "#1"}, - "up": {"uv": [12.5, 4, 10.5, 2.5], "texture": "#1"}, - "down": {"uv": [14.5, 2.5, 12.5, 4], "texture": "#1"} - } - }, - { - "from": [6, -1.25, 6.5], - "to": [10, -0.25, 10.5], - "rotation": {"angle": 0, "axis": "y", "origin": [8, -1.25, 7.5]}, - "faces": { - "north": {"uv": [8.5, 10, 10.5, 10.5], "texture": "#1"}, - "east": {"uv": [8.5, 10, 10.5, 10.5], "texture": "#1"}, - "south": {"uv": [8.5, 10, 10.5, 10.5], "texture": "#1"}, - "west": {"uv": [8.5, 10, 10.5, 10.5], "texture": "#1"}, - "up": {"uv": [10.5, 10, 8.5, 8], "texture": "#1"}, - "down": {"uv": [10.5, 8, 8.5, 10], "texture": "#1"} - } - }, - { - "from": [6, 0.25, 6.5], - "to": [10, 1.25, 10.5], - "rotation": {"angle": 0, "axis": "y", "origin": [8, -1.25, 7.5]}, - "faces": { - "north": {"uv": [8.5, 10, 10.5, 10.5], "texture": "#1"}, - "east": {"uv": [8.5, 10, 10.5, 10.5], "texture": "#1"}, - "south": {"uv": [8.5, 10, 10.5, 10.5], "texture": "#1"}, - "west": {"uv": [8.5, 10, 10.5, 10.5], "texture": "#1"}, - "up": {"uv": [10.5, 10, 8.5, 8], "texture": "#1"}, - "down": {"uv": [10.5, 8, 8.5, 10], "texture": "#1"} - } - }, - { - "from": [5, -0.5, 8.25], - "to": [11, 0.5, 12.25], - "rotation": {"angle": 0, "axis": "y", "origin": [8, 0.5, 8.25]}, - "faces": { - "north": {"uv": [2, 6, 5, 6.5], "texture": "#1"}, - "east": {"uv": [0, 6, 2, 6.5], "texture": "#1"}, - "south": {"uv": [7, 6, 10, 6.5], "texture": "#1"}, - "west": {"uv": [5, 6, 7, 6.5], "texture": "#1"}, - "up": {"uv": [5, 6, 2, 4], "texture": "#1"}, - "down": {"uv": [8, 4, 5, 6], "texture": "#1"} - } - }, - { - "from": [5.475, -1.025, 9.475], - "to": [10.525, 1.025, 14.525], - "rotation": {"angle": -45, "axis": "y", "origin": [8, 0.5, 12]}, - "faces": { - "north": {"uv": [2.5, 2.5, 5, 3.5], "texture": "#1"}, - "east": {"uv": [0, 2.5, 2.5, 3.5], "texture": "#1"}, - "south": {"uv": [7.5, 2.5, 10, 3.5], "texture": "#1"}, - "west": {"uv": [5, 2.5, 7.5, 3.5], "texture": "#1"}, - "up": {"uv": [5, 2.5, 2.5, 0], "texture": "#1"}, - "down": {"uv": [7.5, 0, 5, 2.5], "texture": "#1"} - } - }, - { - "from": [6, -1.225, 10], - "to": [10, -0.225, 14], - "rotation": {"angle": -45, "axis": "y", "origin": [8, 0.75, 12]}, - "faces": { - "north": {"uv": [2, 9, 4, 9.5], "texture": "#1"}, - "east": {"uv": [2, 9, 4, 9.5], "texture": "#1"}, - "south": {"uv": [2, 9, 4, 9.5], "texture": "#1"}, - "west": {"uv": [2, 9, 4, 9.5], "texture": "#1"}, - "up": {"uv": [4, 9, 2, 7], "texture": "#1"}, - "down": {"uv": [4, 7, 2, 9], "texture": "#1"} - } - }, - { - "from": [6, 0.275, 10], - "to": [10, 1.275, 14], - "rotation": {"angle": -45, "axis": "y", "origin": [8, 0.75, 12]}, - "faces": { - "north": {"uv": [2, 9, 4, 9.5], "texture": "#1"}, - "east": {"uv": [2, 9, 4, 9.5], "texture": "#1"}, - "south": {"uv": [2, 9, 4, 9.5], "texture": "#1"}, - "west": {"uv": [2, 9, 4, 9.5], "texture": "#1"}, - "up": {"uv": [4, 9, 2, 7], "texture": "#1"}, - "down": {"uv": [4, 7, 2, 9], "texture": "#1"} - } - }, - { - "from": [7.25, -0.5, 6], - "to": [10.25, 0.5, 9], - "rotation": {"angle": -22.5, "axis": "y", "origin": [9, 0.5, 8]}, - "faces": { - "north": {"uv": [9.5, 1.5, 8, 2], "texture": "#1"}, - "east": {"uv": [8, 1.5, 9.5, 2], "texture": "#1"}, - "south": {"uv": [9.5, 1.5, 11, 2], "texture": "#1"}, - "west": {"uv": [9.5, 1.5, 11, 2], "texture": "#1"}, - "up": {"uv": [11, 1.5, 9.5, 0], "texture": "#1"}, - "down": {"uv": [11, 0, 9.5, 1.5], "texture": "#1"} - } - }, - { - "from": [5.75, -0.5, 6], - "to": [8.75, 0.5, 9], - "rotation": {"angle": 22.5, "axis": "y", "origin": [7, 0.5, 8]}, - "faces": { - "north": {"uv": [8, 1.5, 9.5, 2], "texture": "#1"}, - "east": {"uv": [11, 1.5, 9.5, 2], "texture": "#1"}, - "south": {"uv": [11, 1.5, 9.5, 2], "texture": "#1"}, - "west": {"uv": [9.5, 1.5, 8, 2], "texture": "#1"}, - "up": {"uv": [9.5, 1.5, 11, 0], "texture": "#1"}, - "down": {"uv": [9.5, 0, 11, 1.5], "texture": "#1"} - } - } - ], - "display": { - "thirdperson_righthand": { - "rotation": [92.5, 0, 0], - "translation": [0, 0.5, 3.25], - "scale": [0.25, 0.25, 0.25] - }, - "thirdperson_lefthand": { - "rotation": [92.5, 0, 0], - "translation": [0, 0.5, 3.25], - "scale": [0.25, 0.25, 0.25] - }, - "firstperson_righthand": { - "rotation": [88.01, -0.5, 11], - "translation": [3, 0.75, 3.25], - "scale": [0.55, 0.55, 0.55] - }, - "firstperson_lefthand": { - "rotation": [88.01, -0.5, 11], - "translation": [3, 0.75, 3.25], - "scale": [0.55, 0.55, 0.55] - }, - "ground": { - "translation": [0, 3.25, 0], - "scale": [0.5, 0.5, 0.5] - }, - "gui": { - "rotation": [-88.14, -38.74, -164.52], - "translation": [1.25, 1, 0] - }, - "head": { - "translation": [0, -1.5, -7.25], - "scale": [0.35, 0.35, 0.35] - }, - "fixed": { - "rotation": [-90, 0, 0], - "translation": [0, 0, -8] - } - }, - "groups": [ - { - "name": "group", - "origin": [8, 8, 8], - "color": 0, - "nbt": "{}", - "armAnimationEnabled": false, - "children": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] - } - ] + "credit": "Made with Blockbench", + "texture_size": [ + 32, + 32 + ], + "textures": { + "1": "tardis_refined:item/tardis_key" + }, + "elements": [ + { + "from": [ + 7, + 0, + 1 + ], + "to": [ + 9, + 0, + 6 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 0, + 0, + 2 + ] + }, + "faces": { + "north": { + "uv": [ + 2.5, + 12.5, + 3.5, + 12.5 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 0, + 12.5, + 2.5, + 12.5 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 6, + 12.5, + 7, + 12.5 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 3.5, + 12.5, + 6, + 12.5 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 3.5, + 12.5, + 2.5, + 10 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 3.5, + 10, + 2.5, + 12.5 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 6.525, + -0.975, + 6.025 + ], + "to": [ + 9.475, + 0.975, + 8.975 + ], + "rotation": { + "angle": 45, + "axis": "y", + "origin": [ + 8, + 0, + 7.5 + ] + }, + "faces": { + "north": { + "uv": [ + 9, + 12.5, + 10.5, + 13.5 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 7.5, + 12.5, + 9, + 13.5 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 12, + 12.5, + 13.5, + 13.5 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 10.5, + 12.5, + 12, + 13.5 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 10.5, + 12.5, + 9, + 11 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 12, + 11, + 10.5, + 12.5 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 6, + -1, + 7.5 + ], + "to": [ + 10, + 1, + 10.5 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 8, + 0, + 7.5 + ] + }, + "faces": { + "north": { + "uv": [ + 10.5, + 4, + 12.5, + 5 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 9, + 4, + 10.5, + 5 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 14, + 4, + 16, + 5 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 12.5, + 4, + 14, + 5 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 12.5, + 4, + 10.5, + 2.5 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 14.5, + 2.5, + 12.5, + 4 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 6, + -1.25, + 6.5 + ], + "to": [ + 10, + -0.25, + 10.5 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 8, + -1.25, + 7.5 + ] + }, + "faces": { + "north": { + "uv": [ + 8.5, + 10, + 10.5, + 10.5 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 8.5, + 10, + 10.5, + 10.5 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 8.5, + 10, + 10.5, + 10.5 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 8.5, + 10, + 10.5, + 10.5 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 10.5, + 10, + 8.5, + 8 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 10.5, + 8, + 8.5, + 10 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 6, + 0.25, + 6.5 + ], + "to": [ + 10, + 1.25, + 10.5 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 8, + -1.25, + 7.5 + ] + }, + "faces": { + "north": { + "uv": [ + 8.5, + 10, + 10.5, + 10.5 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 8.5, + 10, + 10.5, + 10.5 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 8.5, + 10, + 10.5, + 10.5 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 8.5, + 10, + 10.5, + 10.5 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 10.5, + 10, + 8.5, + 8 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 10.5, + 8, + 8.5, + 10 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 5, + -0.5, + 8.25 + ], + "to": [ + 11, + 0.5, + 12.25 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 8, + 0.5, + 8.25 + ] + }, + "faces": { + "north": { + "uv": [ + 2, + 6, + 5, + 6.5 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 0, + 6, + 2, + 6.5 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 7, + 6, + 10, + 6.5 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 5, + 6, + 7, + 6.5 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 5, + 6, + 2, + 4 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 8, + 4, + 5, + 6 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 5.475, + -1.025, + 9.475 + ], + "to": [ + 10.525, + 1.025, + 14.525 + ], + "rotation": { + "angle": -45, + "axis": "y", + "origin": [ + 8, + 0.5, + 12 + ] + }, + "faces": { + "north": { + "uv": [ + 2.5, + 2.5, + 5, + 3.5 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 0, + 2.5, + 2.5, + 3.5 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 7.5, + 2.5, + 10, + 3.5 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 5, + 2.5, + 7.5, + 3.5 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 5, + 2.5, + 2.5, + 0 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 7.5, + 0, + 5, + 2.5 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 6, + -1.225, + 10 + ], + "to": [ + 10, + -0.225, + 14 + ], + "rotation": { + "angle": -45, + "axis": "y", + "origin": [ + 8, + 0.75, + 12 + ] + }, + "faces": { + "north": { + "uv": [ + 2, + 9, + 4, + 9.5 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 2, + 9, + 4, + 9.5 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 2, + 9, + 4, + 9.5 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 2, + 9, + 4, + 9.5 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 4, + 9, + 2, + 7 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 4, + 7, + 2, + 9 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 6, + 0.275, + 10 + ], + "to": [ + 10, + 1.275, + 14 + ], + "rotation": { + "angle": -45, + "axis": "y", + "origin": [ + 8, + 0.75, + 12 + ] + }, + "faces": { + "north": { + "uv": [ + 2, + 9, + 4, + 9.5 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 2, + 9, + 4, + 9.5 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 2, + 9, + 4, + 9.5 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 2, + 9, + 4, + 9.5 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 4, + 9, + 2, + 7 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 4, + 7, + 2, + 9 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 7.25, + -0.5, + 6 + ], + "to": [ + 10.25, + 0.5, + 9 + ], + "rotation": { + "angle": -22.5, + "axis": "y", + "origin": [ + 9, + 0.5, + 8 + ] + }, + "faces": { + "north": { + "uv": [ + 9.5, + 1.5, + 8, + 2 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 8, + 1.5, + 9.5, + 2 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 9.5, + 1.5, + 11, + 2 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 9.5, + 1.5, + 11, + 2 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 11, + 1.5, + 9.5, + 0 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 11, + 0, + 9.5, + 1.5 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 5.75, + -0.5, + 6 + ], + "to": [ + 8.75, + 0.5, + 9 + ], + "rotation": { + "angle": 22.5, + "axis": "y", + "origin": [ + 7, + 0.5, + 8 + ] + }, + "faces": { + "north": { + "uv": [ + 8, + 1.5, + 9.5, + 2 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 11, + 1.5, + 9.5, + 2 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 11, + 1.5, + 9.5, + 2 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 9.5, + 1.5, + 8, + 2 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 9.5, + 1.5, + 11, + 0 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 9.5, + 0, + 11, + 1.5 + ], + "texture": "#1" + } + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [ + 92.5, + 0, + 0 + ], + "translation": [ + 0, + 0.5, + 3.25 + ], + "scale": [ + 0.25, + 0.25, + 0.25 + ] + }, + "thirdperson_lefthand": { + "rotation": [ + 92.5, + 0, + 0 + ], + "translation": [ + 0, + 0.5, + 3.25 + ], + "scale": [ + 0.25, + 0.25, + 0.25 + ] + }, + "firstperson_righthand": { + "rotation": [ + 88.01, + -0.5, + 11 + ], + "translation": [ + 3, + 0.75, + 3.25 + ], + "scale": [ + 0.55, + 0.55, + 0.55 + ] + }, + "firstperson_lefthand": { + "rotation": [ + 88.01, + -0.5, + 11 + ], + "translation": [ + 3, + 0.75, + 3.25 + ], + "scale": [ + 0.55, + 0.55, + 0.55 + ] + }, + "ground": { + "translation": [ + 0, + 3.25, + 0 + ], + "scale": [ + 0.5, + 0.5, + 0.5 + ] + }, + "gui": { + "rotation": [ + -88.14, + -38.74, + -164.52 + ], + "translation": [ + 1.25, + 1, + 0 + ] + }, + "head": { + "translation": [ + 0, + -1.5, + -7.25 + ], + "scale": [ + 0.35, + 0.35, + 0.35 + ] + }, + "fixed": { + "rotation": [ + -90, + 0, + 0 + ], + "translation": [ + 0, + 0, + -8 + ] + } + }, + "groups": [ + { + "name": "group", + "origin": [ + 8, + 8, + 8 + ], + "color": 0, + "nbt": "{}", + "armAnimationEnabled": false, + "children": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10 + ] + } + ] } \ No newline at end of file diff --git a/common/src/main/resources/assets/tardis_refined/sounds/tardis/vortex.ogg b/common/src/main/resources/assets/tardis_refined/sounds/tardis/vortex.ogg new file mode 100644 index 000000000..29627359f Binary files /dev/null and b/common/src/main/resources/assets/tardis_refined/sounds/tardis/vortex.ogg differ diff --git a/common/src/main/resources/assets/tardis_refined/textures/gui/bar_texture.png b/common/src/main/resources/assets/tardis_refined/textures/gui/bar_texture.png new file mode 100644 index 000000000..836d24c1c Binary files /dev/null and b/common/src/main/resources/assets/tardis_refined/textures/gui/bar_texture.png differ diff --git a/common/src/main/resources/assets/tardis_refined/textures/gui/sprites/save.png.mcmeta b/common/src/main/resources/assets/tardis_refined/textures/gui/sprites/save.png.mcmeta index e4165f8fc..cfff4c660 100644 --- a/common/src/main/resources/assets/tardis_refined/textures/gui/sprites/save.png.mcmeta +++ b/common/src/main/resources/assets/tardis_refined/textures/gui/sprites/save.png.mcmeta @@ -1,9 +1,9 @@ { - "gui": { - "scaling": { - "type": "tile" , - "width": 20, - "height": 20 - } - } + "gui": { + "scaling": { + "type": "tile", + "width": 20, + "height": 20 + } + } } \ No newline at end of file diff --git a/common/src/main/resources/assets/tardis_refined/textures/gui/sprites/trash.png.mcmeta b/common/src/main/resources/assets/tardis_refined/textures/gui/sprites/trash.png.mcmeta index e4165f8fc..cfff4c660 100644 --- a/common/src/main/resources/assets/tardis_refined/textures/gui/sprites/trash.png.mcmeta +++ b/common/src/main/resources/assets/tardis_refined/textures/gui/sprites/trash.png.mcmeta @@ -1,9 +1,9 @@ { - "gui": { - "scaling": { - "type": "tile" , - "width": 20, - "height": 20 - } - } + "gui": { + "scaling": { + "type": "tile", + "width": 20, + "height": 20 + } + } } \ No newline at end of file diff --git a/common/src/main/resources/assets/tardis_refined/textures/item/timelord_sight.png b/common/src/main/resources/assets/tardis_refined/textures/item/timelord_sight.png new file mode 100644 index 000000000..ed68ed792 Binary files /dev/null and b/common/src/main/resources/assets/tardis_refined/textures/item/timelord_sight.png differ diff --git a/common/src/main/resources/assets/tardis_refined/textures/vortex.png b/common/src/main/resources/assets/tardis_refined/textures/vortex.png new file mode 100644 index 000000000..8f7b6a7cd Binary files /dev/null and b/common/src/main/resources/assets/tardis_refined/textures/vortex.png differ diff --git a/common/src/main/resources/assets/tardis_refined/textures/vortex/clouds.png b/common/src/main/resources/assets/tardis_refined/textures/vortex/clouds.png new file mode 100644 index 000000000..d79d68e55 Binary files /dev/null and b/common/src/main/resources/assets/tardis_refined/textures/vortex/clouds.png differ diff --git a/common/src/main/resources/assets/tardis_refined/textures/vortex/stars.png b/common/src/main/resources/assets/tardis_refined/textures/vortex/stars.png new file mode 100644 index 000000000..1e9bfefbf Binary files /dev/null and b/common/src/main/resources/assets/tardis_refined/textures/vortex/stars.png differ diff --git a/common/src/main/resources/assets/tardis_refined/textures/vortex/stars_2.png b/common/src/main/resources/assets/tardis_refined/textures/vortex/stars_2.png new file mode 100644 index 000000000..f3c116cb5 Binary files /dev/null and b/common/src/main/resources/assets/tardis_refined/textures/vortex/stars_2.png differ diff --git a/common/src/main/resources/assets/tardis_refined/textures/vortex/waves.png b/common/src/main/resources/assets/tardis_refined/textures/vortex/waves.png new file mode 100644 index 000000000..0df04574f Binary files /dev/null and b/common/src/main/resources/assets/tardis_refined/textures/vortex/waves.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 b1b65b24e..49ac91f4e 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 @@ -7,7 +7,7 @@ "has_raids": false, "has_skylight": false, "has_ceiling": true, - "__COMMENT" : "Skyline and bed works need to be enabled for beds to work, see https://github.com/WhoCraft/TardisRefined/issues/198", + "__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/trinkets/entities/tardis_refined.json b/common/src/main/resources/data/trinkets/entities/tardis_refined.json new file mode 100644 index 000000000..34996bf75 --- /dev/null +++ b/common/src/main/resources/data/trinkets/entities/tardis_refined.json @@ -0,0 +1,9 @@ +{ + "entities": [ + "player" + ], + "slots": [ + "head/face", + "head/hat" + ] +} \ No newline at end of file diff --git a/common/src/main/resources/tardis_refined-common.mixins.json b/common/src/main/resources/tardis_refined-common.mixins.json index e47474100..d7845d831 100644 --- a/common/src/main/resources/tardis_refined-common.mixins.json +++ b/common/src/main/resources/tardis_refined-common.mixins.json @@ -13,9 +13,11 @@ ], "client": [ "FogRendererMixin", + "GuiMixin", "LocalPlayerMixin", "MultiplayerGameModeMixin", - "PlayerRenderMixin" + "PlayerRenderMixin", + "SpectatorGuiMixin" ], "injectors": { "defaultRequire": 1 diff --git a/common/src/main/resources/tardis_refined.accesswidener b/common/src/main/resources/tardis_refined.accesswidener index 0ebf4d9b2..0f36e9626 100644 --- a/common/src/main/resources/tardis_refined.accesswidener +++ b/common/src/main/resources/tardis_refined.accesswidener @@ -14,4 +14,6 @@ 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; \ No newline at end of file +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 \ No newline at end of file diff --git a/fabric/build.gradle b/fabric/build.gradle index e68d970ec..958d06987 100644 --- a/fabric/build.gradle +++ b/fabric/build.gradle @@ -60,6 +60,46 @@ 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 { @@ -83,6 +123,11 @@ dependencies { modCompileOnly "curse.maven:jei-238222:${rootProject.jei_fabric_version}" modImplementation "curse.maven:huge-structure-blocks-474114:4803539" + // Trinkets + modImplementation ("dev.emi:trinkets:${rootProject.trinkets_version}") { + exclude(group: "dev.onyxstudios.cardinal-components-api") + } + // Forge Config API Port modApi "fuzs.forgeconfigapiport:forgeconfigapiport-fabric:${rootProject.forge_config_api_port_version}" include "fuzs.forgeconfigapiport:forgeconfigapiport-fabric:${rootProject.forge_config_api_port_version}" 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 dd604fa07..7b0a3c7e6 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 @@ -55,4 +55,8 @@ public static void init() { private static MinecraftServer getServerFromClient() { return Minecraft.getInstance().getSingleplayerServer(); } + + public static boolean isForge() { + return false; + } } diff --git a/fabric/src/main/java/whocraft/tardis_refined/compat/trinkets/TrinketsUtil.java b/fabric/src/main/java/whocraft/tardis_refined/compat/trinkets/TrinketsUtil.java new file mode 100644 index 000000000..6d10b6c38 --- /dev/null +++ b/fabric/src/main/java/whocraft/tardis_refined/compat/trinkets/TrinketsUtil.java @@ -0,0 +1,73 @@ +package whocraft.tardis_refined.compat.trinkets; + +import com.mojang.datafixers.util.Pair; +import dev.emi.trinkets.api.TrinketInventory; +import dev.emi.trinkets.api.TrinketsApi; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.item.ItemStack; +import whocraft.tardis_refined.compat.CuriosTrinketsSlotInv; +import whocraft.tardis_refined.compat.CuriosTrinketsUtil; + + +public class TrinketsUtil extends CuriosTrinketsUtil { + + @Override + public boolean isTrinkets() { + return true; + } + + + @Override + public CuriosTrinketsSlotInv getSlot(LivingEntity entity, String slotKey) { + final CuriosTrinketsSlotInv[] container = {CuriosTrinketsSlotInv.EMPTY}; + var slot = parseSlot(slotKey); + + TrinketsApi.getTrinketComponent(entity).ifPresent(comp -> { + var group = comp.getInventory().get(slot.getFirst()); + + if (group != null) { + var trinketSlot = group.get(slot.getSecond()); + + if (trinketSlot != null) { + container[0] = new SlotInv(trinketSlot); + } + } + }); + + return container[0]; + } + + public Pair parseSlot(String slot) { + var split = slot.split("/"); + + if (split.length != 2) { + return Pair.of("", ""); + } else { + return Pair.of(split[0], split[1]); + } + } + + public static class SlotInv implements CuriosTrinketsSlotInv { + + private final TrinketInventory inventory; + + public SlotInv(TrinketInventory inventory) { + this.inventory = inventory; + } + + @Override + public int getSlots() { + return this.inventory.getContainerSize(); + } + + @Override + public ItemStack getStackInSlot(int index) { + return this.inventory.getItem(index); + } + + @Override + public void setStackInSlot(int index, ItemStack stack) { + this.inventory.setItem(index, stack); + } + } +} \ No newline at end of file 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 86406ead9..e76852cb5 100644 --- a/fabric/src/main/java/whocraft/tardis_refined/fabric/TardisRefinedFabric.java +++ b/fabric/src/main/java/whocraft/tardis_refined/fabric/TardisRefinedFabric.java @@ -19,11 +19,14 @@ import whocraft.tardis_refined.TardisRefined; import whocraft.tardis_refined.common.hum.TardisHums; import whocraft.tardis_refined.common.tardis.TardisDesktops; +import whocraft.tardis_refined.common.util.Platform; import whocraft.tardis_refined.common.util.fabric.PlatformImpl; import whocraft.tardis_refined.common.world.fabric.TRFabricBiomeModifiers; +import whocraft.tardis_refined.compat.CuriosTrinketsUtil; import whocraft.tardis_refined.compat.ModCompatChecker; import whocraft.tardis_refined.compat.portals.ImmersivePortals; import whocraft.tardis_refined.compat.portals.fabric.PortalsCompatFabric; +import whocraft.tardis_refined.compat.trinkets.TrinketsUtil; import whocraft.tardis_refined.fabric.events.ModEvents; import whocraft.tardis_refined.patterns.ConsolePatterns; import whocraft.tardis_refined.patterns.ShellPatterns; @@ -89,6 +92,9 @@ public void onInitialize() { BiomeModifications.addFeature(BiomeSelectors.foundInOverworld(), GenerationStep.Decoration.UNDERGROUND_ORES, ResourceKey.create(Registries.PLACED_FEATURE, new ResourceLocation(TardisRefined.MODID, "ore_zeiton"))); BiomeModifications.addFeature(BiomeSelectors.foundInOverworld(), GenerationStep.Decoration.UNDERGROUND_ORES, ResourceKey.create(Registries.PLACED_FEATURE, new ResourceLocation(TardisRefined.MODID, "ore_zeiton_small"))); + if (Platform.isModLoaded("trinkets")) { + CuriosTrinketsUtil.setInstance(new TrinketsUtil()); + } } } \ No newline at end of file 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 902f95044..c9c8360c2 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 @@ -20,6 +20,7 @@ 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.overlays.VortexOverlay; import whocraft.tardis_refined.command.TardisRefinedCommand; import whocraft.tardis_refined.common.capability.tardis.TardisLevelOperator; import whocraft.tardis_refined.common.dimension.DimensionHandler; @@ -97,10 +98,9 @@ public static void addClientEvents() { ColorProviderRegistry.ITEM.register(TRItemColouring.SCREWDRIVER_COLORS, TRItemRegistry.SCREWDRIVER.get()); 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())); HudRenderCallback.EVENT.register((matrixStack, tickDelta) -> GravityOverlay.renderOverlay(guiGraphics.get())); - } diff --git a/forge/build.gradle b/forge/build.gradle index 73ce6b351..e79ad5040 100644 --- a/forge/build.gradle +++ b/forge/build.gradle @@ -70,7 +70,7 @@ dependencies { // modCompileOnly "curse.maven:jei-238222:${jei_version}" compileOnly "curse.maven:immersive-portals-355440:${immersive_portals_forge_version}" - + modImplementation "curse.maven:curios-309927:4921744" // With ForgeGradle 5, use the runtimeOnly configuration //runtimeOnly("me.djtheredstoner:DevAuth-${dev_auth_module_forge}:${dev_auth_forge_version}") @@ -79,6 +79,40 @@ 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/"] def replaceProperties = [mod_id: mod_id, mod_name: mod_name, mod_version: mod_version, diff --git a/forge/src/main/java/whocraft/tardis_refined/common/capability/player/forge/TardisPlayerInfoImpl.java b/forge/src/main/java/whocraft/tardis_refined/common/capability/player/neoforge/TardisPlayerInfoImpl.java similarity index 95% rename from forge/src/main/java/whocraft/tardis_refined/common/capability/player/forge/TardisPlayerInfoImpl.java rename to forge/src/main/java/whocraft/tardis_refined/common/capability/player/neoforge/TardisPlayerInfoImpl.java index 261fe84e7..686eaab5c 100644 --- a/forge/src/main/java/whocraft/tardis_refined/common/capability/player/forge/TardisPlayerInfoImpl.java +++ b/forge/src/main/java/whocraft/tardis_refined/common/capability/player/neoforge/TardisPlayerInfoImpl.java @@ -1,10 +1,9 @@ -package whocraft.tardis_refined.common.capability.player.forge; +package whocraft.tardis_refined.common.capability.player.neoforge; import net.minecraft.core.Direction; import net.minecraft.nbt.CompoundTag; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.entity.Entity; -import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.player.Player; import net.neoforged.bus.api.SubscribeEvent; @@ -36,7 +35,7 @@ public static void onAttachCapabilities(AttachCapabilitiesEvent e) { e.addCapability(new ResourceLocation(TardisRefined.MODID, "tardis_player_info"), new TardisPlayerInfoProvider(new TardisPlayerInfo(player))); } } - + public static Optional get(LivingEntity player) { return player.getCapability(TARDIS_PLAYER_INFO).resolve(); 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 89b751873..727e0958b 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 @@ -55,7 +55,7 @@ protected void registerModels() { basicItem(TRItemRegistry.RAW_ZEITON.getId()); basicItem(TRItemRegistry.ZEITON_NUGGET.getId()); - // basicItem(TRItemRegistry.MALLET.getId()); + // basicItem(TRItemRegistry.MALLET.getId()); basicItem(TRBlockRegistry.ZEITON_LANTERN.getId()); 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 new file mode 100644 index 000000000..753a7e352 --- /dev/null +++ b/forge/src/main/java/whocraft/tardis_refined/common/data/ItemTagProvider.java @@ -0,0 +1,32 @@ +package whocraft.tardis_refined.common.data; + +import net.minecraft.core.HolderLookup; +import net.minecraft.data.PackOutput; +import net.minecraft.data.tags.ItemTagsProvider; +import net.minecraft.world.item.Item; +import net.minecraft.world.level.block.Block; +import net.neoforged.neoforge.common.data.ExistingFileHelper; +import org.jetbrains.annotations.Nullable; +import whocraft.tardis_refined.TardisRefined; +import whocraft.tardis_refined.registry.TRItemRegistry; +import whocraft.tardis_refined.registry.TRTagKeys; + +import java.util.concurrent.CompletableFuture; + +public class ItemTagProvider extends ItemTagsProvider { + + public ItemTagProvider(PackOutput arg, CompletableFuture completableFuture, CompletableFuture> completableFuture2, CompletableFuture> completableFuture3, @Nullable ExistingFileHelper existingFileHelper) { + super(arg, completableFuture, completableFuture2, completableFuture3, TardisRefined.MODID, existingFileHelper); + } + + public ItemTagProvider(PackOutput arg, CompletableFuture completableFuture, CompletableFuture> completableFuture2, @Nullable ExistingFileHelper existingFileHelper) { + super(arg, completableFuture, completableFuture2, TardisRefined.MODID, existingFileHelper); + } + + @Override + 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()); + } +} 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 269ef1ac7..c83b161f5 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 @@ -12,7 +12,6 @@ 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.registry.TRUpgrades; import whocraft.tardis_refined.common.tardis.control.Control; import whocraft.tardis_refined.common.tardis.themes.ShellTheme; import whocraft.tardis_refined.constants.ModMessages; @@ -57,7 +56,7 @@ protected void addTranslations() { //Hum Sounds TardisHums.registerDefaultHums(); - for(Map.Entry entry : TardisHums.getDefaultHums().entrySet()){ + for (Map.Entry entry : TardisHums.getDefaultHums().entrySet()) { addSound(entry.getValue().getSoundEventId(), "TARDIS hums"); } @@ -128,6 +127,7 @@ protected void addTranslations() { addControl(TRControlRegistry.GENERIC_NO_SHOW.get(), "Switch"); addControl(TRControlRegistry.FUEL.get(), "Fuel"); addControl(TRControlRegistry.READOUT.get(), "GPS"); + addControl(TRControlRegistry.EXTERIOR_DISPLAY.get(), "Exterior Display"); /*Messages*/ add(ModMessages.MSG_EXTERIOR_COOLDOWN, "You must wait %s seconds"); @@ -147,7 +147,7 @@ protected void addTranslations() { add(ModMessages.NO_DESKTOP_NO_FUEL, "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: "); + add(ModMessages.FUEL, "Fuel: %s"); add(ModMessages.FUEL_OFFLINE, "Fuel offline"); add(ModMessages.WAYPOINT_LOADED, "Preloaded waypoint: %s"); add(ModMessages.HANDBRAKE_ENGAGED, "Handbrake engaged"); @@ -226,6 +226,23 @@ protected void addTranslations() { add(ModMessages.UI_EJECT_CANNOT_IN_FLIGHT, "Cannot eject whilst in flight"); + add("curios.identifier.timelord_sight", "AR Glasses"); + + + /*Create GUI Compatibility*/ + + /* add(ModMessages.DOOR_STATUS, "Door: %s"); + add(ModMessages.LOCK_STATUS, "Locked: %s"); + add(ModMessages.POSITION, "Position: %s"); + add(ModMessages.DIRECTION, "Direction: %s"); + add(ModMessages.DIMENSION, "Dimension: %s"); + add(ModCompatMessages.createDisplaySource("fuel"), "Fuel"); + add(ModCompatMessages.createDisplaySource("gps"), "GPS"); + add(ModCompatMessages.createDisplaySource("destination"), "GPS Destination"); + add(ModCompatMessages.createDisplaySource("tardis_bigdata"), "Tardis Summary"); + add(ModCompatMessages.createDisplaySource("door"), "Door Status"); + add(ModCompatMessages.createDisplaySource("locked"), "Lock Status");*/ + /*Shell Themes*/ addShell(ShellTheme.FACTORY.getId(), "Factory"); addShell(ShellTheme.POLICE_BOX.getId(), "Police Box"); @@ -260,7 +277,7 @@ protected void addTranslations() { /*Overlay Messages*/ add(ModMessages.ASCEND_KEY, "Ascend: %s"); add(ModMessages.DESCEND_KEY, "Descend: %s"); - add(ModMessages.EXIT_EXTERNAL_VIEW, "Exit External View: %s"); + add(ModMessages.EXIT_EXTERNAL_VIEW, "Exit Shell View: "); /*Upgrades*/ addUpgrade(TRUpgrades.CHAMELEON_CIRCUIT_SYSTEM.get(), "Chameleon Circuit", "Allows the TARDIS to change it's shape"); @@ -285,6 +302,9 @@ protected void addTranslations() { addUpgrade(TRUpgrades.SPEED_III.get(), "Speed III", "Flight speed is 25x faster"); addUpgrade(TRUpgrades.SPEED_IV.get(), "Speed IV", "Flight speed is 50x faster"); + /*Keybinds*/ + add(ModMessages.KEYBIND_EXIT_VIEW, "Exit Shell View"); + add(ModMessages.KEYBIND_TOGGLE_INFO_EXTERIOR_VIEW, "(Shell View) Toggle Info"); } diff --git a/forge/src/main/java/whocraft/tardis_refined/common/data/ManipulatorRecipeProvider.java b/forge/src/main/java/whocraft/tardis_refined/common/data/ManipulatorRecipeProvider.java index 833289b48..3c39cb5e4 100644 --- a/forge/src/main/java/whocraft/tardis_refined/common/data/ManipulatorRecipeProvider.java +++ b/forge/src/main/java/whocraft/tardis_refined/common/data/ManipulatorRecipeProvider.java @@ -8,9 +8,9 @@ import net.minecraft.data.DataProvider; import net.minecraft.resources.ResourceLocation; import whocraft.tardis_refined.TardisRefined; -import whocraft.tardis_refined.common.crafting.astral_manipulator.ManipulatorRecipes; import whocraft.tardis_refined.common.crafting.astral_manipulator.ManipulatorCraftingRecipe; import whocraft.tardis_refined.common.crafting.astral_manipulator.ManipulatorCraftingRecipeSerializer; +import whocraft.tardis_refined.common.crafting.astral_manipulator.ManipulatorRecipes; import java.util.ArrayList; import java.util.HashMap; 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 a423be645..643650437 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 @@ -17,7 +17,6 @@ import whocraft.tardis_refined.registry.TRTagKeys; import java.util.HashSet; -import java.util.Map; import java.util.Set; import java.util.concurrent.CompletableFuture; @@ -83,7 +82,6 @@ protected void addTags(HolderLookup.Provider provider) { .add(TRBlockRegistry.ASTRAL_MANIPULATOR_BLOCK.get()); - // ===== DIAGONAL WALLS ===== // This is cursed, but we gotta do what we gotta do diff --git a/forge/src/main/java/whocraft/tardis_refined/common/data/ProviderEntityTags.java b/forge/src/main/java/whocraft/tardis_refined/common/data/ProviderEntityTags.java index 890dbde41..21c93dd7f 100644 --- a/forge/src/main/java/whocraft/tardis_refined/common/data/ProviderEntityTags.java +++ b/forge/src/main/java/whocraft/tardis_refined/common/data/ProviderEntityTags.java @@ -4,7 +4,6 @@ import net.minecraft.core.registries.Registries; import net.minecraft.data.PackOutput; import net.minecraft.data.tags.EntityTypeTagsProvider; -import net.minecraft.resources.ResourceKey; import net.minecraft.resources.ResourceLocation; import net.minecraft.tags.TagKey; import net.minecraft.world.entity.EntityType; @@ -36,9 +35,9 @@ protected void addTags(HolderLookup.Provider provider) { tag(TRTagKeys.TARDIS_TELEPORT_BLACKLIST).add(EntityType.WITHER); //Add Create Mod entities to blacklist - tag(TRTagKeys.TARDIS_TELEPORT_BLACKLIST).addOptionalTag(new ResourceLocation("create","contraption")); - tag(TRTagKeys.TARDIS_TELEPORT_BLACKLIST).addOptionalTag(new ResourceLocation("create","gantry_contraption")); - tag(TRTagKeys.TARDIS_TELEPORT_BLACKLIST).addOptionalTag(new ResourceLocation("create","crafting_blueprint")); + tag(TRTagKeys.TARDIS_TELEPORT_BLACKLIST).addOptionalTag(new ResourceLocation("create", "contraption")); + tag(TRTagKeys.TARDIS_TELEPORT_BLACKLIST).addOptionalTag(new ResourceLocation("create", "gantry_contraption")); + tag(TRTagKeys.TARDIS_TELEPORT_BLACKLIST).addOptionalTag(new ResourceLocation("create", "crafting_blueprint")); } } 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 62fb3930b..ee19c0878 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 @@ -49,6 +49,7 @@ public void registerSounds() { add(TRSoundRegistry.ARTRON_PILLAR_ACTIVE.get(), basicSound("artron_pillar", new ResourceLocation(TardisRefined.MODID, "blocks/artron_pillar_active"))); add(TRSoundRegistry.CORRIDOR_TELEPORTER.get(), basicSound("corridor_teleporter", new ResourceLocation(TardisRefined.MODID, "blocks/corridor_teleporter"))); add(TRSoundRegistry.CORRIDOR_TELEPORTER_SUCCESS.get(), basicSound("corridor_teleporter_success", new ResourceLocation(TardisRefined.MODID, "blocks/corridor_teleporter_success"))); + add(TRSoundRegistry.VORTEX.get(), basicSound("vortex", new ResourceLocation(TardisRefined.MODID, "tardis/vortex"))); add(TRSoundRegistry.MALLET.get(), basicSound("mallet", new ResourceLocation(TardisRefined.MODID, "tools/mallet"))); @@ -64,7 +65,6 @@ public SoundDefinition basicSound(String langKey, ResourceLocation resourceLocat } - public SoundDefinition basicSound(String langKey, ResourceLocation... resourceLocation) { SoundDefinition soundDefinition = SoundDefinition.definition(); for (ResourceLocation location : resourceLocation) { diff --git a/forge/src/main/java/whocraft/tardis_refined/common/dimension/neoforge/DimensionHandlerImpl.java b/forge/src/main/java/whocraft/tardis_refined/common/dimension/neoforge/DimensionHandlerImpl.java index 848eab152..623ef9598 100644 --- a/forge/src/main/java/whocraft/tardis_refined/common/dimension/neoforge/DimensionHandlerImpl.java +++ b/forge/src/main/java/whocraft/tardis_refined/common/dimension/neoforge/DimensionHandlerImpl.java @@ -1,8 +1,6 @@ package whocraft.tardis_refined.common.dimension.neoforge; import com.google.common.collect.ImmutableList; -import com.google.gson.JsonObject; -import com.google.gson.JsonPrimitive; import com.mojang.serialization.Lifecycle; import net.minecraft.core.BlockPos; import net.minecraft.core.MappedRegistry; @@ -26,15 +24,9 @@ import net.minecraft.world.level.storage.WorldData; import net.neoforged.neoforge.common.NeoForge; import net.neoforged.neoforge.event.level.LevelEvent; -import whocraft.tardis_refined.TardisRefined; import whocraft.tardis_refined.common.dimension.DimensionHandler; import whocraft.tardis_refined.common.network.messages.sync.SyncLevelListMessage; -import java.io.File; -import java.io.FileWriter; -import java.io.IOException; -import java.nio.file.Path; -import java.util.ArrayList; import java.util.concurrent.Executor; import java.util.function.BiFunction; @@ -67,8 +59,7 @@ public static ServerLevel createDimension(Level level, ResourceKey id) { if (dimensionRegistry instanceof MappedRegistry writableRegistry) { writableRegistry.unfreeze(); //Must unfreeze registry to allow our dimension to persist. This Neoforge method is deprecated so we may need to use an Accessor Mixin in the future. writableRegistry.register(dimensionKey, dimension, Lifecycle.stable()); - } - else { + } else { throw new IllegalStateException(String.format("Unable to register dimension %s -- dimension registry not writable", dimensionKey.location())); } 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 310436e26..1ea87ed6c 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 @@ -35,4 +35,8 @@ public static boolean isServer() { public static MinecraftServer getServer() { return ServerLifecycleHooks.getCurrentServer(); } + + public static boolean isForge() { + return true; + } } \ No newline at end of file diff --git a/forge/src/main/java/whocraft/tardis_refined/compat/trinkets/CuriosUtil.java b/forge/src/main/java/whocraft/tardis_refined/compat/trinkets/CuriosUtil.java new file mode 100644 index 000000000..fc5ef0f39 --- /dev/null +++ b/forge/src/main/java/whocraft/tardis_refined/compat/trinkets/CuriosUtil.java @@ -0,0 +1,68 @@ +package whocraft.tardis_refined.compat.trinkets; + +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.item.ItemStack; +import net.neoforged.fml.InterModComms; +import net.neoforged.fml.event.lifecycle.InterModEnqueueEvent; +import net.neoforged.fml.javafmlmod.FMLJavaModLoadingContext; +import top.theillusivec4.curios.api.CuriosApi; +import top.theillusivec4.curios.api.SlotTypeMessage; +import top.theillusivec4.curios.api.type.inventory.IDynamicStackHandler; +import whocraft.tardis_refined.TardisRefined; +import whocraft.tardis_refined.compat.CuriosTrinketsSlotInv; +import whocraft.tardis_refined.compat.CuriosTrinketsUtil; + +public class CuriosUtil extends CuriosTrinketsUtil { + + public static void init() { + CuriosTrinketsUtil.setInstance(new CuriosUtil()); + FMLJavaModLoadingContext.get().getModEventBus().addListener(CuriosUtil::interModQueue); + } + + public static void interModQueue(InterModEnqueueEvent e) { + InterModComms.sendTo("curios", SlotTypeMessage.REGISTER_TYPE, () -> new SlotTypeMessage.Builder("timelord_sight").size(1).icon(new ResourceLocation(TardisRefined.MODID, "item/timelord_sight")).build()); + } + + @Override + public boolean isCurios() { + return true; + } + + @Override + public CuriosTrinketsSlotInv getSlot(LivingEntity entity, String slot) { + final CuriosTrinketsSlotInv[] slotHandler = {CuriosTrinketsSlotInv.EMPTY}; + CuriosApi.getCuriosHelper().getCuriosHandler(entity).ifPresent(curios -> { + curios.getStacksHandler(slot).ifPresent(stacks -> { + slotHandler[0] = new SlotInv(stacks.getStacks()); + }); + }); + return slotHandler[0]; + } + + public static class SlotInv implements CuriosTrinketsSlotInv { + + private final IDynamicStackHandler stackHandler; + + public SlotInv(IDynamicStackHandler stackHandler) { + this.stackHandler = stackHandler; + } + + @Override + public int getSlots() { + return this.stackHandler.getSlots(); + } + + @Override + public ItemStack getStackInSlot(int index) { + return this.stackHandler.getStackInSlot(index); + } + + @Override + public void setStackInSlot(int index, ItemStack stack) { + this.stackHandler.setStackInSlot(index, stack); + } + } + + +} \ No newline at end of file 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 7dbc68c1f..c15700813 100644 --- a/forge/src/main/java/whocraft/tardis_refined/neoforge/ClientForgeBus.java +++ b/forge/src/main/java/whocraft/tardis_refined/neoforge/ClientForgeBus.java @@ -7,9 +7,9 @@ import net.neoforged.neoforge.client.event.RenderGuiOverlayEvent; import net.neoforged.neoforge.event.TickEvent; import whocraft.tardis_refined.TardisRefined; +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.TardisClientLogic; @Mod.EventBusSubscriber(modid = TardisRefined.MODID, bus = Mod.EventBusSubscriber.Bus.FORGE, value = Dist.CLIENT) public class ClientForgeBus { 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 8857239cd..1bcad6a3a 100644 --- a/forge/src/main/java/whocraft/tardis_refined/neoforge/CommonBus.java +++ b/forge/src/main/java/whocraft/tardis_refined/neoforge/CommonBus.java @@ -24,18 +24,11 @@ import whocraft.tardis_refined.common.util.TardisHelper; import whocraft.tardis_refined.patterns.ConsolePatterns; import whocraft.tardis_refined.patterns.ShellPatterns; -import whocraft.tardis_refined.registry.TRPointOfInterestTypes; @Mod.EventBusSubscriber(modid = TardisRefined.MODID, bus = Mod.EventBusSubscriber.Bus.FORGE) public class CommonBus { - @SubscribeEvent - public static void onServerStarted(ServerStartedEvent event) { - // We call this here to make sure blocks are registered - TRPointOfInterestTypes.registerBlockStates(); - } - @SubscribeEvent public static void onServerTick(TickEvent.ServerTickEvent event) { diff --git a/forge/src/main/java/whocraft/tardis_refined/neoforge/TardisRefinedForge.java b/forge/src/main/java/whocraft/tardis_refined/neoforge/TardisRefinedForge.java index cc6cfd8bf..8a4e53145 100644 --- a/forge/src/main/java/whocraft/tardis_refined/neoforge/TardisRefinedForge.java +++ b/forge/src/main/java/whocraft/tardis_refined/neoforge/TardisRefinedForge.java @@ -12,6 +12,8 @@ import whocraft.tardis_refined.TardisRefined; import whocraft.tardis_refined.common.crafting.astral_manipulator.ManipulatorRecipes; import whocraft.tardis_refined.common.data.*; +import whocraft.tardis_refined.common.util.Platform; +import whocraft.tardis_refined.compat.trinkets.CuriosUtil; @Mod(TardisRefined.MODID) public class TardisRefinedForge { @@ -24,6 +26,9 @@ public TardisRefinedForge() { ModLoadingContext.get().registerConfig(ModConfig.Type.CLIENT, TRConfig.CLIENT_SPEC); ModLoadingContext.get().registerConfig(ModConfig.Type.SERVER, TRConfig.SERVER_SPEC); + if (Platform.isModLoaded("curios")) { + CuriosUtil.init(); + } /* if (ModCompatChecker.immersivePortals()) { if(TRConfig.COMMON.COMPATIBILITY_IP.get()) { @@ -48,8 +53,10 @@ public void onGatherData(GatherDataEvent e) { generator.addProvider(e.includeClient(), new ParticleProvider(generator)); /*Data Pack*/ - generator.addProvider(e.includeServer(), new ProviderBlockTags(generator.getPackOutput(), e.getLookupProvider(), e.getExistingFileHelper())); + ProviderBlockTags blocks = generator.addProvider(e.includeServer(), new ProviderBlockTags(generator.getPackOutput(), e.getLookupProvider(), e.getExistingFileHelper())); + generator.addProvider(e.includeServer(), new ItemTagProvider(generator.getPackOutput(), e.getLookupProvider(), blocks.contentsGetter(), existingFileHelper)); generator.addProvider(e.includeServer(), new WorldGenProvider(generator.getPackOutput(), e.getLookupProvider())); + generator.addProvider(e.includeServer(), new ProviderLootTable(generator.getPackOutput())); generator.addProvider(e.includeServer(), new RecipeProvider(generator, e.getLookupProvider())); generator.addProvider(e.includeServer(), new ConsolePatternProvider(generator)); diff --git a/forge/src/main/java/whocraft/tardis_refined/registry/neoforge/DeferredRegistryImpl.java b/forge/src/main/java/whocraft/tardis_refined/registry/neoforge/DeferredRegistryImpl.java index dc9b18911..eeb696f69 100644 --- a/forge/src/main/java/whocraft/tardis_refined/registry/neoforge/DeferredRegistryImpl.java +++ b/forge/src/main/java/whocraft/tardis_refined/registry/neoforge/DeferredRegistryImpl.java @@ -2,7 +2,6 @@ import com.mojang.serialization.Codec; import net.minecraft.core.Registry; -import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.resources.ResourceKey; import net.minecraft.resources.ResourceLocation; import net.neoforged.fml.javafmlmod.FMLJavaModLoadingContext; @@ -12,7 +11,6 @@ import whocraft.tardis_refined.registry.RegistrySupplier; import whocraft.tardis_refined.registry.RegistrySupplierHolder; -import java.util.LinkedHashMap; import java.util.Map; import java.util.Set; import java.util.function.Supplier; @@ -51,13 +49,17 @@ public Impl(ResourceKey> resourceKey, DeferredRegister this.syncToClient = syncToClient; } - /** Constructor for custom registries.*/ - public Impl(ResourceKey> resourceKey, DeferredRegister deferredRegister, boolean syncToClient){ + /** + * Constructor for custom registries. + */ + public Impl(ResourceKey> resourceKey, DeferredRegister deferredRegister, boolean syncToClient) { this(resourceKey, deferredRegister, true, syncToClient); } - /** Constructor for non-custom registries. Creates a Neoforge {@link DeferredRegister} instance.*/ - public Impl(String modid, ResourceKey> resourceKey){ + /** + * Constructor for non-custom registries. Creates a Neoforge {@link DeferredRegister} instance. + */ + public Impl(String modid, ResourceKey> resourceKey) { this(resourceKey, DeferredRegister.create(resourceKey, modid), false, false); } @@ -87,7 +89,7 @@ public Supplier> getRegistry() { } @Override - public ResourceKey> key(){ + public ResourceKey> key() { return this.resourceKey; } diff --git a/gradle.properties b/gradle.properties index b10a136e3..b467052a8 100644 --- a/gradle.properties +++ b/gradle.properties @@ -8,7 +8,7 @@ maven_group=whocraft mod_base_package=whocraft.tardis_refined archives_base_name=tardis_refined minecraft_version=1.20.2 - +trinkets_version=3.8.0 enabled_platforms=neoforge,fabric #Architectuary @@ -46,7 +46,7 @@ neoforge_data_pack_format=18 ##Mod Information #Common Mod Information -mod_version=2.0.8 +mod_version=2.1.0 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