add defensetech module

license: ARR
also removed threadgetdata
updatenotifier that isnt needed
This commit is contained in:
maggi373 committed 2026-03-17 21:01:45 +01:00
1 parent 38482d09b0
commit be3cd50b79
424 files changed
+36869 -2

No files matched your search

+17 -2
View File
@@ -69,6 +69,7 @@ minecraft {
replaceIn "mekanism/common/Mekanism.java"
replaceIn "mekanism/generators/common/MekanismGenerators.java"
replaceIn "mekanism/tools/common/MekanismTools.java"
replaceIn "mekanism/defense/common/DefenseTech.java"
replace "GRADLE_MODVERSION", mod_version
replace "GRADLE_VERSIONMOD", alt_version
}
@@ -140,10 +141,24 @@ task generatorsJar(type: Jar) {
}
}
task defensetechJar(type: Jar) {
classifier = 'DefenseTech'
from('etc/defensetech') {
include '*.info'
expand 'version': mod_version, 'mc_version': minecraft_version, 'fmp_version': FMP_version
}
from zipTree(jar.outputs.getFiles().getSingleFile()).matching {
include 'mekanism/defensetech/**'
exclude 'mcmod.info'
}
}
coreJar.dependsOn('reobf')
toolsJar.dependsOn('reobf')
generatorsJar.dependsOn('reobf')
alltJar.dependsOn('reobf')
defensetechJar.dependsOn('reobf')
task MDKZip(type: Zip) {
@@ -181,7 +196,7 @@ task fullBuild(type: Delete) {
delete jar
}
fullBuild.dependsOn('toolsJar', 'coreJar', 'generatorsJar', 'MDKZip', 'alltJar', 'apiJar', 'devJar')
fullBuild.dependsOn('toolsJar', 'coreJar', 'generatorsJar', 'MDKZip', 'alltJar', 'apiJar', 'devJar','defensetechJar')
artifactory {
contextUrl = System.getenv("MAVEN_URL")
@@ -216,7 +231,7 @@ publishing {
artifactId = project.archivesBaseName
groupId = project.group
version = project.version
artifacts = [toolsJar, coreJar, generatorsJar, MDKZip, alltJar, apiJar, devJar]
artifacts = [toolsJar, coreJar, generatorsJar, MDKZip, alltJar, apiJar, devJar, defensetechJar]
components.java.withVariantsFromConfiguration(configurations.runtimeElements) {
skip()
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

+16
View File
@@ -0,0 +1,16 @@
[
{
"modid": "DefenseTech",
"name": "DefenseTech",
"description": "DefenseTech is a Minecraft add-on featuring high-tech weaponry and defense technologies, including missiles, devastating explosives, and other nifty gadgets. The mod serves as a continuation of Calclavia's classic mod 'ICBM.'",
"version": "${version}",
"mcversion": "${mc_version}",
"authors": [
"aidancbrady"
],
"credits": "",
"logoFile": "/defense_banner.png",
"screenshots": [],
"dependencies": ["Mekanism"]
}
]
@@ -0,0 +1,124 @@
package defense.api;
import net.minecraft.entity.Entity;
import net.minecraft.world.Explosion;
import net.minecraft.world.World;
import cpw.mods.fml.common.eventhandler.Cancelable;
import cpw.mods.fml.common.eventhandler.Event;
/** Use ForgeSubscribe to subscribe to this event. This event is called every single time when a registered
* explosion happens.
*
* @author Calclavia */
@Cancelable
public class ExplosionEvent extends Event
{
/** The explosion object. Can be cast into {@link Explosion}. This event can be canceled to
* prevent a specific part of an explosion from being executed. */
public World world;
public double x, y, z;
public IExplosion iExplosion;
/** Pre-cast explosion class. */
public Explosion explosion;
public ExplosionEvent(World world, IExplosion iExplosion)
{
this.world = world;
this.iExplosion = iExplosion;
this.x = ((Explosion) iExplosion).explosionX;
this.y = ((Explosion) iExplosion).explosionY;
this.z = ((Explosion) iExplosion).explosionZ;
if (this.iExplosion instanceof Explosion)
{
this.explosion = (Explosion) this.iExplosion;
}
}
/** Called before an explosive is detonated or a missile is placed to check if detonation is
* possible. You may cancel and explosion here if needed. After this it will be a bit too late
* to prevent destruction without any losses.
*
* @author Calclavia */
@Cancelable
public static class ExplosivePreDetonationEvent extends Event
{
/** The world object */
public World world;
/** The entity causing the explosion. This could be null */
public Entity entity;
/** The position in which the explosion might happen. */
public double x, y, z;
/** The explosive object. */
public IExplosive explosion;
/** The explosive type. */
public ExplosiveType type;
public ExplosivePreDetonationEvent(World world, double x, double y, double z, ExplosiveType type, IExplosive explosion)
{
this.world = world;
this.type = type;
this.explosion = explosion;
this.x = x;
this.y = y;
this.z = z;
}
public ExplosivePreDetonationEvent(World world, Entity entity, ExplosiveType type, IExplosive explosion)
{
this.world = world;
this.entity = entity;
this.type = type;
this.explosion = explosion;
this.x = entity.posX;
this.y = entity.posY;
this.z = entity.posZ;
}
}
/** Called when an explosion is constructed.
*
* @author Calclavia */
public static class ExplosionConstructionEvent extends ExplosionEvent
{
public ExplosionConstructionEvent(World world, IExplosion explosion)
{
super(world, explosion);
}
}
/** Called before an explosion happens.
*
* @author Calclavia */
public static class PreExplosionEvent extends ExplosionEvent
{
public PreExplosionEvent(World world, IExplosion explosion)
{
super(world, explosion);
}
}
/** Called while an explosion happens. May be called every single tick if explosion is
* procedural. (E.g: Red matter explosive)
*
* @author Calclavia */
public static class DoExplosionEvent extends ExplosionEvent
{
public DoExplosionEvent(World world, IExplosion explosion)
{
super(world, explosion);
}
}
/** Called after an explosion happens.
*
* @author Calclavia */
public static class PostExplosionEvent extends ExplosionEvent
{
public PostExplosionEvent(World world, IExplosion explosion)
{
super(world, explosion);
}
}
}
@@ -0,0 +1,24 @@
package defense.api;
public enum ExplosiveType
{
ALL,
/** An explosive in TNT block form. */
BLOCK,
/** An explosive in item form such as a grenade. */
ITEM,
/** An explosive in aircraft form such as a missile. */
AIR,
/** An explosive in vehicle form such as a minecart. */
VEHICLE;
public static ExplosiveType get(int id)
{
if (id >= 0 && id < ExplosiveType.values().length)
{
return ExplosiveType.values()[id];
}
return null;
}
}
@@ -0,0 +1,168 @@
package defense.api;
import java.util.Collections;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
import java.util.WeakHashMap;
import mekanism.api.Pos3D;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
import cpw.mods.fml.common.FMLCommonHandler;
/**
* A grid MFFS uses to search for machines with frequencies that can be linked and spread Fortron
* energy.
*
* @author Calclavia
*
*/
public class FrequencyGrid
{
private static FrequencyGrid CLIENT_INSTANCE = new FrequencyGrid();
private static FrequencyGrid SERVER_INSTANCE = new FrequencyGrid();
private final Set<IBlockFrequency> frequencyGrid = Collections.newSetFromMap(new WeakHashMap<IBlockFrequency, Boolean>());
public void register(IBlockFrequency tileEntity)
{
synchronized(frequencyGrid)
{
try {
Iterator<IBlockFrequency> it = frequencyGrid.iterator();
while(it.hasNext())
{
IBlockFrequency frequency = it.next();
if(frequency == null)
{
it.remove();
continue;
}
if(((TileEntity)frequency).isInvalid())
{
it.remove();
continue;
}
if(new Pos3D((TileEntity)frequency).equals(new Pos3D((TileEntity)tileEntity)))
{
it.remove();
continue;
}
}
} catch(Exception e) {
e.printStackTrace();
}
frequencyGrid.add(tileEntity);
}
}
public void unregister(IBlockFrequency tileEntity)
{
synchronized(frequencyGrid)
{
frequencyGrid.remove(tileEntity);
cleanUp();
}
}
public Set<IBlockFrequency> get()
{
return frequencyGrid;
}
/**
* Gets a list of TileEntities that has a specific frequency.
*
* @param frequency - The Frequency
* */
public Set<IBlockFrequency> get(int frequency)
{
Set<IBlockFrequency> set = new HashSet<IBlockFrequency>();
for(IBlockFrequency tile : this.get())
{
if(tile != null && !((TileEntity) tile).isInvalid())
{
if(tile.getFrequency() == frequency)
{
set.add(tile);
}
}
}
return set;
}
public void cleanUp()
{
Set<IBlockFrequency> tilesToRemove = new HashSet<IBlockFrequency>();
Iterator<IBlockFrequency> it = this.frequencyGrid.iterator();
while(it.hasNext())
{
IBlockFrequency frequency = it.next();
if(frequency == null)
{
tilesToRemove.add(frequency);
continue;
}
if(((TileEntity)frequency).isInvalid())
{
tilesToRemove.add(frequency);
continue;
}
if(((TileEntity)frequency).getWorldObj().getTileEntity(((TileEntity)frequency).xCoord, ((TileEntity)frequency).yCoord, ((TileEntity)frequency).zCoord) != ((TileEntity)frequency))
{
tilesToRemove.add(frequency);
continue;
}
}
for(IBlockFrequency tile : tilesToRemove)
{
unregister(tile);
}
}
public Set<IBlockFrequency> get(World world, Pos3D position, int radius, int frequency)
{
Set<IBlockFrequency> set = new HashSet<IBlockFrequency>();
for(IBlockFrequency tileEntity : get(frequency))
{
if(((TileEntity)tileEntity).getWorldObj() == world)
{
if(new Pos3D((TileEntity)tileEntity).distance(position) <= radius)
{
set.add(tileEntity);
}
}
}
return set;
}
/**
* Called to re-initiate the grid. Used when server restarts or when player rejoins a world to
* clean up previously registered objects.
*/
public static void reinitiate()
{
CLIENT_INSTANCE = new FrequencyGrid();
SERVER_INSTANCE = new FrequencyGrid();
}
public static FrequencyGrid instance()
{
return FMLCommonHandler.instance().getEffectiveSide().isClient() ? CLIENT_INSTANCE : SERVER_INSTANCE;
}
}
@@ -0,0 +1,23 @@
package defense.api;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.item.ItemStack;
/** Apply this to all item armors and it will prevent the player from receiving a specific type of
* poison. */
public interface IAntiPoisonArmor
{
/** @itemStack - The item stack this armor is in.
* @type - The type of poison given to this entity
* @return - Returns true if this armor prevents poison from the player. */
public boolean isProtectedFromPoison(ItemStack itemStack, EntityLivingBase entityLiving, String type);
/** Called when this piece of armor protects a player from a specific poison.
*
* @itemStack - The item stack this armor is in.
* @type - The type of poison given to this entity */
public void onProtectFromPoison(ItemStack itemStack, EntityLivingBase entityLiving, String type);
/** Basically the slot on the entity of 0-3 */
public int getArmorType();
}
@@ -0,0 +1,11 @@
package defense.api;
import net.minecraft.world.World;
public interface IAntiPoisonBlock
{
/** Returns true if this armor prevents poison from passing through.
*
* @return */
public boolean isPoisonPrevention(World par1World, int x, int y, int z, String type);
}
@@ -0,0 +1,22 @@
package defense.api;
/**
* Applied to all blocks that has a frequency.
*
* @author Calclavia
*/
public interface IBlockFrequency
{
/**
* @return The frequency of this object.
*/
public int getFrequency();
/**
* Sets the frequency
*
* @param frequency - The frequency of this object.
*/
public void setFrequency(int frequency);
}
@@ -0,0 +1,16 @@
package defense.api;
import net.minecraft.world.World;
/** Applied to all blocks that has a custom reaction to EMPs. Blocks not TileEntities.
*
* @author Calclavia */
public interface IEMPBlock
{
/** Called when this block gets attacked by EMP.
*
* @param world - The world object.
* @param position - The position.
* @param empExplosive - The explosion */
public void onEMP(World world, int x, int y, int z, IExplosion empExplosive);
}
@@ -0,0 +1,17 @@
package defense.api;
import net.minecraft.entity.Entity;
import net.minecraft.item.ItemStack;
/** Applied to all items that can be protected from EMP somehow.
*
* @author Calclavia */
public interface IEMPItem
{
/** Called when this item is being EMPed
*
* @param itemStack - The itemstack attacked by EMP
* @param entity - The entity holding the item
* @param empExplosives - The IExplosive object */
public void onEMP(ItemStack itemStack, Entity entity, IExplosion empExplosive);
}
@@ -0,0 +1,9 @@
package defense.api;
/** An entity that is currently conducting an explosion.
*
* @author Calclavia */
public interface IEntityExplosion
{
public void endExplosion();
}
@@ -0,0 +1,17 @@
package defense.api;
/** The actual explosion interface. Extends Explosion.java.
*
* @author Calclavia */
public interface IExplosion
{
/** Called to initiate the explosion. */
public void explode();
/** @return The radius of effect of the explosion. */
public float getRadius();
/** @return The energy emitted by this explosive. In Joules and approximately based off of a real
* life equivalent. */
public long getEnergy();
}
@@ -0,0 +1,60 @@
package defense.api;
import net.minecraft.client.model.ModelBase;
import net.minecraft.entity.Entity;
import net.minecraft.util.IIcon;
import net.minecraft.util.ResourceLocation;
import net.minecraft.world.World;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import defense.client.model.missile.ModelMissileBase;
/** An interface used to find various types of explosive's information.
*
* @author Calclavia */
public interface IExplosive extends ITier
{
/** @return Gets the explosive's ID. */
public int getID();
/** @return The unique name key in the language file. */
public String getUnlocalizedName();
/** @return Gets the specific translated name of the block versions of the explosive. */
public String getExplosiveName();
/** @return Gets the specific translated name of the grenade versions of the explosive. */
public String getGrenadeName();
/** @return Gets the specific translated name of the missile versions of the explosive. */
public String getMissileName();
/** @return Gets the specific translated name of the minecart versions of the explosive. */
public String getMinecartName();
/** @return The tier of the explosive. */
@Override
public int getTier();
/** Creates a new explosion at a given location.
*
* @param world The world in which the explosion takes place.
* @param x The X-Coord
* @param y The Y-Coord
* @param z The Z-Coord
* @param entity Entity that caused the explosion. */
public void createExplosion(World world, double x, double y, double z, Entity entity);
@SideOnly(Side.CLIENT)
public ModelBase getBlockModel();
@SideOnly(Side.CLIENT)
public ModelMissileBase getMissileModel();
@SideOnly(Side.CLIENT)
public ResourceLocation getBlockResource();
@SideOnly(Side.CLIENT)
public IIcon getIcon();
}
@@ -0,0 +1,14 @@
package defense.api;
import net.minecraft.nbt.NBTTagCompound;
/** An object that contains a reference to IExplosive. Carried by explosives, grenades and missile
* entities etc.
*
* @author Calclavia */
public interface IExplosiveContainer
{
public NBTTagCompound getTagCompound();
public IExplosive getExplosiveType();
}
@@ -0,0 +1,10 @@
package defense.api;
/** Applied to entities that ignore the affects of a specific explosion.
*
* @author Calclavia */
public interface IExplosiveIgnore
{
public boolean canIgnore(IExplosion explosion);
}
@@ -0,0 +1,20 @@
package defense.api;
import net.minecraft.item.ItemStack;
/** Applied to all items that has a frequency.
*
* @author Calclavia */
public interface IItemFrequency
{
/** @param data - Pass an ItemStack if dealing with items with frequencies.
* @return The frequency of this object. */
public int getFrequency(ItemStack itemStack);
/** Sets the frequency
*
* @param frequency - The frequency of this object.
* @param data - Pass an ItemStack if dealing with items with frequencies. */
public void setFrequency(int frequency, ItemStack itemStack);
}
@@ -0,0 +1,12 @@
package defense.api;
import net.minecraft.entity.Entity;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
public interface IItemTracker
{
public void setTrackingEntity(ItemStack itemStack, Entity entity);
public Entity getTrackingEntity(World worldObj, ItemStack itemStack);
}
@@ -0,0 +1,14 @@
package defense.api;
import net.minecraft.inventory.IInventory;
/** Applied to TileEntities that contains missiles within them.
*
* @author Calclavia */
public interface ILauncherContainer extends IInventory
{
/** Retrieves the launcher controller controlling this container. */
public ILauncherController getController();
public void setContainingMissile(IMissile missile);
}
@@ -0,0 +1,39 @@
package defense.api;
import mekanism.api.Pos3D;
import net.minecraft.item.ItemStack;
/** Applied to all launcher TileEntitiies that operates the launching of missiles.
*
* @author Calclavia */
public interface ILauncherController
{
/** What type of launcher is this? */
public LauncherType getLauncherType();
/** Launches the missile into the specified target. */
public void launch();
/** Can the launcher launch the missile? */
public boolean canLaunch();
/** @return The status of the launcher. */
public String getStatus();
/** @return The target of the launcher. */
public Pos3D getTarget();
/** @param target Sets the target of the launcher */
public void setTarget(Pos3D target);
/** Places a missile into the launcher. */
public void placeMissile(ItemStack itemStack);
public IMissile getMissile();
public enum LauncherType
{
TRADITIONAL,
CRUISE
}
}
@@ -0,0 +1,38 @@
package defense.api;
import mekanism.api.Pos3D;
/** This is an interface applied by all missile entities. You may cast this into an @Entity. The
* "set" version of the function will make the entity do the action on the next tick.
*
* @author Calclavia */
public interface IMissile extends IExplosiveContainer
{
/** Blows up this missile. It will detonate the missile with the appropriate explosion. */
public void explode();
public void setExplode();
/** Blows up this missile like a TNT explosion. Small explosion used for events such as a missile
* crashing or failure to explode will result in this function being called. */
public void normalExplode();
public void setNormalExplode();
/** Drops the specified missile as an item. */
public void dropMissileAsItem();
/** The amount of ticks this missile has been flying for. Returns -1 if the missile is not
* flying. */
public int getTicksInAir();
/** Gets the launcher this missile is launched from. */
public ILauncherContainer getLauncher();
/** Launches the missile into a specific target.
*
* @param target */
public void launch(Pos3D target);
public void launch(Pos3D target, int height);
}
@@ -0,0 +1,22 @@
package defense.api;
import net.minecraft.tileentity.TileEntity;
/** Make your TileEntity implement this to have special reaction to radar scanning.
*
* @author Calclavia */
public interface IRadarDetectable
{
/**
* Whether or not this TileEntity can be detected by radar.
* @param radar - the radar TileEntity
* @return if this TileEntity is detectable by radar
*/
public boolean canDetect(TileEntity radar);
/**
* Gets the name displayed by a radar block's interface for this TileEntity
* @return this TileEntity's radar display name
*/
public String getRadarDisplayName();
}
@@ -0,0 +1,45 @@
package defense.api;
import mekanism.api.Pos3D;
/** This should only be used to improve or restrict the targeting behavior of an entity. By default
* sentry guns and other automated tracking will target an entity. Especially if they use build in
* interfaces such as IMob from MC. As well IMissile is automatically tracked but it
* is recommended to use this to help targeting predict the position. The other use of this
* interface is to apply anti-targeting to an entity. For example canBeTargeted will prevent the
* entity from being target out right. As well predicted position can be used to trick missiles into
* missing.
*
* @author Darkguardsman */
public interface ITarget
{
/** Gets the predicted position of this entity after a specified amount of ticks.
*
* @param ticks - The amount of time.
* @return The predicted Vector, or if not predictable, the current position. */
public Pos3D getPredictedPosition(int ticks);
/** Can this be targeted by automated targeting systems or AIs. Used to implement radar jammers,
* cloaking devices, and other addons for the Entity being targeted
*
* @param entity - entity that is targeting this, can be an Entity, EntityLiving, or TileEntity
* @return true if it can */
public boolean canBeTargeted(Object entity);
/** Type of target */
public TargetType getType();
public static enum TargetType
{
/** General air should only be applied to living entities */
AIR,
/** Anything that is an instance of IMissile */
MISSILE,
/** Flying machine that may or may not be piloted */
PLANE,
/** Any living entity that walks or hovers on the ground */
GROUND,
/** Causes all sentry types to target */
ANY;
}
}
@@ -0,0 +1,17 @@
package defense.api;
/** This interface should be applied to all things that has a tier/level.
*
* @author Calclavia */
public interface ITier
{
/** Gets the tier of this object
*
* @return - The tier */
public int getTier();
/** Sets the tier of the object
*
* @param tier - The tier to be set */
public void setTier(int tier);
}
@@ -0,0 +1,148 @@
package defense.api;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
import defense.common.Vector2;
import mekanism.api.Pos3D;
import net.minecraft.entity.Entity;
import net.minecraft.tileentity.TileEntity;
/** This class allows you to register TileEntities and Entities to be detectable by radar machinery.
*
* Make sure you unregister your object when it invalidates!
*
* @author Calclavia */
public class RadarRegistry
{
private static Set<TileEntity> detectableTileEntities = new HashSet<TileEntity>();
private static Set<Entity> detectableEntities = new HashSet<Entity>();
public static void register(TileEntity tileEntity)
{
if (!detectableTileEntities.contains(tileEntity))
{
detectableTileEntities.add(tileEntity);
}
}
public static void unregister(TileEntity tileEntity)
{
if (detectableTileEntities.contains(tileEntity))
{
detectableTileEntities.remove(tileEntity);
}
}
public static void register(Entity entity)
{
if (!detectableEntities.contains(entity))
{
detectableEntities.add(entity);
}
}
public static void unregister(Entity entity)
{
if (detectableEntities.contains(entity))
{
detectableEntities.remove(entity);
}
}
public static List<TileEntity> getTileEntitiesInArea(Vector2 minVector, Vector2 maxVector)
{
cleanUpArray();
List<TileEntity> returnArray = new ArrayList<TileEntity>();
for (TileEntity tileEntity : detectableTileEntities)
{
Vector2 point = new Vector2(new Pos3D(tileEntity));
if ((point.x > minVector.x && point.x < maxVector.x) && (point.y > minVector.y && point.y < maxVector.y))
{
returnArray.add(tileEntity);
}
}
return returnArray;
}
public static List<Entity> getEntitiesWithinRadius(Vector2 vector, int radius)
{
cleanUpArray();
List<Entity> returnArray = new ArrayList<Entity>();
for (Entity entity : detectableEntities)
{
if (Vector2.distance(vector, new Vector2(new Pos3D(entity))) <= radius)
{
returnArray.add(entity);
}
}
return returnArray;
}
public static Set<TileEntity> getTileEntities()
{
cleanUpArray();
return detectableTileEntities;
}
public static Set<Entity> getEntities()
{
cleanUpArray();
return detectableEntities;
}
public static void cleanUpArray()
{
try
{
Iterator<TileEntity> it = detectableTileEntities.iterator();
while (it.hasNext())
{
TileEntity tileEntity = it.next();
if (tileEntity == null)
{
it.remove();
}
else if (tileEntity.isInvalid())
{
it.remove();
}
else if (tileEntity.getWorldObj().getTileEntity(tileEntity.xCoord, tileEntity.yCoord, tileEntity.zCoord) != tileEntity)
{
it.remove();
}
}
Iterator<Entity> it2 = detectableEntities.iterator();
while (it2.hasNext())
{
Entity entity = it2.next();
if (entity == null)
{
it2.remove();
}
else if (entity.isDead)
{
it2.remove();
}
}
}
catch (Exception e)
{
System.out.println("Failed to clean up radar list properly.");
e.printStackTrace();
}
}
}
@@ -0,0 +1,39 @@
package defense.client;
import net.minecraft.client.Minecraft;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import cpw.mods.fml.common.gameevent.TickEvent.Phase;
import cpw.mods.fml.common.gameevent.TickEvent.PlayerTickEvent;
import defense.common.DefenseTechItems;
public class ClientPlayerTickHandler
{
@SubscribeEvent
public void onTick(PlayerTickEvent event)
{
if(event.phase == Phase.START)
{
try {
EntityPlayer player = (EntityPlayer)event.player;
ItemStack currentItem = player.getCurrentEquippedItem();
if(currentItem != null && (player != Minecraft.getMinecraft().renderViewEntity || Minecraft.getMinecraft().gameSettings.thirdPersonView != 0))
{
if(currentItem.getItem() == DefenseTechItems.itemRocketLauncher)
{
if(player.getItemInUseCount() <= 0)
{
player.setItemInUse(currentItem, Integer.MAX_VALUE);
}
}
}
} catch (Exception e) {
System.out.println("Failed to tick properly.");
e.printStackTrace();
}
}
}
}
@@ -0,0 +1,305 @@
package defense.client;
import java.util.List;
import mekanism.api.Pos3D;
import net.minecraft.block.Block;
import net.minecraft.client.Minecraft;
import net.minecraft.client.model.ModelBase;
import net.minecraft.client.particle.EffectRenderer;
import net.minecraft.client.particle.EntityDiggingFX;
import net.minecraft.client.particle.EntityFX;
import net.minecraft.client.renderer.entity.RenderMinecart;
import net.minecraft.client.renderer.entity.RendererLivingEntity;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
import net.minecraftforge.client.MinecraftForgeClient;
import net.minecraftforge.client.event.RenderLivingEvent.Specials.Pre;
import org.lwjgl.opengl.GL11;
import cpw.mods.fml.client.FMLClientHandler;
import cpw.mods.fml.client.registry.ClientRegistry;
import cpw.mods.fml.client.registry.RenderingRegistry;
import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.relauncher.ReflectionHelper;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import defense.api.IItemFrequency;
import defense.client.gui.GuiCruiseLauncher;
import defense.client.gui.GuiEMPTower;
import defense.client.gui.GuiFrequency;
import defense.client.gui.GuiLauncherScreen;
import defense.client.gui.GuiRadarStation;
import defense.client.render.RenderUtils;
import defense.client.render.block.BlockRenderingHandler;
import defense.client.render.entity.RenderEntityExplosive;
import defense.client.render.entity.RenderExplosion;
import defense.client.render.entity.RenderGrenade;
import defense.client.render.entity.RenderLightBeam;
import defense.client.render.entity.RenderMissile;
import defense.client.render.item.RenderItemMachine;
import defense.client.render.item.RenderItemMissile;
import defense.client.render.item.RenderRocketLauncher;
import defense.client.render.particle.FXAntimatterPartical;
import defense.client.render.particle.FXElectricBolt;
import defense.client.render.particle.FXElectricBoltSpawner;
import defense.client.render.particle.FXEnderPortalPartical;
import defense.client.render.particle.FXShockWave;
import defense.client.render.particle.FXSmoke;
import defense.client.render.tile.RenderBombBlock;
import defense.client.render.tile.RenderCruiseLauncher;
import defense.client.render.tile.RenderEmpTower;
import defense.client.render.tile.RenderLauncherBase;
import defense.client.render.tile.RenderLauncherFrame;
import defense.client.render.tile.RenderLauncherScreen;
import defense.client.render.tile.RenderRadarStation;
import defense.common.CommonProxy;
import defense.common.DefenseTech;
import defense.common.DefenseTechBlocks;
import defense.common.DefenseTechItems;
import defense.common.entity.EntityBombCart;
import defense.common.entity.EntityExplosion;
import defense.common.entity.EntityExplosive;
import defense.common.entity.EntityFlyingBlock;
import defense.common.entity.EntityFragments;
import defense.common.entity.EntityGrenade;
import defense.common.entity.EntityLightBeam;
import defense.common.entity.EntityMissile;
import defense.common.entity.RenderEntityBlock;
import defense.common.entity.RenderShrapnel;
import defense.common.explosion.missile.MissileMovingSound;
import defense.common.potion.PoisonFrostBite;
import defense.common.tile.TileCruiseLauncher;
import defense.common.tile.TileEMPTower;
import defense.common.tile.TileExplosive;
import defense.common.tile.TileLauncherBase;
import defense.common.tile.TileLauncherFrame;
import defense.common.tile.TileLauncherScreen;
import defense.common.tile.TileRadarStation;
@SideOnly(Side.CLIENT)
public class ClientProxy extends CommonProxy
{
private boolean disableReflectionFX = false;
@Override
public void preInit()
{
super.preInit();
FMLCommonHandler.instance().bus().register(new ClientPlayerTickHandler());
FMLCommonHandler.instance().bus().register(new ClientTickHandler());
}
@Override
public void init()
{
super.init();
MinecraftForgeClient.registerItemRenderer(DefenseTechItems.itemRocketLauncher, new RenderRocketLauncher());
MinecraftForgeClient.registerItemRenderer(DefenseTechItems.itemMissile, new RenderItemMissile());
MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(DefenseTechBlocks.blockMachine), new RenderItemMachine());
RenderingRegistry.registerEntityRenderingHandler(EntityFlyingBlock.class, new RenderEntityBlock());
RenderingRegistry.registerEntityRenderingHandler(EntityFragments.class, new RenderShrapnel());
RenderingRegistry.registerEntityRenderingHandler(EntityExplosive.class, new RenderEntityExplosive());
RenderingRegistry.registerEntityRenderingHandler(EntityMissile.class, new RenderMissile(0.5F));
RenderingRegistry.registerEntityRenderingHandler(EntityExplosion.class, new RenderExplosion());
RenderingRegistry.registerEntityRenderingHandler(EntityLightBeam.class, new RenderLightBeam());
RenderingRegistry.registerEntityRenderingHandler(EntityGrenade.class, new RenderGrenade());
RenderingRegistry.registerEntityRenderingHandler(EntityBombCart.class, new RenderMinecart());
RenderingRegistry.registerBlockHandler(new RenderBombBlock());
RenderingRegistry.registerBlockHandler(new BlockRenderingHandler());
ClientRegistry.bindTileEntitySpecialRenderer(TileCruiseLauncher.class, new RenderCruiseLauncher());
ClientRegistry.bindTileEntitySpecialRenderer(TileLauncherBase.class, new RenderLauncherBase());
ClientRegistry.bindTileEntitySpecialRenderer(TileLauncherScreen.class, new RenderLauncherScreen());
ClientRegistry.bindTileEntitySpecialRenderer(TileLauncherFrame.class, new RenderLauncherFrame());
ClientRegistry.bindTileEntitySpecialRenderer(TileRadarStation.class, new RenderRadarStation());
ClientRegistry.bindTileEntitySpecialRenderer(TileEMPTower.class, new RenderEmpTower());
ClientRegistry.bindTileEntitySpecialRenderer(TileExplosive.class, new RenderBombBlock());
}
@Override
public Object getClientGuiElement(int ID, EntityPlayer entityPlayer, World world, int x, int y, int z)
{
TileEntity tileEntity = world.getTileEntity(x, y, z);
if(entityPlayer.inventory.getCurrentItem() != null && entityPlayer.inventory.getCurrentItem().getItem() instanceof IItemFrequency)
{
return new GuiFrequency(entityPlayer, entityPlayer.inventory.getCurrentItem());
}
else if(tileEntity instanceof TileCruiseLauncher)
{
return new GuiCruiseLauncher(entityPlayer.inventory, (TileCruiseLauncher)tileEntity);
}
else if(tileEntity instanceof TileLauncherScreen)
{
return new GuiLauncherScreen(((TileLauncherScreen)tileEntity));
}
else if(tileEntity instanceof TileRadarStation)
{
return new GuiRadarStation(((TileRadarStation)tileEntity));
}
else if(tileEntity instanceof TileEMPTower)
{
return new GuiEMPTower((TileEMPTower)tileEntity);
}
return null;
}
@Override
public boolean isFancyGraphicsEnabled()
{
return Minecraft.getMinecraft().gameSettings.fancyGraphics;
}
@Override
public int getParticleSetting()
{
return Minecraft.getMinecraft().gameSettings.particleSetting;
}
@Override
public void spawnParticle(String name, World world, Pos3D position, double motionX, double motionY, double motionZ, float red, float green, float blue, float scale, double distance)
{
EntityFX fx = null;
if (name.equals("smoke"))
{
fx = new FXSmoke(world, position, red, green, blue, scale, distance);
}
else if (name.equals("missile_smoke"))
{
fx = (new FXSmoke(world, position, red, green, blue, scale, distance)).setAge(100);
}
else if (name.equals("portal"))
{
fx = new FXEnderPortalPartical(world, position, red, green, blue, scale, distance);
}
else if (name.equals("antimatter"))
{
fx = new FXAntimatterPartical(world, position, red, green, blue, scale, distance);
}
else if (name.equals("digging"))
{
fx = new EntityDiggingFX(world, position.xPos, position.yPos, position.zPos, motionX, motionY, motionZ, Block.getBlockById((int)red), 0, (int) green);
fx.multipleParticleScaleBy(blue);
}
else if (name.equals("shockwave"))
{
fx = new FXShockWave(world, position, red, green, blue, scale, distance);
}
if (fx != null)
{
fx.motionX = motionX;
fx.motionY = motionY;
fx.motionZ = motionZ;
FMLClientHandler.instance().getClient().effectRenderer.addEffect(fx);
}
}
@Override
public void spawnShock(World world, Pos3D startVec, Pos3D targetVec)
{
FMLClientHandler.instance().getClient().effectRenderer.addEffect(new FXElectricBolt(world, startVec, targetVec, 0));
}
@Override
public void spawnShock(World world, Pos3D startVec, Pos3D targetVec, int duration)
{
FMLClientHandler.instance().getClient().effectRenderer.addEffect(new FXElectricBoltSpawner(world, startVec, targetVec, 0, duration));
}
@Override
public void playSound(EntityMissile missile)
{
FMLClientHandler.instance().getClient().getSoundHandler().playSound(new MissileMovingSound(missile));
}
@Override
public List<Entity> getEntityFXs()
{
if (!this.disableReflectionFX)
{
try
{
EffectRenderer renderer = Minecraft.getMinecraft().effectRenderer;
List[] fxLayers = (List[]) ReflectionHelper.getPrivateValue(EffectRenderer.class, renderer, 2);
return fxLayers[0];
}
catch (Exception e)
{
DefenseTech.LOGGER.severe("Failed to use relfection on entity effects.");
e.printStackTrace();
this.disableReflectionFX = true;
}
}
return null;
}
// TODO: Work on this!
// @ForgeSubscribe
public void renderingLivingEvent(Pre evt)
{
if (evt.entity instanceof EntityLivingBase)
{
if (evt.entity.getActivePotionEffect(PoisonFrostBite.INSTANCE) != null)
{
try
{
ModelBase modelBase = (ModelBase) ReflectionHelper.getPrivateValue(RendererLivingEntity.class, evt.renderer, 2);
if (modelBase != null)
{
if (evt.entity.isInvisible())
{
GL11.glDepthMask(false);
}
else
{
GL11.glDepthMask(true);
}
float f1 = evt.entity.ticksExisted;
// this.bindTexture(evt.renderer.func_110829_a);
RenderUtils.setTerrainTexture();
GL11.glMatrixMode(GL11.GL_TEXTURE);
GL11.glLoadIdentity();
float f2 = f1 * 0.01F;
float f3 = f1 * 0.01F;
GL11.glTranslatef(f2, f3, 0.0F);
GL11.glScalef(2, 2, 2);
evt.renderer.setRenderPassModel(modelBase);
GL11.glMatrixMode(GL11.GL_MODELVIEW);
GL11.glEnable(GL11.GL_BLEND);
float f4 = 0.5F;
GL11.glColor4f(f4, f4, f4, 1.0F);
GL11.glDisable(GL11.GL_LIGHTING);
GL11.glBlendFunc(GL11.GL_ONE, GL11.GL_ONE);
modelBase.render(evt.entity, (float) evt.entity.posX, (float) evt.entity.posY, (float) evt.entity.posZ, evt.entity.rotationPitch, evt.entity.rotationYaw, 0.0625F);
GL11.glMatrixMode(GL11.GL_TEXTURE);
GL11.glLoadIdentity();
GL11.glMatrixMode(GL11.GL_MODELVIEW);
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glDisable(GL11.GL_BLEND);
}
}
catch (Exception e)
{
DefenseTech.LOGGER.severe("Failed to render entity layer object");
e.printStackTrace();
}
}
}
}
}
@@ -0,0 +1,64 @@
package defense.client;
import mekanism.api.EnumColor;
import mekanism.api.MekanismConfig.general;
import mekanism.common.Version;
import mekanism.common.util.LangUtils;
import net.minecraft.client.Minecraft;
import net.minecraft.util.ChatComponentText;
import cpw.mods.fml.client.FMLClientHandler;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import cpw.mods.fml.common.gameevent.TickEvent.ClientTickEvent;
import cpw.mods.fml.common.gameevent.TickEvent.Phase;
import defense.common.DefenseTech;
import defense.common.Reference;
public class ClientTickHandler
{
public static Minecraft mc = FMLClientHandler.instance().getClient();
public boolean hasNotified = false;
@SubscribeEvent
public void onTick(ClientTickEvent event)
{
if(event.phase == Phase.START)
{
if(!hasNotified && mc.theWorld != null && DefenseTech.latestVersionNumber != null && DefenseTech.recentNews != null)
{
try {
if(general.updateNotifications)
{
if(!DefenseTech.latestVersionNumber.equals("null"))
{
if(Version.get(DefenseTech.latestVersionNumber).comparedState(DefenseTech.versionNumber) == 1)
{
mc.thePlayer.addChatMessage(new ChatComponentText(EnumColor.GREY + "------------- " + Reference.CHAT_DESC + EnumColor.GREY + " -------------"));
mc.thePlayer.addChatMessage(new ChatComponentText(EnumColor.GREY + " " + LangUtils.localize("update.outdated") + "."));
if(Version.get(DefenseTech.latestVersionNumber).comparedState(DefenseTech.versionNumber) == 1)
{
mc.thePlayer.addChatMessage(new ChatComponentText(EnumColor.INDIGO + " " + Reference.NAME + ": " + EnumColor.DARK_RED + DefenseTech.versionNumber));
}
mc.thePlayer.addChatMessage(new ChatComponentText(EnumColor.GREY + " " + LangUtils.localize("update.consider") + " " + EnumColor.DARK_GREY + DefenseTech.latestVersionNumber));
mc.thePlayer.addChatMessage(new ChatComponentText(EnumColor.GREY + " " + LangUtils.localize("update.newFeatures") + ": " + EnumColor.INDIGO + DefenseTech.recentNews));
mc.thePlayer.addChatMessage(new ChatComponentText(EnumColor.GREY + " " + LangUtils.localize("update.visit") + " " + EnumColor.DARK_GREY + "aidancbrady.com/defensetech" + EnumColor.GREY + " " + LangUtils.localize("update.toDownload") + "."));
mc.thePlayer.addChatMessage(new ChatComponentText(EnumColor.GREY + "------------- " + EnumColor.DARK_BLUE + "[=======]" + EnumColor.GREY + " -------------"));
}
else if(Version.get(DefenseTech.latestVersionNumber).comparedState(DefenseTech.versionNumber) == -1)
{
mc.thePlayer.addChatMessage(new ChatComponentText(Reference.CHAT_DESC + " " + EnumColor.GREY + LangUtils.localize("update.devBuild") + " " + EnumColor.DARK_GREY + DefenseTech.versionNumber));
}
}
else {
DefenseTech.LOGGER.info("Minecraft is in offline mode, could not check for updates.");
}
}
} catch(Exception e) {}
hasNotified = true;
}
}
}
}
@@ -0,0 +1,34 @@
package defense.client.gui;
import java.util.Set;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.GuiScreen;
import cpw.mods.fml.client.IModGuiFactory;
public class ConfigGuiFactory implements IModGuiFactory
{
@Override
public void initialize(Minecraft minecraftInstance)
{
}
@Override
public Class<? extends GuiScreen> mainConfigGuiClass()
{
return GuiDefenseTechConfig.class;
}
@Override
public Set<RuntimeOptionCategoryElement> runtimeGuiCategories()
{
return null;
}
@Override
public RuntimeOptionGuiHandler getHandlerFor(RuntimeOptionCategoryElement element)
{
return null;
}
}
@@ -0,0 +1,44 @@
package defense.client.gui;
import mekanism.common.inventory.container.ContainerNull;
import mekanism.common.tile.TileEntityContainerBlock;
import net.minecraft.client.gui.inventory.GuiContainer;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.ResourceLocation;
import org.lwjgl.opengl.GL11;
import cpw.mods.fml.client.FMLClientHandler;
import defense.common.Reference;
public abstract class GuiBase extends GuiContainer
{
public static final ResourceLocation TEXTURE = new ResourceLocation(Reference.DOMAIN, Reference.GUI_PATH + "gui_empty.png");
protected int containerWidth;
protected int containerHeight;
private TileEntity tileEntity;
public GuiBase()
{
super(new ContainerNull());
}
public GuiBase(TileEntityContainerBlock tile)
{
super(new ContainerNull(tile));
tileEntity = tile;
}
@Override
protected void drawGuiContainerBackgroundLayer(float f, int mouseX, int mouseY)
{
FMLClientHandler.instance().getClient().renderEngine.bindTexture(TEXTURE);
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
containerWidth = (width - xSize) / 2;
containerHeight = (height - ySize) / 2;
drawTexturedModalRect(containerWidth, containerHeight, 0, 0, xSize, ySize);
}
}
@@ -0,0 +1,115 @@
package defense.client.gui;
import net.minecraft.client.gui.inventory.GuiContainer;
import net.minecraft.inventory.Container;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
import org.lwjgl.opengl.GL11;
import defense.common.Reference;
public abstract class GuiContainerBase extends GuiContainer
{
public static final ResourceLocation GUI_EMPTY_TEXTURE = new ResourceLocation(Reference.DOMAIN, Reference.GUI_PATH + "gui_container.png");
public static final ResourceLocation GUI_COMPONENTS = new ResourceLocation(Reference.DOMAIN, Reference.GUI_PATH + "gui_components.png");
public ResourceLocation baseTexture;
protected int containerWidth;
protected int containerHeight;
public GuiContainerBase(Container container)
{
super(container);
this.baseTexture = GUI_EMPTY_TEXTURE;
}
protected void drawSlot(int x, int y, ItemStack itemStack)
{
this.mc.renderEngine.bindTexture(this.baseTexture);
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
this.drawTexturedModalRect(this.containerWidth + x, this.containerHeight + y, 0, 0, 18, 18);
this.drawItemStack(itemStack, this.containerWidth + x, this.containerHeight + y);
}
protected void drawSlot(int x, int y, GuiSlotType type, float r, float g, float b)
{
this.mc.renderEngine.bindTexture(GUI_COMPONENTS);
GL11.glColor4f(r, g, b, 1.0F);
this.drawTexturedModalRect(this.containerWidth + x, this.containerHeight + y, 0, 0, 18, 18);
if (type != GuiSlotType.NONE)
{
this.drawTexturedModalRect(this.containerWidth + x, this.containerHeight + y, 0, 18 * type.ordinal(), 18, 18);
}
}
protected void drawSlot(int x, int y)
{
this.drawSlot(x, y, GuiSlotType.NONE);
}
protected void drawSlot(int x, int y, GuiSlotType type)
{
this.drawSlot(x, y, type, 1, 1, 1);
}
protected void drawItemStack(ItemStack itemStack, int x, int y)
{
x += 1;
y += 1;
GL11.glTranslatef(0.0F, 0.0F, 32.0F);
// drawTexturedModelRectFromIcon
// GL11.glEnable(GL11.GL_BLEND);
// GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
itemRender.renderItemAndEffectIntoGUI(this.fontRendererObj, this.mc.renderEngine, itemStack, x, y);
// GL11.glDisable(GL11.GL_BLEND);
}
protected void drawBar(int x, int y, float scale)
{
this.mc.renderEngine.bindTexture(GUI_COMPONENTS);
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
/** Draw background progress bar/ */
this.drawTexturedModalRect(this.containerWidth + x, this.containerHeight + y, 18, 0, 22, 15);
if (scale > 0)
{
/** Draw white color actual progress. */
this.drawTexturedModalRect(this.containerWidth + x, this.containerHeight + y, 18, 15, 22 - (int) (scale * 22), 15);
}
}
@Override
protected void drawGuiContainerBackgroundLayer(float f, int mouseX, int mouseY)
{
this.containerWidth = (this.width - this.xSize) / 2;
this.containerHeight = (this.height - this.ySize) / 2;
this.mc.renderEngine.bindTexture(this.baseTexture);
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
this.drawTexturedModalRect(this.containerWidth, this.containerHeight, 0, 0, this.xSize, this.ySize);
}
public enum GuiSlotType
{
NONE,
BATTERY,
LIQUID,
ARR_UP,
ARR_DOWN,
ARR_LEFT,
ARR_RIGHT,
ARR_UP_RIGHT,
ARR_UP_LEFT,
ARR_DOWN_LEFT,
ARR_DOWN_RIGHT
}
}
@@ -0,0 +1,178 @@
package defense.client.gui;
import java.util.ArrayList;
import mekanism.api.Coord4D;
import mekanism.api.Pos3D;
import mekanism.common.Mekanism;
import mekanism.common.network.PacketTileEntity.TileEntityMessage;
import mekanism.common.util.LangUtils;
import mekanism.common.util.MekanismUtils;
import net.minecraft.client.gui.GuiTextField;
import net.minecraft.client.gui.inventory.GuiContainer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.StatCollector;
import org.lwjgl.opengl.GL11;
import cpw.mods.fml.client.FMLClientHandler;
import defense.common.Reference;
import defense.common.inventory.container.ContainerCruiseLauncher;
import defense.common.tile.TileCruiseLauncher;
public class GuiCruiseLauncher extends GuiContainer
{
public static final ResourceLocation TEXTURE = new ResourceLocation(Reference.DOMAIN, Reference.GUI_PATH + "gui_cruise_launcher.png");
private TileCruiseLauncher tileEntity;
private GuiTextField textFieldX;
private GuiTextField textFieldZ;
private GuiTextField textFieldY;
private GuiTextField textFieldFreq;
private int containerWidth;
private int containerHeight;
public GuiCruiseLauncher(InventoryPlayer par1InventoryPlayer, TileCruiseLauncher tileEntity)
{
super(new ContainerCruiseLauncher(par1InventoryPlayer, tileEntity));
this.tileEntity = tileEntity;
}
@Override
public void initGui()
{
super.initGui();
this.textFieldX = new GuiTextField(fontRendererObj, 20, 21, 35, 12);
this.textFieldY = new GuiTextField(fontRendererObj, 20, 37, 35, 12);
this.textFieldZ = new GuiTextField(fontRendererObj, 20, 52, 35, 12);
this.textFieldFreq = new GuiTextField(fontRendererObj, 70, 33, 35, 12);
this.textFieldFreq.setMaxStringLength(4);
this.textFieldX.setMaxStringLength(6);
this.textFieldZ.setMaxStringLength(6);
this.textFieldY.setMaxStringLength(6);
this.textFieldFreq.setText(this.tileEntity.getFrequency() + "");
if (this.tileEntity.getTarget() == null)
{
this.textFieldX.setText(Math.round(this.tileEntity.xCoord) + "");
this.textFieldZ.setText(Math.round(this.tileEntity.zCoord) + "");
this.textFieldY.setText(Math.round(this.tileEntity.yCoord) + "");
}
else
{
this.textFieldX.setText(Math.round(this.tileEntity.getTarget().xPos) + "");
this.textFieldZ.setText(Math.round(this.tileEntity.getTarget().zPos) + "");
this.textFieldY.setText(Math.round(this.tileEntity.getTarget().yPos) + "");
}
}
@Override
public void keyTyped(char par1, int par2)
{
super.keyTyped(par1, par2);
this.textFieldX.textboxKeyTyped(par1, par2);
this.textFieldZ.textboxKeyTyped(par1, par2);
this.textFieldY.textboxKeyTyped(par1, par2);
this.textFieldFreq.textboxKeyTyped(par1, par2);
try
{
Pos3D newTarget = new Pos3D(Integer.parseInt(this.textFieldX.getText()), Integer.parseInt(this.textFieldY.getText()), Integer.parseInt(this.textFieldZ.getText()));
this.tileEntity.setTarget(newTarget);
ArrayList data = new ArrayList();
data.add(2);
data.add((int)tileEntity.getTarget().xPos);
data.add((int)tileEntity.getTarget().yPos);
data.add((int)tileEntity.getTarget().zPos);
Mekanism.packetHandler.sendToServer(new TileEntityMessage(Coord4D.get(tileEntity), data));
}
catch (NumberFormatException e)
{
}
try
{
short newFrequency = (short) Math.max(Short.parseShort(this.textFieldFreq.getText()), 0);
this.tileEntity.setFrequency(newFrequency);
ArrayList data = new ArrayList();
data.add(1);
data.add(tileEntity.getFrequency());
Mekanism.packetHandler.sendToServer(new TileEntityMessage(Coord4D.get(tileEntity), data));
}
catch (NumberFormatException e)
{
}
}
/** Args: x, y, buttonClicked */
@Override
public void mouseClicked(int par1, int par2, int par3)
{
super.mouseClicked(par1, par2, par3);
this.textFieldX.mouseClicked(par1 - containerWidth, par2 - containerHeight, par3);
this.textFieldZ.mouseClicked(par1 - containerWidth, par2 - containerHeight, par3);
this.textFieldY.mouseClicked(par1 - containerWidth, par2 - containerHeight, par3);
this.textFieldFreq.mouseClicked(par1 - containerWidth, par2 - containerHeight, par3);
}
/** Draw the foreground layer for the GuiContainer (everything in front of the items) */
@Override
protected void drawGuiContainerForegroundLayer(int par1, int par2)
{
this.fontRendererObj.drawString("\u00a77" + tileEntity.getInventoryName(), 52, 6, 4210752);
this.fontRendererObj.drawString(LangUtils.localize("gui.misc.x"), 8, 23, 4210752);
this.fontRendererObj.drawString(LangUtils.localize("gui.misc.y"), 8, 39, 4210752);
this.fontRendererObj.drawString(LangUtils.localize("gui.misc.z"), 8, 54, 4210752);
this.fontRendererObj.drawString(LangUtils.localize("gui.misc.freq"), 70, 20, 4210752);
this.textFieldX.drawTextBox();
this.textFieldZ.drawTextBox();
this.textFieldY.drawTextBox();
this.textFieldFreq.drawTextBox();
this.fontRendererObj.drawString(this.tileEntity.getStatus(), 70, 50, 4210752);
//voltage
this.fontRendererObj.drawString(MekanismUtils.getEnergyDisplay(this.tileEntity.getEnergy()) + "/" + MekanismUtils.getEnergyDisplay(this.tileEntity.getMaxEnergy()), 70, 70, 4210752);
this.fontRendererObj.drawString(StatCollector.translateToLocal("container.inventory"), 8, this.ySize - 96 + 2, 4210752);
}
/** Draw the background layer for the GuiContainer (everything behind the items) */
@Override
protected void drawGuiContainerBackgroundLayer(float par1, int par2, int par3)
{
FMLClientHandler.instance().getClient().renderEngine.bindTexture(TEXTURE);
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
containerWidth = (this.width - this.xSize) / 2;
containerHeight = (this.height - this.ySize) / 2;
this.drawTexturedModalRect(containerWidth, containerHeight, 0, 0, this.xSize, this.ySize);
}
@Override
public void updateScreen()
{
super.updateScreen();
if (!this.textFieldX.isFocused())
this.textFieldX.setText(Math.round(this.tileEntity.getTarget().xPos) + "");
if (!this.textFieldZ.isFocused())
this.textFieldZ.setText(Math.round(this.tileEntity.getTarget().zPos) + "");
if (!this.textFieldY.isFocused())
this.textFieldY.setText(Math.round(this.tileEntity.getTarget().yPos) + "");
if (!this.textFieldFreq.isFocused())
this.textFieldFreq.setText(this.tileEntity.getFrequency() + "");
}
}
@@ -0,0 +1,66 @@
package defense.client.gui;
import java.util.ArrayList;
import java.util.List;
import mekanism.common.util.LangUtils;
import net.minecraft.client.gui.GuiScreen;
import net.minecraftforge.common.config.ConfigElement;
import net.minecraftforge.common.config.Configuration;
import cpw.mods.fml.client.config.DummyConfigElement.DummyCategoryElement;
import cpw.mods.fml.client.config.GuiConfig;
import cpw.mods.fml.client.config.GuiConfigEntries;
import cpw.mods.fml.client.config.GuiConfigEntries.CategoryEntry;
import cpw.mods.fml.client.config.IConfigElement;
import defense.common.Reference;
import defense.common.Settings;
public class GuiDefenseTechConfig extends GuiConfig
{
public GuiDefenseTechConfig(GuiScreen parent)
{
super(parent, getConfigElements(), Reference.NAME, false, false, Reference.NAME);
}
private static List<IConfigElement> getConfigElements()
{
List<IConfigElement> list = new ArrayList<IConfigElement>();
list.add(new DummyCategoryElement(LangUtils.localize("defensetech.configgui.ctgy.general"), "defensetech.configgui.ctgy.general", GeneralEntry.class));
list.add(new DummyCategoryElement(LangUtils.localize("defensetech.configgui.ctgy.explosives"), "defensetech.configgui.ctgy.explosives", ExplosivesEntry.class));
return list;
}
public static class GeneralEntry extends CategoryEntry
{
public GeneralEntry(GuiConfig owningScreen, GuiConfigEntries owningEntryList, IConfigElement prop)
{
super(owningScreen, owningEntryList, prop);
}
@Override
protected GuiScreen buildChildScreen()
{
return new GuiConfig(owningScreen,
new ConfigElement(Settings.CONFIGURATION.getCategory(Configuration.CATEGORY_GENERAL)).getChildElements(),
owningScreen.modID, Configuration.CATEGORY_GENERAL, false, false,
GuiConfig.getAbridgedConfigPath(Settings.CONFIGURATION.toString()));
}
}
public static class ExplosivesEntry extends CategoryEntry
{
public ExplosivesEntry(GuiConfig owningScreen, GuiConfigEntries owningEntryList, IConfigElement prop)
{
super(owningScreen, owningEntryList, prop);
}
@Override
protected GuiScreen buildChildScreen()
{
return new GuiConfig(owningScreen,
new ConfigElement(Settings.CONFIGURATION.getCategory("explosives")).getChildElements(),
owningScreen.modID, Configuration.CATEGORY_GENERAL, false, false,
GuiConfig.getAbridgedConfigPath(Settings.CONFIGURATION.toString()));
}
}
}
@@ -0,0 +1,177 @@
package defense.client.gui;
import java.util.ArrayList;
import mekanism.api.Coord4D;
import mekanism.common.Mekanism;
import mekanism.common.network.PacketTileEntity.TileEntityMessage;
import mekanism.common.util.LangUtils;
import mekanism.common.util.MekanismUtils;
import net.minecraft.client.gui.GuiButton;
import net.minecraft.client.gui.GuiTextField;
import net.minecraft.util.ResourceLocation;
import org.lwjgl.opengl.GL11;
import cpw.mods.fml.client.FMLClientHandler;
import defense.common.Reference;
import defense.common.tile.TileEMPTower;
public class GuiEMPTower extends GuiBase
{
public static final ResourceLocation TEXTURE = new ResourceLocation(Reference.DOMAIN, Reference.GUI_PATH + "gui_empty.png");
private TileEMPTower tileEntity;
private GuiTextField textFieldBanJing;
private int containerWidth;
private int containerHeight;
public GuiEMPTower(TileEMPTower tileEntity)
{
super(tileEntity);
this.tileEntity = tileEntity;
this.ySize = 166;
}
/** Adds the buttons (and other controls) to the screen in question. */
@Override
public void initGui()
{
super.initGui();
this.buttonList.clear();
this.buttonList.add(new GuiButton(0, this.width / 2 - 77, this.height / 2 - 10, 50, 20, LangUtils.localize("gui.empTower.missiles")));
this.buttonList.add(new GuiButton(1, this.width / 2 - 25, this.height / 2 - 10, 65, 20, LangUtils.localize("gui.empTower.elec")));
this.buttonList.add(new GuiButton(2, this.width / 2 + 43, this.height / 2 - 10, 35, 20, LangUtils.localize("gui.empTower.both")));
this.textFieldBanJing = new GuiTextField(fontRendererObj, 72, 28, 30, 12);
this.textFieldBanJing.setMaxStringLength(3);
this.textFieldBanJing.setText(this.tileEntity.empRadius + "");
}
/** Fired when a control is clicked. This is the equivalent of
* ActionListener.actionPerformed(ActionEvent e). */
@Override
protected void actionPerformed(GuiButton par1GuiButton)
{
switch (par1GuiButton.id)
{
case 0:
this.tileEntity.empMode = 1;
break;
case 1:
this.tileEntity.empMode = 2;
break;
case 2:
this.tileEntity.empMode = 0;
break;
}
ArrayList data = new ArrayList();
data.add(2);
data.add(tileEntity.empMode);
Mekanism.packetHandler.sendToServer(new TileEntityMessage(Coord4D.get(tileEntity), data));
}
/** Call this method from you GuiScreen to process the keys into textbox. */
@Override
public void keyTyped(char par1, int par2)
{
super.keyTyped(par1, par2);
this.textFieldBanJing.textboxKeyTyped(par1, par2);
try
{
int radius = Math.min(Math.max(Integer.parseInt(this.textFieldBanJing.getText()), 10), TileEMPTower.MAX_RADIUS);
this.tileEntity.empRadius = radius;
ArrayList data = new ArrayList();
data.add(1);
data.add(tileEntity.empRadius);
Mekanism.packetHandler.sendToServer(new TileEntityMessage(Coord4D.get(tileEntity), data));
}
catch (NumberFormatException e)
{
}
}
/** Args: x, y, buttonClicked */
@Override
public void mouseClicked(int x, int y, int par3)
{
super.mouseClicked(x, y, par3);
this.textFieldBanJing.mouseClicked(x - containerWidth, y - containerHeight, par3);
}
/** Draw the foreground layer for the GuiContainer (everything in front of the items) */
@Override
protected void drawGuiContainerForegroundLayer(int mouseX, int mouseY)
{
this.fontRendererObj.drawString("\u00a77" + LangUtils.localize("gui.empTower.name"), 65, 6, 4210752);
this.fontRendererObj.drawString(LangUtils.localize("gui.empTower.radius").replaceAll("%p", " "), 12, 30, 4210752);
this.textFieldBanJing.drawTextBox();
this.fontRendererObj.drawString(LangUtils.localize("gui.empTower.effect"), 12, 55, 4210752);
// Shows the EMP mode of the EMP Tower
String mode = LangUtils.localize("gui.empTower.effectDebilitate");
if (this.tileEntity.empMode == 1)
{
mode = LangUtils.localize("gui.empTower.effectDisrupt");
}
else if (this.tileEntity.empMode == 2)
{
mode = LangUtils.localize("gui.empTower.effectDeplete");
}
this.fontRendererObj.drawString(LangUtils.localize("gui.empTower.mode") + " " + mode, 12, 105, 4210752);
// Shows the status of the EMP Tower
String color = "\u00a74";
String status = LangUtils.localize("gui.misc.idle");
if (tileEntity.getEnergy() < tileEntity.energyToUse)
{
status = LangUtils.localize("gui.misc.nopower");
}
else
{
color = "\u00a72";
status = LangUtils.localize("gui.empTower.ready");
}
this.fontRendererObj.drawString(color + LangUtils.localize("gui.misc.status") + " " + status, 12, 120, 4210752);
//voltage
this.fontRendererObj.drawString(MekanismUtils.getEnergyDisplay(tileEntity.getEnergy()) + "/" + MekanismUtils.getEnergyDisplay(this.tileEntity.getMaxEnergy()), 12, 150, 4210752);
}
/** Draw the background layer for the GuiContainer (everything behind the items) */
@Override
protected void drawGuiContainerBackgroundLayer(float f, int mouseX, int mouseY)
{
FMLClientHandler.instance().getClient().renderEngine.bindTexture(TEXTURE);
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
containerWidth = (this.width - this.xSize) / 2;
containerHeight = (this.height - this.ySize) / 2;
this.drawTexturedModalRect(containerWidth, containerHeight, 0, 0, this.xSize, this.ySize);
}
@Override
public void updateScreen()
{
super.updateScreen();
if (!this.textFieldBanJing.isFocused())
this.textFieldBanJing.setText(this.tileEntity.empRadius + "");
}
}
@@ -0,0 +1,110 @@
package defense.client.gui;
import java.util.ArrayList;
import mekanism.common.util.LangUtils;
import net.minecraft.client.gui.GuiTextField;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
import org.lwjgl.opengl.GL11;
import cpw.mods.fml.client.FMLClientHandler;
import defense.api.IItemFrequency;
import defense.common.DefenseTech;
import defense.common.Reference;
import defense.common.network.PacketItem.ItemMessage;
public class GuiFrequency extends GuiBase
{
public static final ResourceLocation TEXTURE = new ResourceLocation(Reference.DOMAIN, Reference.GUI_PATH + "gui_empty.png");
private ItemStack itemStack;
private GuiTextField textFieldFrequency;
private int containerWidth;
private int containerHeight;
private EntityPlayer player;
public GuiFrequency(EntityPlayer player, ItemStack par1ItemStack)
{
this.player = player;
this.itemStack = par1ItemStack;
this.ySize = 166;
}
/** Adds the buttons (and other controls) to the screen in question. */
@Override
public void initGui()
{
super.initGui();
this.textFieldFrequency = new GuiTextField(fontRendererObj, 80, 50, 40, 12);
this.textFieldFrequency.setMaxStringLength(4);
if (itemStack != null)
{
this.textFieldFrequency.setText(((IItemFrequency) this.itemStack.getItem()).getFrequency(this.itemStack) + "");
}
}
/** Call this method from you GuiScreen to process the keys into textbox. */
@Override
public void keyTyped(char par1, int par2)
{
super.keyTyped(par1, par2);
this.textFieldFrequency.textboxKeyTyped(par1, par2);
try
{
int newFrequency = Math.max(0, Integer.parseInt(this.textFieldFrequency.getText()));
this.textFieldFrequency.setText(newFrequency + "");
if (((IItemFrequency) this.itemStack.getItem()).getFrequency(this.itemStack) != newFrequency)
{
((IItemFrequency) this.itemStack.getItem()).setFrequency(newFrequency, this.itemStack);
ArrayList data = new ArrayList();
data.add(newFrequency);
DefenseTech.netHandler.sendToServer(new ItemMessage(data));
}
}
catch (NumberFormatException e)
{
}
}
/** Args: x, y, buttonClicked */
@Override
public void mouseClicked(int par1, int par2, int par3)
{
super.mouseClicked(par1, par2, par3);
this.textFieldFrequency.mouseClicked(par1 - containerWidth, par2 - containerHeight, par3);
}
/** Draw the foreground layer for the GuiContainer (everything in front of the items) */
@Override
protected void drawGuiContainerForegroundLayer(int mouseX, int mouseY)
{
this.fontRendererObj.drawString("\u00a77" + LangUtils.localize("gui.tracker.freq"), 62, 6, 4210752);
this.fontRendererObj.drawString(LangUtils.localize("gui.tracker.freq") + ":", 15, 52, 4210752);
this.textFieldFrequency.drawTextBox();
}
/** Draw the background layer for the GuiContainer (everything behind the items) */
@Override
protected void drawGuiContainerBackgroundLayer(float f, int mouseX, int mouseY)
{
FMLClientHandler.instance().getClient().renderEngine.bindTexture(TEXTURE);
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
this.containerWidth = (this.width - this.xSize) / 2;
this.containerHeight = (this.height - this.ySize) / 2;
this.drawTexturedModalRect(containerWidth, containerHeight, 0, 0, this.xSize, this.ySize);
}
}
@@ -0,0 +1,246 @@
package defense.client.gui;
import java.util.ArrayList;
import mekanism.api.Coord4D;
import mekanism.api.Pos3D;
import mekanism.common.Mekanism;
import mekanism.common.network.PacketTileEntity.TileEntityMessage;
import mekanism.common.util.LangUtils;
import mekanism.common.util.MekanismUtils;
import net.minecraft.client.gui.GuiTextField;
import net.minecraft.util.ResourceLocation;
import org.lwjgl.opengl.GL11;
import cpw.mods.fml.client.FMLClientHandler;
import defense.common.Reference;
import defense.common.tile.TileLauncherScreen;
public class GuiLauncherScreen extends GuiBase
{
public static final ResourceLocation TEXTURE = new ResourceLocation(Reference.DOMAIN, Reference.GUI_PATH + "gui_empty.png");
private TileLauncherScreen tileEntity;
private GuiTextField target_xCoord_field;
private GuiTextField target_yCoord_field;
private GuiTextField target_zCoord_field;
private GuiTextField target_freq_field;
private GuiTextField target_height_field;
private int containerWidth;
private int containerHeight;
public GuiLauncherScreen(TileLauncherScreen tile)
{
super(tile);
tileEntity = tile;
ySize = 166;
}
/** Adds the buttons (and other controls) to the screen in question. */
@Override
public void initGui()
{
super.initGui();
target_xCoord_field = new GuiTextField(fontRendererObj, 110, 37, 45, 12);
target_zCoord_field = new GuiTextField(fontRendererObj, 110, 52, 45, 12);
target_yCoord_field = new GuiTextField(fontRendererObj, 110, 67, 45, 12);
target_height_field = new GuiTextField(fontRendererObj, 110, 82, 45, 12);
target_freq_field = new GuiTextField(fontRendererObj, 110, 97, 45, 12);
target_freq_field.setMaxStringLength(4);
target_xCoord_field.setMaxStringLength(6);
target_zCoord_field.setMaxStringLength(6);
target_yCoord_field.setMaxStringLength(3);
target_height_field.setMaxStringLength(3);
target_freq_field.setText(tileEntity.getFrequency() + "");
target_height_field.setText(tileEntity.facing + "");
if(tileEntity.getTarget() == null)
{
target_xCoord_field.setText(Math.round(tileEntity.xCoord) + "");
target_zCoord_field.setText(Math.round(tileEntity.zCoord) + "");
target_yCoord_field.setText("0");
}
else {
target_xCoord_field.setText(Math.round(tileEntity.getTarget().xPos) + "");
target_zCoord_field.setText(Math.round(tileEntity.getTarget().zPos) + "");
target_yCoord_field.setText(Math.round(tileEntity.getTarget().yPos) + "");
}
}
/** Call this method from you GuiScreen to process the keys into textbox. */
@Override
public void keyTyped(char par1, int par2)
{
super.keyTyped(par1, par2);
target_xCoord_field.textboxKeyTyped(par1, par2);
target_zCoord_field.textboxKeyTyped(par1, par2);
if(tileEntity.getTier() >= 1)
{
target_yCoord_field.textboxKeyTyped(par1, par2);
target_height_field.textboxKeyTyped(par1, par2);
if(tileEntity.getTier() > 1)
{
target_freq_field.textboxKeyTyped(par1, par2);
}
}
try {
Pos3D newTarget = new Pos3D(Integer.parseInt(target_xCoord_field.getText()), Math.max(Integer.parseInt(target_yCoord_field.getText()), 0), Integer.parseInt(target_zCoord_field.getText()));
tileEntity.setTarget(newTarget);
ArrayList data = new ArrayList();
data.add(2);
data.add((int)tileEntity.getTarget().xPos);
data.add((int)tileEntity.getTarget().yPos);
data.add((int)tileEntity.getTarget().zPos);
Mekanism.packetHandler.sendToServer(new TileEntityMessage(Coord4D.get(tileEntity), data));
} catch (NumberFormatException e) {}
try {
short newFrequency = (short)Math.max(Short.parseShort(target_freq_field.getText()), 0);
tileEntity.setFrequency(newFrequency);
ArrayList data = new ArrayList();
data.add(1);
data.add(tileEntity.getFrequency());
Mekanism.packetHandler.sendToServer(new TileEntityMessage(Coord4D.get(tileEntity), data));
} catch(NumberFormatException e) {}
try {
short newHeight = (short)Math.max(Math.min(Short.parseShort(target_height_field.getText()), Short.MAX_VALUE), 3);
tileEntity.launchHeight = newHeight;
ArrayList data = new ArrayList();
data.add(3);
data.add(tileEntity.launchHeight);
Mekanism.packetHandler.sendToServer(new TileEntityMessage(Coord4D.get(tileEntity), data));
} catch(NumberFormatException e) {}
}
/** Args: x, y, buttonClicked */
@Override
public void mouseClicked(int par1, int par2, int par3)
{
super.mouseClicked(par1, par2, par3);
target_xCoord_field.mouseClicked(par1 - containerWidth, par2 - containerHeight, par3);
target_zCoord_field.mouseClicked(par1 - containerWidth, par2 - containerHeight, par3);
if(tileEntity.getTier() >= 1)
{
target_yCoord_field.mouseClicked(par1 - containerWidth, par2 - containerHeight, par3);
target_height_field.mouseClicked(par1 - containerWidth, par2 - containerHeight, par3);
if(tileEntity.getTier() > 1)
{
target_freq_field.mouseClicked(par1 - containerWidth, par2 - containerHeight, par3);
}
}
}
/** Draw the foreground layer for the GuiContainer (everything in front of the items) */
@Override
protected void drawGuiContainerForegroundLayer(int mouseX, int mouseY)
{
target_xCoord_field.drawTextBox();
target_zCoord_field.drawTextBox();
// Draw the air detonation GUI
if(tileEntity.getTier() >= 1)
{
target_yCoord_field.drawTextBox();
fontRendererObj.drawString(LangUtils.localize("gui.launcherScreen.detHeight"), 12, 68, 4210752);
target_height_field.drawTextBox();
fontRendererObj.drawString(LangUtils.localize("gui.launcherScreen.lockHeight"), 12, 83, 4210752);
if(tileEntity.getTier() > 1)
{
target_freq_field.drawTextBox();
fontRendererObj.drawString(LangUtils.localize("gui.misc.freq"), 12, 98, 4210752);
}
}
fontRendererObj.drawString("", 45, 6, 4210752);
fontRendererObj.drawString("\u00a77" + LangUtils.localize("gui.launcherScreen.name"), 30, 6, 4210752);
fontRendererObj.drawString(LangUtils.localize("gui.launcherScreen.target"), 12, 25, 4210752);
fontRendererObj.drawString(LangUtils.localize("gui.misc.XCoord"), 25, 40, 4210752);
fontRendererObj.drawString(LangUtils.localize("gui.misc.ZCoord"), 25, 55, 4210752);
int inaccuracy = 30;
if(tileEntity.launcherBase != null)
{
if(tileEntity.launcherBase.supportFrame != null)
{
inaccuracy = tileEntity.launcherBase.supportFrame.getInaccuracy();
}
}
fontRendererObj.drawString(LangUtils.localize("gui.launcherScreen.inaccuracy").replaceAll("%p", "" + inaccuracy), 12, 113, 4210752);
// Shows the status of the missile launcher
fontRendererObj.drawString(LangUtils.localize("gui.misc.status") + " " + tileEntity.getStatus(), 12, 125, 4210752);
//voltage
fontRendererObj.drawString(MekanismUtils.getEnergyDisplay(tileEntity.getEnergy()) + "/" + MekanismUtils.getEnergyDisplay(tileEntity.getMaxEnergy()), 12, 150, 4210752);
}
@Override
protected void drawGuiContainerBackgroundLayer(float f, int mouseX, int mouseY)
{
FMLClientHandler.instance().getClient().renderEngine.bindTexture(TEXTURE);
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
containerWidth = (width - xSize) / 2;
containerHeight = (height - ySize) / 2;
drawTexturedModalRect(containerWidth, containerHeight, 0, 0, xSize, ySize);
}
@Override
public void updateScreen()
{
super.updateScreen();
if(!target_xCoord_field.isFocused())
{
target_xCoord_field.setText(Math.round(tileEntity.getTarget().xPos) + "");
}
if(!target_zCoord_field.isFocused())
{
target_zCoord_field.setText(Math.round(tileEntity.getTarget().zPos) + "");
}
if(!target_yCoord_field.isFocused())
{
target_yCoord_field.setText(Math.round(tileEntity.getTarget().yPos) + "");
}
if(!target_height_field.isFocused())
{
target_height_field.setText(tileEntity.launchHeight + "");
}
if(!target_freq_field.isFocused())
{
target_freq_field.setText(tileEntity.getFrequency() + "");
}
}
}
@@ -0,0 +1,322 @@
package defense.client.gui;
import java.util.ArrayList;
import java.util.List;
import mekanism.api.Coord4D;
import mekanism.common.Mekanism;
import mekanism.common.network.PacketTileEntity.TileEntityMessage;
import mekanism.common.util.LangUtils;
import net.minecraft.client.gui.GuiTextField;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.ResourceLocation;
import org.lwjgl.input.Mouse;
import org.lwjgl.opengl.GL11;
import cpw.mods.fml.client.FMLClientHandler;
import defense.common.Rectangle;
import defense.common.Reference;
import defense.common.Vector2;
import defense.common.block.BlockMachine;
import defense.common.entity.EntityMissile;
import defense.common.tile.TileRadarStation;
public class GuiRadarStation extends GuiBase
{
public static final ResourceLocation TEXTURE = new ResourceLocation(Reference.DOMAIN, Reference.GUI_PATH + "gui_radar.png");
public static final ResourceLocation TEXTURE_RED_DOT = new ResourceLocation(Reference.DOMAIN, Reference.GUI_PATH + "reddot.png");
public static final ResourceLocation TEXTURE_YELLOW_DOT = new ResourceLocation(Reference.DOMAIN, Reference.GUI_PATH + "yellowdot.png");
public static final ResourceLocation TEXTURE_WHITE_DOT = new ResourceLocation(Reference.DOMAIN, Reference.GUI_PATH + "whitedot.png");
private TileRadarStation tileEntity;
private int containerPosX;
private int containerPosY;
private GuiTextField textFieldAlarmRange;
private GuiTextField textFieldSafetyZone;
private GuiTextField textFieldFrequency;
private List<Vector2> missileCoords = new ArrayList<Vector2>();
private Vector2 mouseOverCoords = new Vector2();
private Vector2 mousePosition = new Vector2();
// Radar Map
private Vector2 radarCenter;
private float radarMapRadius;
private String info = "";
private String info2;
public GuiRadarStation(TileRadarStation tileEntity)
{
this.tileEntity = tileEntity;
mouseOverCoords = new Vector2(this.tileEntity.xCoord, this.tileEntity.zCoord);
ySize = 166;
xSize = 256;
radarCenter = new Vector2(this.containerPosX + this.xSize / 3 - 14, this.containerPosY + this.ySize / 2 + 4);
radarMapRadius = TileRadarStation.MAX_DETECTION_RANGE / 63.8F;
}
@Override
public void initGui()
{
super.initGui();
this.textFieldSafetyZone = new GuiTextField(fontRendererObj, 210, 67, 30, 12);
this.textFieldSafetyZone.setMaxStringLength(3);
this.textFieldSafetyZone.setText(this.tileEntity.safetyRange + "");
this.textFieldAlarmRange = new GuiTextField(fontRendererObj, 210, 82, 30, 12);
this.textFieldAlarmRange.setMaxStringLength(3);
this.textFieldAlarmRange.setText(this.tileEntity.alarmRange + "");
this.textFieldFrequency = new GuiTextField(fontRendererObj, 155, 112, 50, 12);
this.textFieldFrequency.setMaxStringLength(6);
this.textFieldFrequency.setText(this.tileEntity.getFrequency() + "");
}
/** Draw the foreground layer for the GuiContainer (everything in front of the items) */
@Override
protected void drawGuiContainerForegroundLayer(int mouseX, int mouseY)
{
this.fontRendererObj.drawString("\u00a77" + tileEntity.getInventoryName(), this.xSize / 2 - 30, 6, 4210752);
this.fontRendererObj.drawString(LangUtils.localize("gui.radar.coords"), 155, 18, 4210752);
this.fontRendererObj.drawString(LangUtils.localize("gui.misc.x") + " " + (int) Math.round(mouseOverCoords.x) + " " + LangUtils.localize("gui.misc.z") + " " + (int) Math.round(mouseOverCoords.y), 155, 30, 4210752);
this.fontRendererObj.drawString("\u00a76" + this.info, 155, 42, 4210752);
this.fontRendererObj.drawString("\u00a74" + this.info2, 155, 54, 4210752);
this.fontRendererObj.drawString(LangUtils.localize("gui.radar.zoneSafe"), 152, 70, 4210752);
this.textFieldSafetyZone.drawTextBox();
this.fontRendererObj.drawString(LangUtils.localize("gui.radar.zoneAlarm"), 150, 85, 4210752);
this.textFieldAlarmRange.drawTextBox();
this.fontRendererObj.drawString(LangUtils.localize("gui.misc.freq"), 155, 100, 4210752);
this.textFieldFrequency.drawTextBox();
// Shows the status of the radar
String color = "\u00a74";
String status = LangUtils.localize("gui.misc.idle");
if (this.tileEntity.getEnergy() >= tileEntity.ENERGY_USAGE)
{
color = "\u00a72";
status = LangUtils.localize("gui.radar.on");
}
else
{
status = LangUtils.localize("gui.radar.nopower");
}
//TODO energy
this.fontRendererObj.drawString(color + status, 155, 150, 4210752);
}
/** Call this method from you GuiScreen to process the keys into textbox. */
@Override
public void keyTyped(char par1, int par2)
{
super.keyTyped(par1, par2);
this.textFieldSafetyZone.textboxKeyTyped(par1, par2);
this.textFieldAlarmRange.textboxKeyTyped(par1, par2);
this.textFieldFrequency.textboxKeyTyped(par1, par2);
try
{
int newSafetyRadius = Math.min(TileRadarStation.MAX_DETECTION_RANGE, Math.max(0, Integer.parseInt(this.textFieldSafetyZone.getText())));
this.tileEntity.safetyRange = newSafetyRadius;
ArrayList data = new ArrayList();
data.add(2);
data.add(tileEntity.safetyRange);
Mekanism.packetHandler.sendToServer(new TileEntityMessage(Coord4D.get(tileEntity), data));
}
catch (NumberFormatException e)
{
}
try
{
int newAlarmRadius = Math.min(TileRadarStation.MAX_DETECTION_RANGE, Math.max(0, Integer.parseInt(this.textFieldAlarmRange.getText())));
this.tileEntity.alarmRange = newAlarmRadius;
ArrayList data = new ArrayList();
data.add(3);
data.add(tileEntity.alarmRange);
Mekanism.packetHandler.sendToServer(new TileEntityMessage(Coord4D.get(tileEntity), data));
}
catch (NumberFormatException e)
{
}
try
{
this.tileEntity.setFrequency(Integer.parseInt(this.textFieldFrequency.getText()));
ArrayList data = new ArrayList();
data.add(4);
data.add(tileEntity.getFrequency());
Mekanism.packetHandler.sendToServer(new TileEntityMessage(Coord4D.get(tileEntity), data));
}
catch (NumberFormatException e)
{
}
}
/** Args: x, y, buttonClicked */
@Override
public void mouseClicked(int par1, int par2, int par3)
{
super.mouseClicked(par1, par2, par3);
this.textFieldAlarmRange.mouseClicked(par1 - containerPosX, par2 - containerPosY, par3);
this.textFieldSafetyZone.mouseClicked(par1 - containerPosX, par2 - containerPosY, par3);
this.textFieldFrequency.mouseClicked(par1 - containerPosX, par2 - containerPosY, par3);
}
/** Draw the background layer for the GuiContainer (everything behind the items) */
@Override
protected void drawGuiContainerBackgroundLayer(float f, int mouseX, int mouseY)
{
FMLClientHandler.instance().getClient().renderEngine.bindTexture(TEXTURE);
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
this.containerPosX = (this.width - this.xSize) / 2;
this.containerPosY = (this.height - this.ySize) / 2;
this.drawTexturedModalRect(containerPosX, containerPosY, 0, 0, this.xSize, this.ySize);
this.radarCenter = new Vector2(this.containerPosX + this.xSize / 3 - 10, this.containerPosY + this.ySize / 2 + 4);
this.radarMapRadius = TileRadarStation.MAX_DETECTION_RANGE / 71f;
this.info = "";
this.info2 = "";
if (this.tileEntity.getEnergy() >= tileEntity.ENERGY_USAGE)
{
int range = 4;
for (Entity entity : this.tileEntity.detectedEntities)
{
Vector2 position = new Vector2(radarCenter.x + (entity.posX - this.tileEntity.xCoord) / this.radarMapRadius, radarCenter.y - (entity.posZ - this.tileEntity.zCoord) / this.radarMapRadius);
if (entity instanceof EntityMissile)
{
if (this.tileEntity.isMissileGoingToHit((EntityMissile) entity))
{
FMLClientHandler.instance().getClient().renderEngine.bindTexture(TEXTURE_RED_DOT);
}
else
{
FMLClientHandler.instance().getClient().renderEngine.bindTexture(TEXTURE_YELLOW_DOT);
}
}
else
{
FMLClientHandler.instance().getClient().renderEngine.bindTexture(TEXTURE_YELLOW_DOT);
}
this.drawTexturedModalRect(position.intX(), position.intY(), 0, 0, 2, 2);
// Hover Detection
Vector2 minPosition = position.clone();
minPosition.add(-range);
Vector2 maxPosition = position.clone();
maxPosition.add(range);
if (new Rectangle(minPosition, maxPosition).isIn(this.mousePosition))
{
this.info = entity.getCommandSenderName();
if (entity instanceof EntityPlayer)
{
this.info = "\u00a71" + this.info;
}
if (entity instanceof EntityMissile)
{
if (((EntityMissile) entity).targetVector != null)
{
this.info2 = "(" + (int)((EntityMissile) entity).targetVector.xPos + ", " + (int)((EntityMissile) entity).targetVector.zPos + ")";
}
}
}
}
range = 2;
for (TileEntity jiQi : this.tileEntity.detectedTiles)
{
Vector2 position = new Vector2(this.radarCenter.x + (jiQi.xCoord - this.tileEntity.xCoord) / this.radarMapRadius, this.radarCenter.y - (jiQi.zCoord - this.tileEntity.zCoord) / this.radarMapRadius);
FMLClientHandler.instance().getClient().renderEngine.bindTexture(TEXTURE_WHITE_DOT);
this.drawTexturedModalRect(position.intX(), position.intY(), 0, 0, 2, 2);
Vector2 minPosition = position.clone();
minPosition.add(-range);
Vector2 maxPosition = position.clone();
maxPosition.add(range);
if (new Rectangle(minPosition, maxPosition).isIn(this.mousePosition))
{
if (jiQi.getBlockType() != null)
{
if (jiQi.getBlockType() instanceof BlockMachine)
{
this.info = BlockMachine.getJiQiMing(jiQi);
}
else
{
this.info = jiQi.getBlockType().getLocalizedName();
}
}
}
}
}
}
@Override
public void updateScreen()
{
super.updateScreen();
if (Mouse.isInsideWindow())
{
if (Mouse.getEventButton() == -1)
{
this.mousePosition = new Vector2(Mouse.getEventX() * this.width / this.mc.displayWidth, this.height - Mouse.getEventY() * this.height / this.mc.displayHeight - 1);
float difference = TileRadarStation.MAX_DETECTION_RANGE / this.radarMapRadius;
if (this.mousePosition.x > this.radarCenter.x - difference && this.mousePosition.x < this.radarCenter.x + difference && this.mousePosition.y > this.radarCenter.y - difference && this.mousePosition.y < this.radarCenter.y + difference)
{
// Calculate from the mouse position the relative position
// on the grid
int xDifference = (int) (this.mousePosition.x - this.radarCenter.x);
int yDifference = (int) (this.mousePosition.y - this.radarCenter.y);
int xBlockDistance = (int) (xDifference * this.radarMapRadius);
int yBlockDistance = (int) (yDifference * this.radarMapRadius);
this.mouseOverCoords = new Vector2(this.tileEntity.xCoord + xBlockDistance, this.tileEntity.zCoord - yBlockDistance);
}
}
}
if (!this.textFieldSafetyZone.isFocused())
this.textFieldSafetyZone.setText(this.tileEntity.safetyRange + "");
if (!this.textFieldAlarmRange.isFocused())
this.textFieldAlarmRange.setText(this.tileEntity.alarmRange + "");
}
}
@@ -0,0 +1,112 @@
package defense.client.model.missile;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.entity.Entity;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@SideOnly(Side.CLIENT)
public class ModelAntiGravitationalMissile extends ModelMissileBase
{
// fields
ModelRenderer Shape1;
ModelRenderer Shape2;
ModelRenderer Shape3;
ModelRenderer Shape4;
ModelRenderer Shape5;
ModelRenderer Shape6;
ModelRenderer Shape7;
ModelRenderer Shape8;
ModelRenderer Shape9;
public ModelAntiGravitationalMissile()
{
textureWidth = 128;
textureHeight = 128;
Shape1 = new ModelRenderer(this, 0, 0);
Shape1.addBox(0F, 0F, 0F, 6, 70, 6);
Shape1.setRotationPoint(-3F, -46F, -3F);
Shape1.setTextureSize(128, 128);
Shape1.mirror = true;
setRotation(Shape1, 0F, 0F, 0F);
Shape2 = new ModelRenderer(this, 25, 0);
Shape2.addBox(0F, 0F, 0F, 2, 5, 18);
Shape2.setRotationPoint(-1F, 19F, -9F);
Shape2.setTextureSize(128, 128);
Shape2.mirror = true;
setRotation(Shape2, 0F, 0F, 0F);
Shape3 = new ModelRenderer(this, 25, 25);
Shape3.addBox(0F, 0F, 0F, 18, 5, 2);
Shape3.setRotationPoint(-9F, 19F, -1F);
Shape3.setTextureSize(128, 128);
Shape3.mirror = true;
setRotation(Shape3, 0F, 0F, 0F);
Shape4 = new ModelRenderer(this, 25, 65);
Shape4.addBox(0F, 0F, 0F, 12, 12, 2);
Shape4.setRotationPoint(-6F, -40F, -1F);
Shape4.setTextureSize(128, 128);
Shape4.mirror = true;
setRotation(Shape4, 0F, 0F, 0F);
Shape5 = new ModelRenderer(this, 25, 40);
Shape5.addBox(0F, 0F, 0F, 2, 12, 12);
Shape5.setRotationPoint(-1F, -40F, -6F);
Shape5.setTextureSize(128, 128);
Shape5.mirror = true;
setRotation(Shape5, 0F, 0F, 0F);
Shape6 = new ModelRenderer(this, 0, 80);
Shape6.addBox(0F, 0F, 0F, 10, 15, 10);
Shape6.setRotationPoint(-5F, 9F, -5F);
Shape6.setTextureSize(128, 128);
Shape6.mirror = true;
setRotation(Shape6, 0F, 0F, 0F);
Shape7 = new ModelRenderer(this, 0, 106);
Shape7.addBox(0F, 0F, 0F, 8, 7, 8);
Shape7.setRotationPoint(-4F, -53F, -4F);
Shape7.setTextureSize(128, 128);
Shape7.mirror = true;
setRotation(Shape7, 0F, 0F, 0F);
Shape8 = new ModelRenderer(this, 70, 0);
Shape8.addBox(0F, 0F, 0F, 4, 4, 4);
Shape8.setRotationPoint(0F, -54F, 0F);
Shape8.setTextureSize(128, 128);
Shape8.mirror = true;
setRotation(Shape8, -0.7853982F, 0F, 0.6108652F);
Shape9 = new ModelRenderer(this, 70, 10);
Shape9.addBox(-1F, 0F, -1F, 2, 5, 2);
Shape9.setRotationPoint(0F, -55F, 0F);
Shape9.setTextureSize(128, 128);
Shape9.mirror = true;
setRotation(Shape9, 0F, 0F, 0F);
}
@Override
public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5)
{
super.render(entity, f, f1, f2, f3, f4, f5);
this.setRotationAngles(f, f1, f2, f3, f4, f5, entity);
this.render(f5);
}
@Override
public void render(float f5)
{
Shape1.render(f5);
Shape2.render(f5);
Shape3.render(f5);
Shape4.render(f5);
Shape5.render(f5);
Shape6.render(f5);
Shape7.render(f5);
Shape8.render(f5);
Shape9.render(f5);
}
private void setRotation(ModelRenderer model, float x, float y, float z)
{
model.rotateAngleX = x;
model.rotateAngleY = y;
model.rotateAngleZ = z;
}
}
@@ -0,0 +1,264 @@
package defense.client.model.missile;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.entity.Entity;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@SideOnly(Side.CLIENT)
public class ModelAntiMissileMissile extends ModelMissileBase
{
// fields
ModelRenderer Shape1;
ModelRenderer Shape2;
ModelRenderer Shape2a;
ModelRenderer Shape2b;
ModelRenderer Shape2c;
ModelRenderer Shape3d;
ModelRenderer Shape3;
ModelRenderer Shape3a;
ModelRenderer Shape3b;
ModelRenderer Shape4;
ModelRenderer Shape4a;
ModelRenderer Shape4b;
ModelRenderer Shape4c;
ModelRenderer Shape5;
ModelRenderer Shape5a;
ModelRenderer Shape4d;
ModelRenderer Shape4e;
ModelRenderer Shape4f;
ModelRenderer Shape4g;
ModelRenderer Shape6;
ModelRenderer Shape6a;
ModelRenderer Shape7a;
ModelRenderer Shape7;
ModelRenderer Shape8;
ModelRenderer Shape8a;
ModelRenderer Shape8b;
ModelRenderer Shape8c;
ModelRenderer Shape8d;
public ModelAntiMissileMissile()
{
textureWidth = 128;
textureHeight = 128;
Shape1 = new ModelRenderer(this, 0, 0);
Shape1.addBox(-4F, 0F, -4F, 8, 64, 8);
Shape1.setRotationPoint(0F, -40F, 0F);
Shape1.setTextureSize(128, 128);
Shape1.mirror = true;
setRotation(Shape1, 0F, 0F, 0F);
Shape2 = new ModelRenderer(this, 34, 19);
Shape2.addBox(0F, 0F, 0F, 14, 10, 1);
Shape2.setRotationPoint(-7F, 14F, 6F);
Shape2.setTextureSize(128, 128);
Shape2.mirror = true;
setRotation(Shape2, 0F, 0F, 0F);
Shape2a = new ModelRenderer(this, 34, 19);
Shape2a.addBox(0F, 0F, 0F, 14, 10, 1);
Shape2a.setRotationPoint(-7F, 14F, -7F);
Shape2a.setTextureSize(128, 128);
Shape2a.mirror = true;
setRotation(Shape2a, 0F, 0F, 0F);
Shape2b = new ModelRenderer(this, 34, 31);
Shape2b.addBox(0F, 0F, 0F, 1, 10, 12);
Shape2b.setRotationPoint(-7F, 14F, -6F);
Shape2b.setTextureSize(128, 128);
Shape2b.mirror = true;
setRotation(Shape2b, 0F, 0F, 0F);
Shape2c = new ModelRenderer(this, 34, 31);
Shape2c.addBox(0F, 0F, 0F, 1, 10, 12);
Shape2c.setRotationPoint(6F, 14F, -6F);
Shape2c.setTextureSize(128, 128);
Shape2c.mirror = true;
setRotation(Shape2c, 0F, 0F, 0F);
Shape3d = new ModelRenderer(this, 72, 0);
Shape3d.addBox(-11F, 0F, -1F, 22, 12, 2);
Shape3d.setRotationPoint(0F, 12F, 0F);
Shape3d.setTextureSize(128, 128);
Shape3d.mirror = true;
setRotation(Shape3d, 0F, 0.7853982F, 0F);
Shape3 = new ModelRenderer(this, 72, 0);
Shape3.addBox(-11F, 0F, -1F, 22, 12, 2);
Shape3.setRotationPoint(0F, 12F, 0F);
Shape3.setTextureSize(128, 128);
Shape3.mirror = true;
setRotation(Shape3, 0F, -0.7853982F, 0F);
Shape3a = new ModelRenderer(this, 34, 0);
Shape3a.addBox(-8F, -8F, -1F, 16, 16, 2);
Shape3a.setRotationPoint(0F, 12F, 0F);
Shape3a.setTextureSize(128, 128);
Shape3a.mirror = true;
setRotation(Shape3a, 0F, 0.7853982F, 0.7853982F);
Shape3b = new ModelRenderer(this, 34, 0);
Shape3b.addBox(-8F, -8F, -1F, 16, 16, 2);
Shape3b.setRotationPoint(0F, 12F, 0F);
Shape3b.setTextureSize(128, 128);
Shape3b.mirror = true;
setRotation(Shape3b, 0F, -0.7853982F, 0.7853982F);
Shape4 = new ModelRenderer(this, 22, 74);
Shape4.addBox(0F, 0F, 0F, 2, 7, 5);
Shape4.setRotationPoint(-1F, -23F, 4F);
Shape4.setTextureSize(128, 128);
Shape4.mirror = true;
setRotation(Shape4, -0.5235988F, 0F, 0F);
Shape4a = new ModelRenderer(this, 0, 103);
Shape4a.addBox(0F, 0F, 0F, 5, 8, 2);
Shape4a.setRotationPoint(4F, -23F, -1F);
Shape4a.setTextureSize(128, 128);
Shape4a.mirror = true;
setRotation(Shape4a, 0F, 0F, 0.5235988F);
Shape4b = new ModelRenderer(this, 0, 81);
Shape4b.addBox(-1F, 0F, 0F, 2, 4, 5);
Shape4b.setRotationPoint(0F, -35F, -4F);
Shape4b.setTextureSize(128, 128);
Shape4b.mirror = true;
setRotation(Shape4b, -0.5235988F, 3.141593F, 0F);
Shape4c = new ModelRenderer(this, 0, 103);
Shape4c.addBox(0F, 0F, -1F, 5, 8, 2);
Shape4c.setRotationPoint(-4F, -23F, 0F);
Shape4c.setTextureSize(128, 128);
Shape4c.mirror = true;
setRotation(Shape4c, 0F, 3.141593F, 0.5235988F);
Shape5 = new ModelRenderer(this, 0, 74);
Shape5.addBox(-1F, 0F, -8F, 2, 12, 16);
Shape5.setRotationPoint(0F, -32F, 0F);
Shape5.setTextureSize(128, 128);
Shape5.mirror = true;
setRotation(Shape5, 0F, 0F, 0F);
Shape5a = new ModelRenderer(this, 0, 74);
Shape5a.addBox(-1F, 0F, -8F, 2, 12, 16);
Shape5a.setRotationPoint(0F, -32F, 0F);
Shape5a.setTextureSize(128, 128);
Shape5a.mirror = true;
setRotation(Shape5a, 0F, 1.570796F, 0F);
Shape4d = new ModelRenderer(this, 22, 74);
Shape4d.addBox(-1F, 0F, 0F, 2, 8, 5);
Shape4d.setRotationPoint(0F, -23F, -4F);
Shape4d.setTextureSize(128, 128);
Shape4d.mirror = true;
setRotation(Shape4d, -0.5235988F, 3.141593F, 0F);
Shape4e = new ModelRenderer(this, 0, 81);
Shape4e.addBox(-1F, 0F, 0F, 2, 4, 5);
Shape4e.setRotationPoint(0F, -35F, 4F);
Shape4e.setTextureSize(128, 128);
Shape4e.mirror = true;
setRotation(Shape4e, -0.5235988F, 0F, 0F);
Shape4f = new ModelRenderer(this, 0, 74);
Shape4f.addBox(0F, 0F, -1F, 5, 4, 2);
Shape4f.setRotationPoint(-4F, -35F, 0F);
Shape4f.setTextureSize(128, 128);
Shape4f.mirror = true;
setRotation(Shape4f, 0F, 3.141593F, 0.5235988F);
Shape4g = new ModelRenderer(this, 0, 74);
Shape4g.addBox(0F, 0F, 0F, 5, 4, 2);
Shape4g.setRotationPoint(4F, -35F, -1F);
Shape4g.setTextureSize(128, 128);
Shape4g.mirror = true;
setRotation(Shape4g, 0F, 0F, 0.5235988F);
Shape6 = new ModelRenderer(this, 72, 16);
Shape6.addBox(0F, 0F, 0F, 10, 1, 10);
Shape6.setRotationPoint(-5F, -37F, -5F);
Shape6.setTextureSize(128, 128);
Shape6.mirror = true;
setRotation(Shape6, 0F, 0F, 0F);
Shape6a = new ModelRenderer(this, 72, 16);
Shape6a.addBox(0F, 0F, 0F, 10, 1, 10);
Shape6a.setRotationPoint(-5F, -41F, -5F);
Shape6a.setTextureSize(128, 128);
Shape6a.mirror = true;
setRotation(Shape6a, 0F, 0F, 0F);
Shape7a = new ModelRenderer(this, 72, 29);
Shape7a.addBox(0F, 0F, 0F, 8, 4, 8);
Shape7a.setRotationPoint(-4F, -45F, -4F);
Shape7a.setTextureSize(128, 128);
Shape7a.mirror = true;
setRotation(Shape7a, 0F, 0F, 0F);
Shape7 = new ModelRenderer(this, 72, 43);
Shape7.addBox(0F, 0F, 0F, 6, 2, 6);
Shape7.setRotationPoint(-3F, -47F, -3F);
Shape7.setTextureSize(128, 128);
Shape7.mirror = true;
setRotation(Shape7, 0F, 0F, 0F);
Shape8 = new ModelRenderer(this, 63, 33);
Shape8.addBox(0F, 0F, 0F, 2, 2, 2);
Shape8.setRotationPoint(2F, -46F, -1F);
Shape8.setTextureSize(128, 128);
Shape8.mirror = true;
setRotation(Shape8, 0F, 0F, -0.7853982F);
Shape8a = new ModelRenderer(this, 63, 33);
Shape8a.addBox(0F, 0F, 0F, 2, 2, 2);
Shape8a.setRotationPoint(-5F, -46F, -1F);
Shape8a.setTextureSize(128, 128);
Shape8a.mirror = true;
setRotation(Shape8a, 0F, 0F, -0.7853982F);
Shape8b = new ModelRenderer(this, 63, 33);
Shape8b.addBox(0F, 0F, 0F, 2, 2, 2);
Shape8b.setRotationPoint(-1F, -46F, 2F);
Shape8b.setTextureSize(128, 128);
Shape8b.mirror = true;
setRotation(Shape8b, 0.7853982F, 0F, 0F);
Shape8c = new ModelRenderer(this, 63, 33);
Shape8c.addBox(0F, 0F, 0F, 2, 2, 2);
Shape8c.setRotationPoint(-1F, -46F, -5F);
Shape8c.setTextureSize(128, 128);
Shape8c.mirror = true;
setRotation(Shape8c, 0.7853982F, 0F, 0F);
Shape8d = new ModelRenderer(this, 72, 53);
Shape8d.addBox(0F, 0F, 0F, 4, 2, 4);
Shape8d.setRotationPoint(-2F, -49F, -2F);
Shape8d.setTextureSize(128, 128);
Shape8d.mirror = true;
setRotation(Shape8d, 0F, 0F, 0F);
}
@Override
public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5)
{
super.render(entity, f, f1, f2, f3, f4, f5);
this.setRotationAngles(f, f1, f2, f3, f4, f5, entity);
this.render(f5);
}
@Override
public void render(float f5)
{
Shape1.render(f5);
Shape2.render(f5);
Shape2a.render(f5);
Shape2b.render(f5);
Shape2c.render(f5);
Shape3d.render(f5);
Shape3.render(f5);
Shape3a.render(f5);
Shape3b.render(f5);
Shape4.render(f5);
Shape4a.render(f5);
Shape4b.render(f5);
Shape4c.render(f5);
Shape5.render(f5);
Shape5a.render(f5);
Shape4d.render(f5);
Shape4e.render(f5);
Shape4f.render(f5);
Shape4g.render(f5);
Shape6.render(f5);
Shape6a.render(f5);
Shape7a.render(f5);
Shape7.render(f5);
Shape8.render(f5);
Shape8a.render(f5);
Shape8b.render(f5);
Shape8c.render(f5);
Shape8d.render(f5);
}
private void setRotation(ModelRenderer model, float x, float y, float z)
{
model.rotateAngleX = x;
model.rotateAngleY = y;
model.rotateAngleZ = z;
}
}
@@ -0,0 +1,265 @@
package defense.client.model.missile;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.entity.Entity;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@SideOnly(Side.CLIENT)
public class ModelAntimatterMissile extends ModelMissileBase
{
// fields
ModelRenderer Shape1;
ModelRenderer Shape2;
ModelRenderer Shape3;
ModelRenderer Shape4;
ModelRenderer Shape36;
ModelRenderer Shape4a;
ModelRenderer Shape5a;
ModelRenderer Shape6a;
ModelRenderer Shape6b;
ModelRenderer Shape6c;
ModelRenderer Shape6d;
ModelRenderer Shape6e;
ModelRenderer Shape6f;
ModelRenderer Shape6g;
ModelRenderer Shape6h;
ModelRenderer Shape7;
ModelRenderer Shape8;
ModelRenderer Shape9;
ModelRenderer Shape10a;
ModelRenderer Shape10b;
ModelRenderer Shape10c;
ModelRenderer Shape10d;
ModelRenderer Shape11a;
ModelRenderer Shape11b;
ModelRenderer Shape2e;
ModelRenderer Shape12;
ModelRenderer Shape13;
ModelRenderer Shape14;
public ModelAntimatterMissile()
{
textureWidth = 128;
textureHeight = 128;
Shape1 = new ModelRenderer(this, 27, 0);
Shape1.addBox(0F, 0F, 0F, 8, 10, 14);
Shape1.setRotationPoint(-8F, 14F, -2F);
Shape1.setTextureSize(128, 128);
Shape1.mirror = true;
setRotation(Shape1, 0F, 0.7853982F, 0F);
Shape2 = new ModelRenderer(this, 27, 0);
Shape2.addBox(0F, 0F, 0F, 8, 10, 14);
Shape2.setRotationPoint(2F, 14F, -8F);
Shape2.setTextureSize(128, 128);
Shape2.mirror = true;
setRotation(Shape2, 0F, -0.7853982F, 0F);
Shape3 = new ModelRenderer(this, 36, 47);
Shape3.addBox(0F, 0F, 0F, 21, 11, 2);
Shape3.setRotationPoint(-8F, 13F, 7F);
Shape3.setTextureSize(128, 128);
Shape3.mirror = true;
setRotation(Shape3, 0F, 0.7853982F, 0F);
Shape4 = new ModelRenderer(this, 36, 47);
Shape4.addBox(0F, 0F, 0F, 21, 11, 2);
Shape4.setRotationPoint(-7F, 13F, -8F);
Shape4.setTextureSize(128, 128);
Shape4.mirror = true;
setRotation(Shape4, 0F, -0.7853982F, 0F);
Shape36 = new ModelRenderer(this, 0, 0);
Shape36.addBox(0F, 0F, 0F, 6, 40, 6);
Shape36.setRotationPoint(-3F, -26F, -3F);
Shape36.setTextureSize(128, 128);
Shape36.mirror = true;
setRotation(Shape36, 0F, 0F, 0F);
Shape4a = new ModelRenderer(this, 27, 25);
Shape4a.addBox(0F, 0F, 0F, 10, 10, 10);
Shape4a.setRotationPoint(-5F, 4F, -5F);
Shape4a.setTextureSize(128, 128);
Shape4a.mirror = true;
setRotation(Shape4a, 0F, 0F, 0F);
Shape5a = new ModelRenderer(this, 72, 31);
Shape5a.addBox(0F, 0F, 0F, 8, 4, 8);
Shape5a.setRotationPoint(-4F, -30F, -4F);
Shape5a.setTextureSize(128, 128);
Shape5a.mirror = true;
setRotation(Shape5a, 0F, 0F, 0F);
Shape6a = new ModelRenderer(this, 89, 8);
Shape6a.addBox(0F, 0F, 0F, 2, 5, 1);
Shape6a.setRotationPoint(-1F, -35F, 3F);
Shape6a.setTextureSize(128, 128);
Shape6a.mirror = true;
setRotation(Shape6a, 0F, 0F, 0F);
Shape6b = new ModelRenderer(this, 89, 8);
Shape6b.addBox(0F, 0F, 0F, 1, 5, 2);
Shape6b.setRotationPoint(3F, -35F, -1F);
Shape6b.setTextureSize(128, 128);
Shape6b.mirror = true;
setRotation(Shape6b, 0F, 0F, 0F);
Shape6c = new ModelRenderer(this, 89, 8);
Shape6c.addBox(0F, 0F, 0F, 1, 5, 2);
Shape6c.setRotationPoint(-4F, -35F, -1F);
Shape6c.setTextureSize(128, 128);
Shape6c.mirror = true;
setRotation(Shape6c, 0F, 0F, 0F);
Shape6d = new ModelRenderer(this, 89, 8);
Shape6d.addBox(0F, 0F, 0F, 2, 5, 1);
Shape6d.setRotationPoint(-1F, -35F, -4F);
Shape6d.setTextureSize(128, 128);
Shape6d.mirror = true;
setRotation(Shape6d, 0F, 0F, 0F);
Shape6e = new ModelRenderer(this, 103, 8);
Shape6e.addBox(0F, 0F, 0F, 1, 5, 2);
Shape6e.setRotationPoint(-2F, -39F, -1F);
Shape6e.setTextureSize(128, 128);
Shape6e.mirror = true;
setRotation(Shape6e, 0F, 0F, 0.4014257F);
Shape6f = new ModelRenderer(this, 103, 8);
Shape6f.addBox(0F, 0F, 0F, 1, 5, 2);
Shape6f.setRotationPoint(1F, -39F, -1F);
Shape6f.setTextureSize(128, 128);
Shape6f.mirror = true;
setRotation(Shape6f, 0F, 0F, -0.4014257F);
Shape6g = new ModelRenderer(this, 96, 8);
Shape6g.addBox(0F, 0F, 0F, 2, 5, 1);
Shape6g.setRotationPoint(-1F, -39F, -2F);
Shape6g.setTextureSize(128, 128);
Shape6g.mirror = true;
setRotation(Shape6g, -0.4014257F, 0F, 0F);
Shape6h = new ModelRenderer(this, 96, 8);
Shape6h.addBox(0F, 0F, 0F, 2, 5, 1);
Shape6h.setRotationPoint(-1F, -39F, 1F);
Shape6h.setTextureSize(128, 128);
Shape6h.mirror = true;
setRotation(Shape6h, 0.4014257F, 0F, 0F);
Shape7 = new ModelRenderer(this, 110, 0);
Shape7.addBox(0F, 0F, 0F, 4, 1, 4);
Shape7.setRotationPoint(-2F, -40F, -2F);
Shape7.setTextureSize(128, 128);
Shape7.mirror = true;
setRotation(Shape7, 0F, 0F, 0F);
Shape8 = new ModelRenderer(this, 110, 19);
Shape8.addBox(0F, 0F, 0F, 4, 5, 4);
Shape8.setRotationPoint(-2F, -35F, -2F);
Shape8.setTextureSize(128, 128);
Shape8.mirror = true;
setRotation(Shape8, 0F, 0F, 0F);
Shape9 = new ModelRenderer(this, 110, 8);
Shape9.addBox(0F, 0F, 0F, 2, 8, 2);
Shape9.setRotationPoint(-1F, -43F, -1F);
Shape9.setTextureSize(128, 128);
Shape9.mirror = true;
setRotation(Shape9, 0F, 0F, 0F);
Shape10a = new ModelRenderer(this, 72, 8);
Shape10a.addBox(0F, 0F, 0F, 6, 6, 2);
Shape10a.setRotationPoint(8F, -23F, 1F);
Shape10a.setTextureSize(128, 128);
Shape10a.mirror = true;
// Wing 1
setRotation(Shape10a, 0F, -3.141593F, 0.7853982F);
Shape10b = new ModelRenderer(this, 72, 17);
Shape10b.addBox(0F, 0F, 0F, 2, 6, 6);
Shape10b.setRotationPoint(-1F, -23F, -8F);
Shape10b.setTextureSize(128, 128);
Shape10b.mirror = true;
setRotation(Shape10b, 0.7853982F, 0F, 0F);
Shape10c = new ModelRenderer(this, 72, 8);
Shape10c.addBox(0F, 0F, 0F, 6, 6, 2);
Shape10c.setRotationPoint(-8F, -23F, -1F);
Shape10c.setTextureSize(128, 128);
Shape10c.mirror = true;
setRotation(Shape10c, 0F, 0F, -0.7853982F);
Shape10d = new ModelRenderer(this, 72, 8);
Shape10d.addBox(0F, 0F, 0F, 6, 6, 2);
Shape10d.setRotationPoint(-1F, -23F, 8F);
Shape10d.setTextureSize(128, 128);
Shape10d.mirror = true;
// Wing 2
setRotation(Shape10d, 0F, 1.570796F, -0.7853982F);
Shape11a = new ModelRenderer(this, 72, 0);
Shape11a.addBox(0F, 0F, 0F, 16, 5, 2);
Shape11a.setRotationPoint(-8F, -23F, -1F);
Shape11a.setTextureSize(128, 128);
Shape11a.mirror = true;
setRotation(Shape11a, 0F, 0F, 0F);
Shape11b = new ModelRenderer(this, 72, 0);
Shape11b.addBox(0F, 0F, 0F, 16, 5, 2);
Shape11b.setRotationPoint(-1F, -23F, 8F);
Shape11b.setTextureSize(128, 128);
Shape11b.mirror = true;
setRotation(Shape11b, 0F, 1.570796F, 0F);
Shape2e = new ModelRenderer(this, 0, 103);
Shape2e.addBox(0F, 0F, 0F, 16, 10, 4);
Shape2e.setRotationPoint(-8F, 14F, -2F);
Shape2e.setTextureSize(128, 128);
Shape2e.mirror = true;
setRotation(Shape2e, 0F, 0F, 0F);
Shape12 = new ModelRenderer(this, 0, 76);
Shape12.addBox(0F, 0F, 0F, 4, 10, 16);
Shape12.setRotationPoint(-2F, 14F, -8F);
Shape12.setTextureSize(128, 128);
Shape12.mirror = true;
setRotation(Shape12, 0F, 0F, 0F);
Shape13 = new ModelRenderer(this, 0, 47);
Shape13.addBox(0F, 0F, 0F, 3, 14, 14);
Shape13.setRotationPoint(6F, 13F, -8F);
Shape13.setTextureSize(128, 128);
Shape13.mirror = true;
setRotation(Shape13, 0.7853982F, -0.7853982F, 0F);
Shape14 = new ModelRenderer(this, 0, 47);
Shape14.addBox(0F, 0F, 0F, 3, 14, 14);
Shape14.setRotationPoint(8F, 13F, 6F);
Shape14.setTextureSize(128, 128);
Shape14.mirror = true;
setRotation(Shape14, 0.7853982F, -2.356194F, 0F);
}
@Override
public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5)
{
super.render(entity, f, f1, f2, f3, f4, f5);
this.setRotationAngles(f, f1, f2, f3, f4, f5, entity);
this.render(f5);
}
@Override
public void render(float f5)
{
Shape1.render(f5);
Shape2.render(f5);
Shape3.render(f5);
Shape4.render(f5);
Shape36.render(f5);
Shape4a.render(f5);
Shape5a.render(f5);
Shape6a.render(f5);
Shape6b.render(f5);
Shape6c.render(f5);
Shape6d.render(f5);
Shape6e.render(f5);
Shape6f.render(f5);
Shape6g.render(f5);
Shape6h.render(f5);
Shape7.render(f5);
Shape8.render(f5);
Shape9.render(f5);
Shape10a.render(f5);
Shape10b.render(f5);
Shape10c.render(f5);
Shape10d.render(f5);
Shape11a.render(f5);
Shape11b.render(f5);
Shape2e.render(f5);
Shape12.render(f5);
Shape13.render(f5);
Shape14.render(f5);
}
private void setRotation(ModelRenderer model, float x, float y, float z)
{
model.rotateAngleX = x;
model.rotateAngleY = y;
model.rotateAngleZ = z;
}
}
@@ -0,0 +1,391 @@
package defense.client.model.missile;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.entity.Entity;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import defense.client.tmt.ModelRendererTurbo;
@SideOnly(Side.CLIENT)
public class ModelAnvilMissile extends ModelMissileBase
{
// fields
ModelRendererTurbo[] bodyModel;
public ModelAnvilMissile()
{
int textureX = 32;
int textureY = 128;
bodyModel = new ModelRendererTurbo[68];
bodyModel[0] = new ModelRendererTurbo(this, 0, 0, textureX, textureY); // Import ImportBox0
bodyModel[1] = new ModelRendererTurbo(this, 0, 0, textureX, textureY); // Import ImportBox1
bodyModel[2] = new ModelRendererTurbo(this, 0, 0, textureX, textureY); // Import ImportBox2
bodyModel[3] = new ModelRendererTurbo(this, 0, 19, textureX, textureY); // Import Box0
bodyModel[4] = new ModelRendererTurbo(this, 0, 19, textureX, textureY); // Import Box1
bodyModel[5] = new ModelRendererTurbo(this, 0, 19, textureX, textureY); // Import Box2
bodyModel[6] = new ModelRendererTurbo(this, 0, 27, textureX, textureY); // Import Box3
bodyModel[7] = new ModelRendererTurbo(this, 0, 27, textureX, textureY); // Import Box4
bodyModel[8] = new ModelRendererTurbo(this, 0, 27, textureX, textureY); // Import Box5
bodyModel[9] = new ModelRendererTurbo(this, 0, 39, textureX, textureY); // Import Box6
bodyModel[10] = new ModelRendererTurbo(this, 10, 47, textureX, textureY); // Import Box7
bodyModel[11] = new ModelRendererTurbo(this, 0, 47, textureX, textureY); // Import Box8
bodyModel[12] = new ModelRendererTurbo(this, 0, 54, textureX, textureY); // Import Box9
bodyModel[13] = new ModelRendererTurbo(this, 0, 54, textureX, textureY); // Import Box10
bodyModel[14] = new ModelRendererTurbo(this, 0, 54, textureX, textureY); // Import Box11
bodyModel[15] = new ModelRendererTurbo(this, 0, 58, textureX, textureY); // Import Box12
bodyModel[16] = new ModelRendererTurbo(this, 0, 58, textureX, textureY); // Import Box13
bodyModel[17] = new ModelRendererTurbo(this, 0, 58, textureX, textureY); // Import Box14
bodyModel[18] = new ModelRendererTurbo(this, 0, 63, textureX, textureY); // Import Box15
bodyModel[19] = new ModelRendererTurbo(this, 0, 63, textureX, textureY); // Import Box16
bodyModel[20] = new ModelRendererTurbo(this, 0, 63, textureX, textureY); // Import Box17
bodyModel[21] = new ModelRendererTurbo(this, 0, 66, textureX, textureY); // Import Box21
bodyModel[22] = new ModelRendererTurbo(this, 0, 66, textureX, textureY); // Import Box22
bodyModel[23] = new ModelRendererTurbo(this, 0, 66, textureX, textureY); // Import Box23
bodyModel[24] = new ModelRendererTurbo(this, 0, 66, textureX, textureY); // Import Box24
bodyModel[25] = new ModelRendererTurbo(this, 0, 75, textureX, textureY); // Box 0
bodyModel[26] = new ModelRendererTurbo(this, 0, 78, textureX, textureY); // Box 1
bodyModel[27] = new ModelRendererTurbo(this, 0, 84, textureX, textureY); // Box 2
bodyModel[28] = new ModelRendererTurbo(this, 0, 88, textureX, textureY); // Box 3
bodyModel[29] = new ModelRendererTurbo(this, 0, 91, textureX, textureY); // Box 6
bodyModel[30] = new ModelRendererTurbo(this, 0, 94, textureX, textureY); // Box 7
bodyModel[31] = new ModelRendererTurbo(this, 0, 96, textureX, textureY); // Box 8
bodyModel[32] = new ModelRendererTurbo(this, 0, 96, textureX, textureY); // Box 9
bodyModel[33] = new ModelRendererTurbo(this, 0, 94, textureX, textureY); // Box 10
bodyModel[34] = new ModelRendererTurbo(this, 0, 91, textureX, textureY); // Box 11
bodyModel[35] = new ModelRendererTurbo(this, 0, 99, textureX, textureY); // Box 12
bodyModel[36] = new ModelRendererTurbo(this, 0, 102, textureX, textureY); // Box 13
bodyModel[37] = new ModelRendererTurbo(this, 0, 105, textureX, textureY); // Box 14
bodyModel[38] = new ModelRendererTurbo(this, 0, 84, textureX, textureY); // Box 15
bodyModel[39] = new ModelRendererTurbo(this, 0, 88, textureX, textureY); // Box 16
bodyModel[40] = new ModelRendererTurbo(this, 18, 0, textureX, textureY); // Box 17
bodyModel[41] = new ModelRendererTurbo(this, 18, 0, textureX, textureY); // Box 18
bodyModel[42] = new ModelRendererTurbo(this, 18, 0, textureX, textureY); // Box 19
bodyModel[43] = new ModelRendererTurbo(this, 0, 110, textureX, textureY); // Box 21
bodyModel[44] = new ModelRendererTurbo(this, 0, 110, textureX, textureY); // Box 22
bodyModel[45] = new ModelRendererTurbo(this, 0, 110, textureX, textureY); // Box 23
bodyModel[46] = new ModelRendererTurbo(this, 0, 110, textureX, textureY); // Box 24
bodyModel[47] = new ModelRendererTurbo(this, 0, 110, textureX, textureY); // Box 25
bodyModel[48] = new ModelRendererTurbo(this, 0, 110, textureX, textureY); // Box 26
bodyModel[49] = new ModelRendererTurbo(this, 18, 0, textureX, textureY); // Box 27
bodyModel[50] = new ModelRendererTurbo(this, 18, 0, textureX, textureY); // Box 28
bodyModel[51] = new ModelRendererTurbo(this, 18, 0, textureX, textureY); // Box 29
bodyModel[52] = new ModelRendererTurbo(this, 0, 110, textureX, textureY); // Box 30
bodyModel[53] = new ModelRendererTurbo(this, 0, 110, textureX, textureY); // Box 31
bodyModel[54] = new ModelRendererTurbo(this, 0, 110, textureX, textureY); // Box 32
bodyModel[55] = new ModelRendererTurbo(this, 18, 0, textureX, textureY); // Box 33
bodyModel[56] = new ModelRendererTurbo(this, 18, 0, textureX, textureY); // Box 34
bodyModel[57] = new ModelRendererTurbo(this, 18, 0, textureX, textureY); // Box 35
bodyModel[58] = new ModelRendererTurbo(this, 0, 110, textureX, textureY); // Box 36
bodyModel[59] = new ModelRendererTurbo(this, 0, 110, textureX, textureY); // Box 37
bodyModel[60] = new ModelRendererTurbo(this, 0, 110, textureX, textureY); // Box 38
bodyModel[61] = new ModelRendererTurbo(this, 18, 0, textureX, textureY); // Box 39
bodyModel[62] = new ModelRendererTurbo(this, 18, 0, textureX, textureY); // Box 40
bodyModel[63] = new ModelRendererTurbo(this, 18, 0, textureX, textureY); // Box 41
bodyModel[64] = new ModelRendererTurbo(this, 0, 117, textureX, textureY); // Box 42
bodyModel[65] = new ModelRendererTurbo(this, 0, 117, textureX, textureY); // Box 43
bodyModel[66] = new ModelRendererTurbo(this, 0, 117, textureX, textureY); // Box 44
bodyModel[67] = new ModelRendererTurbo(this, 0, 117, textureX, textureY); // Box 45
bodyModel[0].addBox(-3F, -1F, -1F, 6, 17, 2, 0F); // Import ImportBox0
bodyModel[0].setRotationPoint(0F, 2F, 0F);
bodyModel[0].rotateAngleY = 3.92699082F;
bodyModel[1].addShapeBox(-3F, -1F, -3F, 6, 17, 2, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import ImportBox1
bodyModel[1].setRotationPoint(0F, 2F, 0F);
bodyModel[1].rotateAngleY = 3.92699082F;
bodyModel[2].addShapeBox(-3F, -1F, 1F, 6, 17, 2, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F); // Import ImportBox2
bodyModel[2].setRotationPoint(0F, 2F, 0F);
bodyModel[2].rotateAngleY = 3.92699082F;
bodyModel[3].addShapeBox(-3F, -1F, -1F, 6, 6, 2, 0F, -1F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import Box0
bodyModel[3].setRotationPoint(0F, 19F, 0F);
bodyModel[3].rotateAngleY = 3.92699082F;
bodyModel[4].addShapeBox(-3F, -1F, -3F, 6, 6, 2, 0F, -2F, 0F, -1F, -2F, 0F, -1F, -1F, 0F, 0F, -1F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import Box1
bodyModel[4].setRotationPoint(0F, 19F, 0F);
bodyModel[4].rotateAngleY = 3.92699082F;
bodyModel[5].addShapeBox(-3F, -1F, 1F, 6, 6, 2, 0F, -1F, 0F, 0F, -1F, 0F, 0F, -2F, 0F, -1F, -2F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F); // Import Box2
bodyModel[5].setRotationPoint(0F, 19F, 0F);
bodyModel[5].rotateAngleY = 3.92699082F;
bodyModel[6].addShapeBox(-3F, -1F, -3F, 6, 10, 2, 0F, -2F, 0F, -1F, -2F, 0F, -1F, -1F, 0F, 0F, -1F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import Box3
bodyModel[6].setRotationPoint(0F, -8F, 0F);
bodyModel[6].rotateAngleY = 3.92699082F;
bodyModel[7].addShapeBox(-3F, -1F, -1F, 6, 10, 2, 0F, -1F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import Box4
bodyModel[7].setRotationPoint(0F, -8F, 0F);
bodyModel[7].rotateAngleY = 3.92699082F;
bodyModel[8].addShapeBox(-3F, -1F, 1F, 6, 10, 2, 0F, -1F, 0F, 0F, -1F, 0F, 0F, -2F, 0F, -1F, -2F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F); // Import Box5
bodyModel[8].setRotationPoint(0F, -8F, 0F);
bodyModel[8].rotateAngleY = 3.92699082F;
bodyModel[9].addShapeBox(-2F, -1F, -1F, 4, 6, 2, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import Box6
bodyModel[9].setRotationPoint(0F, -14F, 0F);
bodyModel[9].rotateAngleY = 3.92699082F;
bodyModel[10].addShapeBox(-2F, -1F, -2F, 4, 6, 1, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import Box7
bodyModel[10].setRotationPoint(0F, -14F, 0F);
bodyModel[10].rotateAngleY = 3.92699082F;
bodyModel[11].addShapeBox(-2F, -1F, 1F, 4, 6, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F); // Import Box8
bodyModel[11].setRotationPoint(0F, -14F, 0F);
bodyModel[11].rotateAngleY = 3.92699082F;
bodyModel[12].addShapeBox(-3F, -1F, 1F, 6, 2, 2, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, -2F, 0F, -1F, -2F, 0F, -1F); // Import Box9
bodyModel[12].setRotationPoint(0F, -16F, 0F);
bodyModel[12].rotateAngleY = 3.92699082F;
bodyModel[13].addShapeBox(-3F, -1F, -1F, 6, 2, 2, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F); // Import Box10
bodyModel[13].setRotationPoint(0F, -16F, 0F);
bodyModel[13].rotateAngleY = 3.92699082F;
bodyModel[14].addShapeBox(-3F, -1F, -3F, 6, 2, 2, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, -1F, -2F, 0F, -1F, -1F, 0F, 0F, -1F, 0F, 0F); // Import Box11
bodyModel[14].setRotationPoint(0F, -16F, 0F);
bodyModel[14].rotateAngleY = 3.92699082F;
bodyModel[15].addShapeBox(-3F, -1F, 1F, 6, 3, 2, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F); // Import Box12
bodyModel[15].setRotationPoint(0F, -19F, 0F);
bodyModel[15].rotateAngleY = 3.92699082F;
bodyModel[16].addBox(-3F, -1F, -1F, 6, 3, 2, 0F); // Import Box13
bodyModel[16].setRotationPoint(0F, -19F, 0F);
bodyModel[16].rotateAngleY = 3.92699082F;
bodyModel[17].addShapeBox(-3F, -1F, -3F, 6, 3, 2, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import Box14
bodyModel[17].setRotationPoint(0F, -19F, 0F);
bodyModel[17].rotateAngleY = 3.92699082F;
bodyModel[18].addShapeBox(-3F, -1F, -1F, 6, 1, 2, 0F, -1.5F, 0F, -0.5F, -1.5F, 0F, -0.5F, -1.5F, 0F, -0.5F, -1.5F, 0F, -0.5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import Box15
bodyModel[18].setRotationPoint(0F, -20F, 0F);
bodyModel[18].rotateAngleY = 3.92699082F;
bodyModel[19].addShapeBox(-3F, -1F, -3F, 6, 1, 2, 0F, -2.5F, 0F, -1.5F, -2.5F, 0F, -1.5F, -1.5F, 0F, 0.5F, -1.5F, 0F, 0.5F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import Box16
bodyModel[19].setRotationPoint(0F, -20F, 0F);
bodyModel[19].rotateAngleY = 3.92699082F;
bodyModel[20].addShapeBox(-3F, -1F, 1F, 6, 1, 2, 0F, -1.5F, 0F, 0.5F, -1.5F, 0F, 0.5F, -2.5F, 0F, -1.5F, -2.5F, 0F, -1.5F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F); // Import Box17
bodyModel[20].setRotationPoint(0F, -20F, 0F);
bodyModel[20].rotateAngleY = 3.92699082F;
bodyModel[21].addShapeBox(-7F, -1F, -0.5F, 4, 8, 1, 0F, 0F, -5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import Box21
bodyModel[21].setRotationPoint(0F, 11F, 0F);
bodyModel[21].rotateAngleY = 3.92699082F;
bodyModel[22].addShapeBox(-7F, -1F, -0.5F, 4, 8, 1, 0F, 0F, -5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import Box22
bodyModel[22].setRotationPoint(0F, 11F, 0F);
bodyModel[22].rotateAngleY = 5.49778714F;
bodyModel[23].addShapeBox(-7F, -1F, -0.5F, 4, 8, 1, 0F, 0F, -5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import Box23
bodyModel[23].setRotationPoint(0F, 11F, 0F);
bodyModel[23].rotateAngleY = 2.35619449F;
bodyModel[24].addShapeBox(-7F, -1F, -0.5F, 4, 8, 1, 0F, 0F, -5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import Box24
bodyModel[24].setRotationPoint(0F, 11F, 0F);
bodyModel[24].rotateAngleY = 0.78539816F;
bodyModel[25].addShapeBox(-1F, -1F, -1F, 2, 1, 2, 0F, 0F, 0F, 1F, 0F, 0F, 1F, 0F, 0F, 1F, 0F, 0F, 1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 0
bodyModel[25].setRotationPoint(0F, -21F, 0F);
bodyModel[25].rotateAngleY = 3.92699082F;
bodyModel[26].addShapeBox(-1F, -1F, -2F, 2, 2, 4, 0F, -1F, 0F, 0F, 1F, 0F, 0F, 1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 1
bodyModel[26].setRotationPoint(0F, -23F, 0F);
bodyModel[26].rotateAngleY = 3.92699082F;
bodyModel[27].addShapeBox(0F, -1F, -2F, 2, 3, 1, 0F, 0F, 0F, 0.5F, -1F, 0F, 0.5F, -1F, 0F, -0.5F, 0F, 0F, -0.5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -0.05F, 0F, 0F, -0.05F); // Box 2
bodyModel[27].setRotationPoint(0F, -26F, 0F);
bodyModel[27].rotateAngleY = 3.92699082F;
bodyModel[28].addShapeBox(0F, -1F, -2.5F, 1, 2, 1, 0F, 0F, 0F, 0.33F, 0F, 0F, 0.33F, 0F, 0F, -0.33F, 0F, 0F, -0.33F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 3
bodyModel[28].setRotationPoint(0F, -28F, 0F);
bodyModel[28].rotateAngleY = 3.92699082F;
bodyModel[29].addShapeBox(0F, -1F, -1F, 2, 2, 1, 0F, 0.5F, -1F, -0.05F, -2.5F, 0F, -0.05F, -2.5F, 0F, -0.05F, 0.5F, -1F, -0.05F, 0F, 0F, -0.05F, 0F, 0F, -0.05F, 0F, 0F, -0.05F, 0F, 0F, -0.05F); // Box 6
bodyModel[29].setRotationPoint(0F, -25F, 0F);
bodyModel[29].rotateAngleY = 3.92699082F;
bodyModel[30].addShapeBox(-1.5F, -1F, -1F, 1, 1, 1, 0F, -0.5F, 0F, -0.05F, 0F, 0F, -0.05F, 0F, 0F, -0.05F, -0.5F, 0F, -0.05F, 0.5F, 0F, -0.05F, 0F, 0F, -0.05F, 0F, 0F, -0.05F, 0.5F, 0F, -0.05F); // Box 7
bodyModel[30].setRotationPoint(0F, -25F, 0F);
bodyModel[30].rotateAngleY = 3.92699082F;
bodyModel[31].addShapeBox(-2F, -1F, -1F, 1, 2, 1, 0F, 0F, 0F, -0.05F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -0.5F, -0.5F, 0F, 0.5F, 0F, 0F, 0.5F, 0F, 0F, -0.5F, -0.5F, 0F); // Box 8
bodyModel[31].setRotationPoint(0F, -24F, 0F);
bodyModel[31].rotateAngleY = 3.92699082F;
bodyModel[32].addShapeBox(-2F, -1F, 0F, 1, 2, 1, 0F, 0F, 0F, -0.05F, 0F, 0F, -0.05F, 0F, 0F, -0.05F, 0F, 0F, -0.05F, -0.5F, -0.5F, -0.05F, 0.5F, 0F, -0.05F, 0.5F, 0F, -0.05F, -0.5F, -0.5F, -0.05F); // Box 9
bodyModel[32].setRotationPoint(0F, -24F, 0F);
bodyModel[32].rotateAngleY = 3.92699082F;
bodyModel[33].addShapeBox(-1.5F, -1F, 0F, 1, 1, 1, 0F, -0.5F, 0F, -0.05F, 0F, 0F, -0.05F, 0F, 0F, -0.05F, -0.5F, 0F, -0.05F, 0.5F, 0F, -0.05F, 0F, 0F, -0.05F, 0F, 0F, -0.05F, 0.5F, 0F, -0.05F); // Box 10
bodyModel[33].setRotationPoint(0F, -25F, 0F);
bodyModel[33].rotateAngleY = 3.92699082F;
bodyModel[34].addShapeBox(0F, -1F, 0F, 2, 2, 1, 0F, 0.5F, -1F, -0.05F, -2.5F, 0F, -0.05F, -2.5F, 0F, -0.05F, 0.5F, -1F, -0.05F, 0F, 0F, -0.05F, 0F, 0F, -0.05F, 0F, 0F, -0.05F, 0F, 0F, -0.05F); // Box 11
bodyModel[34].setRotationPoint(0F, -25F, 0F);
bodyModel[34].rotateAngleY = 3.92699082F;
bodyModel[35].addShapeBox(-1F, -1F, 2F, 2, 2, 1, 0F, 0F, 0F, 0F, 0F, -0.5F, 0F, 0F, -0.5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -0.5F, 0F, 0F, -0.5F, 0F, 0F, 0F, 0F); // Box 12
bodyModel[35].setRotationPoint(0F, -23F, 0F);
bodyModel[35].rotateAngleY = 3.92699082F;
bodyModel[36].addShapeBox(-2F, -1F, 2F, 1, 2, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -0.5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -0.5F); // Box 13
bodyModel[36].setRotationPoint(0F, -23F, 0F);
bodyModel[36].rotateAngleY = 3.92699082F;
bodyModel[37].addShapeBox(-2F, -1F, 0F, 1, 2, 2, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 14
bodyModel[37].setRotationPoint(0F, -23F, 0F);
bodyModel[37].rotateAngleY = 3.92699082F;
bodyModel[38].addShapeBox(0F, -1F, 1F, 2, 3, 1, 0F, 0F, 0F, -0.5F, -1F, 0F, -0.5F, -1F, 0F, 0.5F, 0F, 0F, 0.5F, 0F, 0F, -0.05F, 0F, 0F, -0.05F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 15
bodyModel[38].setRotationPoint(0F, -26F, 0F);
bodyModel[38].rotateAngleY = 3.92699082F;
bodyModel[39].addShapeBox(0F, -1F, 1.5F, 1, 2, 1, 0F, 0F, 0F, -0.33F, 0F, 0F, -0.33F, 0F, 0F, 0.33F, 0F, 0F, 0.33F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 16
bodyModel[39].setRotationPoint(0F, -28F, 0F);
bodyModel[39].rotateAngleY = 3.92699082F;
bodyModel[40].addShapeBox(-4F, -1F, -1.5F, 1, 22, 3, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F); // Box 17
bodyModel[40].setRotationPoint(0F, -1F, 0F);
bodyModel[40].rotateAngleY = 4.71238898F;
bodyModel[41].addShapeBox(-5F, -1F, -1.5F, 1, 22, 3, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 18
bodyModel[41].setRotationPoint(0F, -1F, 0F);
bodyModel[41].rotateAngleY = 4.71238898F;
bodyModel[42].addShapeBox(-6F, -1F, -1.5F, 1, 22, 3, 0F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F); // Box 19
bodyModel[42].setRotationPoint(0F, -1F, 0F);
bodyModel[42].rotateAngleY = 4.71238898F;
bodyModel[43].addShapeBox(-5F, -1F, -1.5F, 1, 3, 3, 0F, -0.33F, 0F, -1F, -0.33F, 0F, -1F, -0.33F, 0F, -1F, -0.33F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 21
bodyModel[43].setRotationPoint(0F, -4F, 0F);
bodyModel[43].rotateAngleY = 4.71238898F;
bodyModel[44].addShapeBox(-6F, -1F, -1.5F, 1, 3, 3, 0F, -1F, 0F, -1.33F, 0.33F, 0F, -1F, 0.33F, 0F, -1F, -1F, 0F, -1.33F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F); // Box 22
bodyModel[44].setRotationPoint(0F, -4F, 0F);
bodyModel[44].rotateAngleY = 4.71238898F;
bodyModel[45].addShapeBox(-4F, -1F, -1.5F, 1, 3, 3, 0F, 0.33F, 0F, -1F, -1F, 0F, -1.33F, -1F, 0F, -1.33F, 0.33F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F); // Box 23
bodyModel[45].setRotationPoint(0F, -4F, 0F);
bodyModel[45].rotateAngleY = 4.71238898F;
bodyModel[46].addShapeBox(-4F, -1F, -1.5F, 1, 3, 3, 0F, 0.33F, 0F, -1F, -1F, 0F, -1.33F, -1F, 0F, -1.33F, 0.33F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F); // Box 24
bodyModel[46].setRotationPoint(0F, -4F, 0F);
bodyModel[46].rotateAngleY = 6.28318531F;
bodyModel[47].addShapeBox(-5F, -1F, -1.5F, 1, 3, 3, 0F, -0.33F, 0F, -1F, -0.33F, 0F, -1F, -0.33F, 0F, -1F, -0.33F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 25
bodyModel[47].setRotationPoint(0F, -4F, 0F);
bodyModel[47].rotateAngleY = 6.28318531F;
bodyModel[48].addShapeBox(-6F, -1F, -1.5F, 1, 3, 3, 0F, -1F, 0F, -1.33F, 0.33F, 0F, -1F, 0.33F, 0F, -1F, -1F, 0F, -1.33F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F); // Box 26
bodyModel[48].setRotationPoint(0F, -4F, 0F);
bodyModel[48].rotateAngleY = 6.28318531F;
bodyModel[49].addShapeBox(-6F, -1F, -1.5F, 1, 22, 3, 0F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F); // Box 27
bodyModel[49].setRotationPoint(0F, -1F, 0F);
bodyModel[49].rotateAngleY = 6.28318531F;
bodyModel[50].addShapeBox(-5F, -1F, -1.5F, 1, 22, 3, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 28
bodyModel[50].setRotationPoint(0F, -1F, 0F);
bodyModel[50].rotateAngleY = 6.28318531F;
bodyModel[51].addShapeBox(-4F, -1F, -1.5F, 1, 22, 3, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F); // Box 29
bodyModel[51].setRotationPoint(0F, -1F, 0F);
bodyModel[51].rotateAngleY = 6.28318531F;
bodyModel[52].addShapeBox(-4F, -1F, -1.5F, 1, 3, 3, 0F, 0.33F, 0F, -1F, -1F, 0F, -1.33F, -1F, 0F, -1.33F, 0.33F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F); // Box 30
bodyModel[52].setRotationPoint(0F, -4F, 0F);
bodyModel[52].rotateAngleY = 1.57079633F;
bodyModel[53].addShapeBox(-5F, -1F, -1.5F, 1, 3, 3, 0F, -0.33F, 0F, -1F, -0.33F, 0F, -1F, -0.33F, 0F, -1F, -0.33F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 31
bodyModel[53].setRotationPoint(0F, -4F, 0F);
bodyModel[53].rotateAngleY = 1.57079633F;
bodyModel[54].addShapeBox(-6F, -1F, -1.5F, 1, 3, 3, 0F, -1F, 0F, -1.33F, 0.33F, 0F, -1F, 0.33F, 0F, -1F, -1F, 0F, -1.33F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F); // Box 32
bodyModel[54].setRotationPoint(0F, -4F, 0F);
bodyModel[54].rotateAngleY = 1.57079633F;
bodyModel[55].addShapeBox(-6F, -1F, -1.5F, 1, 22, 3, 0F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F); // Box 33
bodyModel[55].setRotationPoint(0F, -1F, 0F);
bodyModel[55].rotateAngleY = 1.57079633F;
bodyModel[56].addShapeBox(-5F, -1F, -1.5F, 1, 22, 3, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 34
bodyModel[56].setRotationPoint(0F, -1F, 0F);
bodyModel[56].rotateAngleY = 1.57079633F;
bodyModel[57].addShapeBox(-4F, -1F, -1.5F, 1, 22, 3, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F); // Box 35
bodyModel[57].setRotationPoint(0F, -1F, 0F);
bodyModel[57].rotateAngleY = 1.57079633F;
bodyModel[58].addShapeBox(-4F, -1F, -1.5F, 1, 3, 3, 0F, 0.33F, 0F, -1F, -1F, 0F, -1.33F, -1F, 0F, -1.33F, 0.33F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F); // Box 36
bodyModel[58].setRotationPoint(0F, -4F, 0F);
bodyModel[58].rotateAngleY = -3.14159265F;
bodyModel[59].addShapeBox(-5F, -1F, -1.5F, 1, 3, 3, 0F, -0.33F, 0F, -1F, -0.33F, 0F, -1F, -0.33F, 0F, -1F, -0.33F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 37
bodyModel[59].setRotationPoint(0F, -4F, 0F);
bodyModel[59].rotateAngleY = -3.14159265F;
bodyModel[60].addShapeBox(-6F, -1F, -1.5F, 1, 3, 3, 0F, -1F, 0F, -1.33F, 0.33F, 0F, -1F, 0.33F, 0F, -1F, -1F, 0F, -1.33F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F); // Box 38
bodyModel[60].setRotationPoint(0F, -4F, 0F);
bodyModel[60].rotateAngleY = -3.14159265F;
bodyModel[61].addShapeBox(-6F, -1F, -1.5F, 1, 22, 3, 0F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F); // Box 39
bodyModel[61].setRotationPoint(0F, -1F, 0F);
bodyModel[61].rotateAngleY = -3.14159265F;
bodyModel[62].addShapeBox(-5F, -1F, -1.5F, 1, 22, 3, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 40
bodyModel[62].setRotationPoint(0F, -1F, 0F);
bodyModel[62].rotateAngleY = -3.14159265F;
bodyModel[63].addShapeBox(-4F, -1F, -1.5F, 1, 22, 3, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F); // Box 41
bodyModel[63].setRotationPoint(0F, -1F, 0F);
bodyModel[63].rotateAngleY = -3.14159265F;
bodyModel[64].addShapeBox(-8F, -1F, -0.5F, 6, 8, 1, 0F, 0F, -5F, -0.4F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -5F, -0.4F, 0F, -1F, -0.4F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, -0.4F); // Box 42
bodyModel[64].setRotationPoint(0F, -5F, 0F);
bodyModel[64].rotateAngleY = 3.92699082F;
bodyModel[65].addShapeBox(-8F, -1F, -0.5F, 6, 8, 1, 0F, 0F, -5F, -0.4F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -5F, -0.4F, 0F, -1F, -0.4F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, -0.4F); // Box 43
bodyModel[65].setRotationPoint(0F, -5F, 0F);
bodyModel[65].rotateAngleY = 5.49778714F;
bodyModel[66].addShapeBox(-8F, -1F, -0.5F, 6, 8, 1, 0F, 0F, -5F, -0.4F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -5F, -0.4F, 0F, -1F, -0.4F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, -0.4F); // Box 44
bodyModel[66].setRotationPoint(0F, -5F, 0F);
bodyModel[66].rotateAngleY = 0.78539816F;
bodyModel[67].addShapeBox(-8F, -1F, -0.5F, 6, 8, 1, 0F, 0F, -5F, -0.4F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -5F, -0.4F, 0F, -1F, -0.4F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, -0.4F); // Box 45
bodyModel[67].setRotationPoint(0F, -5F, 0F);
bodyModel[67].rotateAngleY = 2.35619449F;
}
@Override
public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5)
{
super.render(entity, f, f1, f2, f3, f4, f5);
this.setRotationAngles(f, f1, f2, f3, f4, f5, entity);
this.render(f5);
}
@Override
public void render(float f5)
{
render(bodyModel, f5);
}
private void render(ModelRendererTurbo[] models, float f)
{
for(ModelRendererTurbo model : models)
if(model != null)
model.render(f);
}
private void setRotation(ModelRenderer model, float x, float y, float z)
{
model.rotateAngleX = x;
model.rotateAngleY = y;
model.rotateAngleZ = z;
}
}
@@ -0,0 +1,533 @@
package defense.client.model.missile;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.entity.Entity;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import defense.client.tmt.ModelRendererTurbo;
@SideOnly(Side.CLIENT)
public class ModelAttractiveMissile extends ModelMissileBase
{
// fields
ModelRendererTurbo[] bodyModel;
public ModelAttractiveMissile()
{
int textureX = 32;
int textureY = 128;
bodyModel = new ModelRendererTurbo[93];
bodyModel[0] = new ModelRendererTurbo(this, 0, 0, textureX, textureY); // Import ImportBox0
bodyModel[1] = new ModelRendererTurbo(this, 0, 0, textureX, textureY); // Import ImportBox1
bodyModel[2] = new ModelRendererTurbo(this, 0, 0, textureX, textureY); // Import ImportBox2
bodyModel[3] = new ModelRendererTurbo(this, 0, 24, textureX, textureY); // Import Box0
bodyModel[4] = new ModelRendererTurbo(this, 0, 24, textureX, textureY); // Import Box1
bodyModel[5] = new ModelRendererTurbo(this, 0, 24, textureX, textureY); // Import Box2
bodyModel[6] = new ModelRendererTurbo(this, 0, 32, textureX, textureY); // Import Box3
bodyModel[7] = new ModelRendererTurbo(this, 0, 32, textureX, textureY); // Import Box4
bodyModel[8] = new ModelRendererTurbo(this, 0, 32, textureX, textureY); // Import Box5
bodyModel[9] = new ModelRendererTurbo(this, 0, 41, textureX, textureY); // Import Box6
bodyModel[10] = new ModelRendererTurbo(this, 0, 47, textureX, textureY); // Import Box7
bodyModel[11] = new ModelRendererTurbo(this, 0, 47, textureX, textureY); // Import Box8
bodyModel[12] = new ModelRendererTurbo(this, 0, 52, textureX, textureY); // Import Box9
bodyModel[13] = new ModelRendererTurbo(this, 0, 52, textureX, textureY); // Import Box10
bodyModel[14] = new ModelRendererTurbo(this, 0, 52, textureX, textureY); // Import Box11
bodyModel[15] = new ModelRendererTurbo(this, 0, 56, textureX, textureY); // Import Box12
bodyModel[16] = new ModelRendererTurbo(this, 0, 56, textureX, textureY); // Import Box13
bodyModel[17] = new ModelRendererTurbo(this, 0, 56, textureX, textureY); // Import Box14
bodyModel[18] = new ModelRendererTurbo(this, 0, 65, textureX, textureY); // Import Box15
bodyModel[19] = new ModelRendererTurbo(this, 0, 65, textureX, textureY); // Import Box16
bodyModel[20] = new ModelRendererTurbo(this, 0, 65, textureX, textureY); // Import Box17
bodyModel[21] = new ModelRendererTurbo(this, 0, 70, textureX, textureY); // Import Box18
bodyModel[22] = new ModelRendererTurbo(this, 0, 70, textureX, textureY); // Import Box19
bodyModel[23] = new ModelRendererTurbo(this, 0, 70, textureX, textureY); // Import Box20
bodyModel[24] = new ModelRendererTurbo(this, 0, 72, textureX, textureY); // Import Box21
bodyModel[25] = new ModelRendererTurbo(this, 0, 72, textureX, textureY); // Import Box22
bodyModel[26] = new ModelRendererTurbo(this, 0, 72, textureX, textureY); // Import Box23
bodyModel[27] = new ModelRendererTurbo(this, 0, 72, textureX, textureY); // Import Box24
bodyModel[28] = new ModelRendererTurbo(this, 0, 81, textureX, textureY); // Box 0
bodyModel[29] = new ModelRendererTurbo(this, 0, 85, textureX, textureY); // Box 1
bodyModel[30] = new ModelRendererTurbo(this, 0, 81, textureX, textureY); // Box 2
bodyModel[31] = new ModelRendererTurbo(this, 0, 85, textureX, textureY); // Box 3
bodyModel[32] = new ModelRendererTurbo(this, 0, 93, textureX, textureY); // Box 5
bodyModel[33] = new ModelRendererTurbo(this, 0, 98, textureX, textureY); // Box 12
bodyModel[34] = new ModelRendererTurbo(this, 0, 100, textureX, textureY); // Box 13
bodyModel[35] = new ModelRendererTurbo(this, 0, 98, textureX, textureY); // Box 15
bodyModel[36] = new ModelRendererTurbo(this, 0, 98, textureX, textureY); // Box 16
bodyModel[37] = new ModelRendererTurbo(this, 0, 98, textureX, textureY); // Box 17
bodyModel[38] = new ModelRendererTurbo(this, 0, 93, textureX, textureY); // Box 29
bodyModel[39] = new ModelRendererTurbo(this, 0, 81, textureX, textureY); // Box 30
bodyModel[40] = new ModelRendererTurbo(this, 0, 85, textureX, textureY); // Box 31
bodyModel[41] = new ModelRendererTurbo(this, 0, 85, textureX, textureY); // Box 32
bodyModel[42] = new ModelRendererTurbo(this, 0, 81, textureX, textureY); // Box 33
bodyModel[43] = new ModelRendererTurbo(this, 0, 98, textureX, textureY); // Box 35
bodyModel[44] = new ModelRendererTurbo(this, 0, 98, textureX, textureY); // Box 36
bodyModel[45] = new ModelRendererTurbo(this, 0, 98, textureX, textureY); // Box 39
bodyModel[46] = new ModelRendererTurbo(this, 0, 98, textureX, textureY); // Box 40
bodyModel[47] = new ModelRendererTurbo(this, 0, 100, textureX, textureY); // Box 41
bodyModel[48] = new ModelRendererTurbo(this, 0, 100, textureX, textureY); // Box 42
bodyModel[49] = new ModelRendererTurbo(this, 0, 100, textureX, textureY); // Box 43
bodyModel[50] = new ModelRendererTurbo(this, 0, 81, textureX, textureY); // Box 44
bodyModel[51] = new ModelRendererTurbo(this, 0, 85, textureX, textureY); // Box 45
bodyModel[52] = new ModelRendererTurbo(this, 0, 81, textureX, textureY); // Box 46
bodyModel[53] = new ModelRendererTurbo(this, 0, 85, textureX, textureY); // Box 47
bodyModel[54] = new ModelRendererTurbo(this, 0, 98, textureX, textureY); // Box 48
bodyModel[55] = new ModelRendererTurbo(this, 0, 98, textureX, textureY); // Box 49
bodyModel[56] = new ModelRendererTurbo(this, 0, 98, textureX, textureY); // Box 50
bodyModel[57] = new ModelRendererTurbo(this, 0, 98, textureX, textureY); // Box 51
bodyModel[58] = new ModelRendererTurbo(this, 0, 100, textureX, textureY); // Box 52
bodyModel[59] = new ModelRendererTurbo(this, 0, 100, textureX, textureY); // Box 53
bodyModel[60] = new ModelRendererTurbo(this, 0, 87, textureX, textureY); // Box 54
bodyModel[61] = new ModelRendererTurbo(this, 0, 93, textureX, textureY); // Box 55
bodyModel[62] = new ModelRendererTurbo(this, 0, 81, textureX, textureY); // Box 56
bodyModel[63] = new ModelRendererTurbo(this, 0, 85, textureX, textureY); // Box 57
bodyModel[64] = new ModelRendererTurbo(this, 0, 81, textureX, textureY); // Box 58
bodyModel[65] = new ModelRendererTurbo(this, 0, 85, textureX, textureY); // Box 59
bodyModel[66] = new ModelRendererTurbo(this, 0, 98, textureX, textureY); // Box 60
bodyModel[67] = new ModelRendererTurbo(this, 0, 98, textureX, textureY); // Box 61
bodyModel[68] = new ModelRendererTurbo(this, 0, 98, textureX, textureY); // Box 62
bodyModel[69] = new ModelRendererTurbo(this, 0, 98, textureX, textureY); // Box 63
bodyModel[70] = new ModelRendererTurbo(this, 0, 100, textureX, textureY); // Box 64
bodyModel[71] = new ModelRendererTurbo(this, 0, 100, textureX, textureY); // Box 65
bodyModel[72] = new ModelRendererTurbo(this, 0, 93, textureX, textureY); // Box 67
bodyModel[73] = new ModelRendererTurbo(this, 0, 103, textureX, textureY); // Box 68
bodyModel[74] = new ModelRendererTurbo(this, 0, 112, textureX, textureY); // Box 69
bodyModel[75] = new ModelRendererTurbo(this, 0, 112, textureX, textureY); // Box 70
bodyModel[76] = new ModelRendererTurbo(this, 14, 71, textureX, textureY); // Box 71
bodyModel[77] = new ModelRendererTurbo(this, 12, 76, textureX, textureY); // Box 72
bodyModel[78] = new ModelRendererTurbo(this, 14, 71, textureX, textureY); // Box 73
bodyModel[79] = new ModelRendererTurbo(this, 14, 82, textureX, textureY); // Box 74
bodyModel[80] = new ModelRendererTurbo(this, 12, 86, textureX, textureY); // Box 75
bodyModel[81] = new ModelRendererTurbo(this, 14, 82, textureX, textureY); // Box 76
bodyModel[82] = new ModelRendererTurbo(this, 15, 91, textureX, textureY); // Box 77
bodyModel[83] = new ModelRendererTurbo(this, 0, 120, textureX, textureY); // Box 78
bodyModel[84] = new ModelRendererTurbo(this, 15, 91, textureX, textureY); // Box 79
bodyModel[85] = new ModelRendererTurbo(this, 0, 120, textureX, textureY); // Box 80
bodyModel[86] = new ModelRendererTurbo(this, 15, 91, textureX, textureY); // Box 81
bodyModel[87] = new ModelRendererTurbo(this, 0, 120, textureX, textureY); // Box 82
bodyModel[88] = new ModelRendererTurbo(this, 15, 91, textureX, textureY); // Box 83
bodyModel[89] = new ModelRendererTurbo(this, 0, 120, textureX, textureY); // Box 84
bodyModel[90] = new ModelRendererTurbo(this, 0, 87, textureX, textureY); // Box 85
bodyModel[91] = new ModelRendererTurbo(this, 0, 87, textureX, textureY); // Box 86
bodyModel[92] = new ModelRendererTurbo(this, 0, 87, textureX, textureY); // Box 87
bodyModel[0].addBox(-3F, -1F, -1F, 6, 22, 2, 0F); // Import ImportBox0
bodyModel[0].setRotationPoint(0F, -3F, 0F);
bodyModel[0].rotateAngleY = 3.92699082F;
bodyModel[1].addShapeBox(-3F, -1F, -3F, 6, 22, 2, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import ImportBox1
bodyModel[1].setRotationPoint(0F, -3F, 0F);
bodyModel[1].rotateAngleY = 3.92699082F;
bodyModel[2].addShapeBox(-3F, -1F, 1F, 6, 22, 2, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F); // Import ImportBox2
bodyModel[2].setRotationPoint(0F, -3F, 0F);
bodyModel[2].rotateAngleY = 3.92699082F;
bodyModel[3].addShapeBox(-3F, -1F, -1F, 6, 6, 2, 0F, -1F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import Box0
bodyModel[3].setRotationPoint(0F, 19F, 0F);
bodyModel[3].rotateAngleY = 3.92699082F;
bodyModel[4].addShapeBox(-3F, -1F, -3F, 6, 6, 2, 0F, -2F, 0F, -1F, -2F, 0F, -1F, -1F, 0F, 0F, -1F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import Box1
bodyModel[4].setRotationPoint(0F, 19F, 0F);
bodyModel[4].rotateAngleY = 3.92699082F;
bodyModel[5].addShapeBox(-3F, -1F, 1F, 6, 6, 2, 0F, -1F, 0F, 0F, -1F, 0F, 0F, -2F, 0F, -1F, -2F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F); // Import Box2
bodyModel[5].setRotationPoint(0F, 19F, 0F);
bodyModel[5].rotateAngleY = 3.92699082F;
bodyModel[6].addShapeBox(-3F, -1F, -3F, 6, 7, 2, 0F, -2F, 0F, -1F, -2F, 0F, -1F, -1F, 0F, 0F, -1F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import Box3
bodyModel[6].setRotationPoint(0F, -10F, 0F);
bodyModel[6].rotateAngleY = 3.92699082F;
bodyModel[7].addShapeBox(-3F, -1F, -1F, 6, 7, 2, 0F, -1F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import Box4
bodyModel[7].setRotationPoint(0F, -10F, 0F);
bodyModel[7].rotateAngleY = 3.92699082F;
bodyModel[8].addShapeBox(-3F, -1F, 1F, 6, 7, 2, 0F, -1F, 0F, 0F, -1F, 0F, 0F, -2F, 0F, -1F, -2F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F); // Import Box5
bodyModel[8].setRotationPoint(0F, -10F, 0F);
bodyModel[8].rotateAngleY = 3.92699082F;
bodyModel[9].addShapeBox(-2F, -1F, -1F, 4, 4, 2, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import Box6
bodyModel[9].setRotationPoint(0F, -14F, 0F);
bodyModel[9].rotateAngleY = 3.92699082F;
bodyModel[10].addShapeBox(-2F, -1F, -2F, 4, 4, 1, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import Box7
bodyModel[10].setRotationPoint(0F, -14F, 0F);
bodyModel[10].rotateAngleY = 3.92699082F;
bodyModel[11].addShapeBox(-2F, -1F, 1F, 4, 4, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F); // Import Box8
bodyModel[11].setRotationPoint(0F, -14F, 0F);
bodyModel[11].rotateAngleY = 3.92699082F;
bodyModel[12].addShapeBox(-3F, -1F, 1F, 6, 2, 2, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, -2F, 0F, -1F, -2F, 0F, -1F); // Import Box9
bodyModel[12].setRotationPoint(0F, -16F, 0F);
bodyModel[12].rotateAngleY = 3.92699082F;
bodyModel[13].addShapeBox(-3F, -1F, -1F, 6, 2, 2, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F); // Import Box10
bodyModel[13].setRotationPoint(0F, -16F, 0F);
bodyModel[13].rotateAngleY = 3.92699082F;
bodyModel[14].addShapeBox(-3F, -1F, -3F, 6, 2, 2, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, -1F, -2F, 0F, -1F, -1F, 0F, 0F, -1F, 0F, 0F); // Import Box11
bodyModel[14].setRotationPoint(0F, -16F, 0F);
bodyModel[14].rotateAngleY = 3.92699082F;
bodyModel[15].addShapeBox(-3F, -1F, 1F, 6, 7, 2, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F); // Import Box12
bodyModel[15].setRotationPoint(0F, -23F, 0F);
bodyModel[15].rotateAngleY = 3.92699082F;
bodyModel[16].addBox(-3F, -1F, -1F, 6, 7, 2, 0F); // Import Box13
bodyModel[16].setRotationPoint(0F, -23F, 0F);
bodyModel[16].rotateAngleY = 3.92699082F;
bodyModel[17].addShapeBox(-3F, -1F, -3F, 6, 7, 2, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import Box14
bodyModel[17].setRotationPoint(0F, -23F, 0F);
bodyModel[17].rotateAngleY = 3.92699082F;
bodyModel[18].addShapeBox(-3F, -1F, -1F, 6, 3, 2, 0F, -1.5F, 0F, -0.5F, -1.5F, 0F, -0.5F, -1.5F, 0F, -0.5F, -1.5F, 0F, -0.5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import Box15
bodyModel[18].setRotationPoint(0F, -26F, 0F);
bodyModel[18].rotateAngleY = 3.92699082F;
bodyModel[19].addShapeBox(-3F, -1F, -3F, 6, 3, 2, 0F, -2.5F, 0F, -1.5F, -2.5F, 0F, -1.5F, -1.5F, 0F, 0.5F, -1.5F, 0F, 0.5F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import Box16
bodyModel[19].setRotationPoint(0F, -26F, 0F);
bodyModel[19].rotateAngleY = 3.92699082F;
bodyModel[20].addShapeBox(-3F, -1F, 1F, 6, 3, 2, 0F, -1.5F, 0F, 0.5F, -1.5F, 0F, 0.5F, -2.5F, 0F, -1.5F, -2.5F, 0F, -1.5F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F); // Import Box17
bodyModel[20].setRotationPoint(0F, -26F, 0F);
bodyModel[20].rotateAngleY = 3.92699082F;
bodyModel[21].addShapeBox(-1.5F, 0F, -0.5F, 3, 1, 1, 0F, -1F, 0F, -0.33F, -1F, 0F, -0.33F, -1F, 0F, -0.33F, -1F, 0F, -0.33F, 0F, -0.5F, 0F, 0F, -0.5F, 0F, 0F, -0.5F, 0F, 0F, -0.5F, 0F); // Import Box18
bodyModel[21].setRotationPoint(0F, -27.5F, 0F);
bodyModel[21].rotateAngleY = 3.92699082F;
bodyModel[22].addShapeBox(-1.5F, 0F, -1.5F, 3, 1, 1, 0F, -1.33F, 0F, -1F, -1.33F, 0F, -1F, -1F, 0F, 0.33F, -1F, 0F, 0.33F, -1F, -0.5F, 0F, -1F, -0.5F, 0F, 0F, -0.5F, 0F, 0F, -0.5F, 0F); // Import Box19
bodyModel[22].setRotationPoint(0F, -27.5F, 0F);
bodyModel[22].rotateAngleY = 3.92699082F;
bodyModel[23].addShapeBox(-1.5F, 0F, 0.5F, 3, 1, 1, 0F, -1F, 0F, 0.33F, -1F, 0F, 0.33F, -1.33F, 0F, -1F, -1.33F, 0F, -1F, 0F, -0.5F, 0F, 0F, -0.5F, 0F, -1F, -0.5F, 0F, -1F, -0.5F, 0F); // Import Box20
bodyModel[23].setRotationPoint(0F, -27.5F, 0F);
bodyModel[23].rotateAngleY = 3.92699082F;
bodyModel[24].addShapeBox(-7F, -1F, -0.5F, 4, 8, 1, 0F, 0F, -5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import Box21
bodyModel[24].setRotationPoint(0F, 11F, 0F);
bodyModel[24].rotateAngleY = 3.92699082F;
bodyModel[25].addShapeBox(-7F, -1F, -0.5F, 4, 8, 1, 0F, 0F, -5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import Box22
bodyModel[25].setRotationPoint(0F, 11F, 0F);
bodyModel[25].rotateAngleY = 5.49778714F;
bodyModel[26].addShapeBox(-7F, -1F, -0.5F, 4, 8, 1, 0F, 0F, -5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import Box23
bodyModel[26].setRotationPoint(0F, 11F, 0F);
bodyModel[26].rotateAngleY = 2.35619449F;
bodyModel[27].addShapeBox(-7F, -1F, -0.5F, 4, 8, 1, 0F, 0F, -5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import Box24
bodyModel[27].setRotationPoint(0F, 11F, 0F);
bodyModel[27].rotateAngleY = 0.78539816F;
bodyModel[28].addTrapezoid(2F, -1F, -1F, 3, 2, 2, 0F, -0.50F, ModelRendererTurbo.MR_LEFT); // Box 0
bodyModel[28].setRotationPoint(0F, -26F, 0F);
bodyModel[28].rotateAngleY = 2.35619449F;
bodyModel[28].rotateAngleZ = 0.95993109F;
bodyModel[29].addTrapezoid(5F, -0.5F, -0.5F, 3, 1, 1, 0F, -0.40F, ModelRendererTurbo.MR_LEFT); // Box 1
bodyModel[29].setRotationPoint(0F, -26F, 0F);
bodyModel[29].rotateAngleY = 2.35619449F;
bodyModel[29].rotateAngleZ = 0.95993109F;
bodyModel[30].addTrapezoid(3F, -1F, -1F, 3, 2, 2, 0F, -0.50F, ModelRendererTurbo.MR_LEFT); // Box 2
bodyModel[30].setRotationPoint(0F, -24F, 0F);
bodyModel[30].rotateAngleY = 2.35619449F;
bodyModel[30].rotateAngleZ = 1.04719755F;
bodyModel[31].addTrapezoid(6F, -0.5F, -0.5F, 3, 1, 1, 0F, -0.40F, ModelRendererTurbo.MR_LEFT); // Box 3
bodyModel[31].setRotationPoint(0F, -24F, 0F);
bodyModel[31].rotateAngleY = 2.35619449F;
bodyModel[31].rotateAngleZ = 1.04719755F;
bodyModel[32].addShapeBox(3F, 3.5F, -0.5F, 1, 4, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 2F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 2F, 0F, 0F); // Box 5
bodyModel[32].setRotationPoint(0F, -16F, 0F);
bodyModel[32].rotateAngleY = 3.92699082F;
bodyModel[33].addTrapezoid(3F, 3.5F, -1.5F, 1, 1, 1, 0F, 0F, ModelRendererTurbo.MR_TOP); // Box 12
bodyModel[33].setRotationPoint(0F, -19F, 0F);
bodyModel[33].rotateAngleY = 3.92699082F;
bodyModel[34].addShapeBox(2F, 3.5F, -3.5F, 2, 1, 2, 0F, 0.5F, 0F, 0.5F, 0F, 0F, -2F, -1F, 0F, 0F, 0.5F, 0F, -1.5F, 0.5F, 0F, 0.5F, 0F, 0F, -2F, -1F, 0F, 0F, 0.5F, 0F, -1.5F); // Box 13
bodyModel[34].setRotationPoint(0F, -19F, 0F);
bodyModel[34].rotateAngleY = 3.92699082F;
bodyModel[35].addTrapezoid(3F, 3.5F, -1.5F, 1, 1, 1, 0F, 0F, ModelRendererTurbo.MR_TOP); // Box 15
bodyModel[35].setRotationPoint(0F, -17F, 0F);
bodyModel[35].rotateAngleY = 3.92699082F;
bodyModel[36].addTrapezoid(3F, 3.5F, 0.5F, 1, 1, 1, 0F, 0F, ModelRendererTurbo.MR_TOP); // Box 16
bodyModel[36].setRotationPoint(0F, -19F, 0F);
bodyModel[36].rotateAngleY = 3.92699082F;
bodyModel[37].addTrapezoid(3F, 3.5F, 0.5F, 1, 1, 1, 0F, 0F, ModelRendererTurbo.MR_TOP); // Box 17
bodyModel[37].setRotationPoint(0F, -17F, 0F);
bodyModel[37].rotateAngleY = 3.92699082F;
bodyModel[38].addShapeBox(3F, 3.5F, -0.5F, 1, 4, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 2F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 2F, 0F, 0F); // Box 29
bodyModel[38].setRotationPoint(0F, -16F, 0F);
bodyModel[38].rotateAngleY = 2.35619449F;
bodyModel[39].addTrapezoid(3F, -1F, -1F, 3, 2, 2, 0F, -0.50F, ModelRendererTurbo.MR_LEFT); // Box 30
bodyModel[39].setRotationPoint(0F, -24F, 0F);
bodyModel[39].rotateAngleY = 0.78539816F;
bodyModel[39].rotateAngleZ = 1.04719755F;
bodyModel[40].addTrapezoid(6F, -0.5F, -0.5F, 3, 1, 1, 0F, -0.40F, ModelRendererTurbo.MR_LEFT); // Box 31
bodyModel[40].setRotationPoint(0F, -24F, 0F);
bodyModel[40].rotateAngleY = 0.78539816F;
bodyModel[40].rotateAngleZ = 1.04719755F;
bodyModel[41].addTrapezoid(5F, -0.5F, -0.5F, 3, 1, 1, 0F, -0.40F, ModelRendererTurbo.MR_LEFT); // Box 32
bodyModel[41].setRotationPoint(0F, -26F, 0F);
bodyModel[41].rotateAngleY = 0.78539816F;
bodyModel[41].rotateAngleZ = 0.95993109F;
bodyModel[42].addTrapezoid(2F, -1F, -1F, 3, 2, 2, 0F, -0.50F, ModelRendererTurbo.MR_LEFT); // Box 33
bodyModel[42].setRotationPoint(0F, -26F, 0F);
bodyModel[42].rotateAngleY = 0.78539816F;
bodyModel[42].rotateAngleZ = 0.95993109F;
bodyModel[43].addTrapezoid(3F, 3.5F, -1.5F, 1, 1, 1, 0F, 0F, ModelRendererTurbo.MR_TOP); // Box 35
bodyModel[43].setRotationPoint(0F, -17F, 0F);
bodyModel[43].rotateAngleY = 2.35619449F;
bodyModel[44].addTrapezoid(3F, 3.5F, -1.5F, 1, 1, 1, 0F, 0F, ModelRendererTurbo.MR_TOP); // Box 36
bodyModel[44].setRotationPoint(0F, -19F, 0F);
bodyModel[44].rotateAngleY = 2.35619449F;
bodyModel[45].addTrapezoid(3F, 3.5F, 0.5F, 1, 1, 1, 0F, 0F, ModelRendererTurbo.MR_TOP); // Box 39
bodyModel[45].setRotationPoint(0F, -17F, 0F);
bodyModel[45].rotateAngleY = 2.35619449F;
bodyModel[46].addTrapezoid(3F, 3.5F, 0.5F, 1, 1, 1, 0F, 0F, ModelRendererTurbo.MR_TOP); // Box 40
bodyModel[46].setRotationPoint(0F, -19F, 0F);
bodyModel[46].rotateAngleY = 2.35619449F;
bodyModel[47].addShapeBox(2F, 3.5F, -3.5F, 2, 1, 2, 0F, 0.5F, 0F, 0.5F, 0F, 0F, -2F, -1F, 0F, 0F, 0.5F, 0F, -1.5F, 0.5F, 0F, 0.5F, 0F, 0F, -2F, -1F, 0F, 0F, 0.5F, 0F, -1.5F); // Box 41
bodyModel[47].setRotationPoint(0F, -17F, 0F);
bodyModel[47].rotateAngleY = 3.92699082F;
bodyModel[48].addShapeBox(2F, 3.5F, -3.5F, 2, 1, 2, 0F, 0.5F, 0F, 0.5F, 0F, 0F, -2F, -1F, 0F, 0F, 0.5F, 0F, -1.5F, 0.5F, 0F, 0.5F, 0F, 0F, -2F, -1F, 0F, 0F, 0.5F, 0F, -1.5F); // Box 42
bodyModel[48].setRotationPoint(0F, -17F, 0F);
bodyModel[48].rotateAngleY = 2.35619449F;
bodyModel[49].addShapeBox(2F, 3.5F, -3.5F, 2, 1, 2, 0F, 0.5F, 0F, 0.5F, 0F, 0F, -2F, -1F, 0F, 0F, 0.5F, 0F, -1.5F, 0.5F, 0F, 0.5F, 0F, 0F, -2F, -1F, 0F, 0F, 0.5F, 0F, -1.5F); // Box 43
bodyModel[49].setRotationPoint(0F, -19F, 0F);
bodyModel[49].rotateAngleY = 2.35619449F;
bodyModel[50].addTrapezoid(2F, -1F, -1F, 3, 2, 2, 0F, -0.50F, ModelRendererTurbo.MR_LEFT); // Box 44
bodyModel[50].setRotationPoint(0F, -26F, 0F);
bodyModel[50].rotateAngleY = -0.78539816F;
bodyModel[50].rotateAngleZ = 0.95993109F;
bodyModel[51].addTrapezoid(5F, -0.5F, -0.5F, 3, 1, 1, 0F, -0.40F, ModelRendererTurbo.MR_LEFT); // Box 45
bodyModel[51].setRotationPoint(0F, -26F, 0F);
bodyModel[51].rotateAngleY = -0.78539816F;
bodyModel[51].rotateAngleZ = 0.95993109F;
bodyModel[52].addTrapezoid(3F, -1F, -1F, 3, 2, 2, 0F, -0.50F, ModelRendererTurbo.MR_LEFT); // Box 46
bodyModel[52].setRotationPoint(0F, -24F, 0F);
bodyModel[52].rotateAngleY = -0.78539816F;
bodyModel[52].rotateAngleZ = 1.04719755F;
bodyModel[53].addTrapezoid(6F, -0.5F, -0.5F, 3, 1, 1, 0F, -0.40F, ModelRendererTurbo.MR_LEFT); // Box 47
bodyModel[53].setRotationPoint(0F, -24F, 0F);
bodyModel[53].rotateAngleY = -0.78539816F;
bodyModel[53].rotateAngleZ = 1.04719755F;
bodyModel[54].addTrapezoid(3F, 3.5F, 0.5F, 1, 1, 1, 0F, 0F, ModelRendererTurbo.MR_TOP); // Box 48
bodyModel[54].setRotationPoint(0F, -19F, 0F);
bodyModel[54].rotateAngleY = 0.78539816F;
bodyModel[55].addTrapezoid(3F, 3.5F, 0.5F, 1, 1, 1, 0F, 0F, ModelRendererTurbo.MR_TOP); // Box 49
bodyModel[55].setRotationPoint(0F, -17F, 0F);
bodyModel[55].rotateAngleY = 0.78539816F;
bodyModel[56].addTrapezoid(3F, 3.5F, -1.5F, 1, 1, 1, 0F, 0F, ModelRendererTurbo.MR_TOP); // Box 50
bodyModel[56].setRotationPoint(0F, -17F, 0F);
bodyModel[56].rotateAngleY = 0.78539816F;
bodyModel[57].addTrapezoid(3F, 3.5F, -1.5F, 1, 1, 1, 0F, 0F, ModelRendererTurbo.MR_TOP); // Box 51
bodyModel[57].setRotationPoint(0F, -19F, 0F);
bodyModel[57].rotateAngleY = 0.78539816F;
bodyModel[58].addShapeBox(2F, 3.5F, -3.5F, 2, 1, 2, 0F, 0.5F, 0F, 0.5F, 0F, 0F, -2F, -1F, 0F, 0F, 0.5F, 0F, -1.5F, 0.5F, 0F, 0.5F, 0F, 0F, -2F, -1F, 0F, 0F, 0.5F, 0F, -1.5F); // Box 52
bodyModel[58].setRotationPoint(0F, -19F, 0F);
bodyModel[58].rotateAngleY = 0.78539816F;
bodyModel[59].addShapeBox(2F, 3.5F, -3.5F, 2, 1, 2, 0F, 0.5F, 0F, 0.5F, 0F, 0F, -2F, -1F, 0F, 0F, 0.5F, 0F, -1.5F, 0.5F, 0F, 0.5F, 0F, 0F, -2F, -1F, 0F, 0F, 0.5F, 0F, -1.5F); // Box 53
bodyModel[59].setRotationPoint(0F, -17F, 0F);
bodyModel[59].rotateAngleY = 0.78539816F;
bodyModel[60].addShapeBox(3F, 3.5F, -0.5F, 1, 5, 1, 0F, 0F, 1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 54
bodyModel[60].setRotationPoint(0F, -21F, 0F);
bodyModel[60].rotateAngleY = 0.78539816F;
bodyModel[61].addShapeBox(3F, 3.5F, -0.5F, 1, 4, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 2F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 2F, 0F, 0F); // Box 55
bodyModel[61].setRotationPoint(0F, -16F, 0F);
bodyModel[61].rotateAngleY = 0.78539816F;
bodyModel[62].addTrapezoid(2F, -1F, -1F, 3, 2, 2, 0F, -0.50F, ModelRendererTurbo.MR_LEFT); // Box 56
bodyModel[62].setRotationPoint(0F, -26F, 0F);
bodyModel[62].rotateAngleY = 3.92699082F;
bodyModel[62].rotateAngleZ = 0.95993109F;
bodyModel[63].addTrapezoid(5F, -0.5F, -0.5F, 3, 1, 1, 0F, -0.40F, ModelRendererTurbo.MR_LEFT); // Box 57
bodyModel[63].setRotationPoint(0F, -26F, 0F);
bodyModel[63].rotateAngleY = 3.92699082F;
bodyModel[63].rotateAngleZ = 0.95993109F;
bodyModel[64].addTrapezoid(3F, -1F, -1F, 3, 2, 2, 0F, -0.50F, ModelRendererTurbo.MR_LEFT); // Box 58
bodyModel[64].setRotationPoint(0F, -24F, 0F);
bodyModel[64].rotateAngleY = 3.92699082F;
bodyModel[64].rotateAngleZ = 1.04719755F;
bodyModel[65].addTrapezoid(6F, -0.5F, -0.5F, 3, 1, 1, 0F, -0.40F, ModelRendererTurbo.MR_LEFT); // Box 59
bodyModel[65].setRotationPoint(0F, -24F, 0F);
bodyModel[65].rotateAngleY = 3.92699082F;
bodyModel[65].rotateAngleZ = 1.04719755F;
bodyModel[66].addTrapezoid(3F, 3.5F, 0.5F, 1, 1, 1, 0F, 0F, ModelRendererTurbo.MR_TOP); // Box 60
bodyModel[66].setRotationPoint(0F, -19F, 0F);
bodyModel[66].rotateAngleY = 5.49778714F;
bodyModel[67].addTrapezoid(3F, 3.5F, 0.5F, 1, 1, 1, 0F, 0F, ModelRendererTurbo.MR_TOP); // Box 61
bodyModel[67].setRotationPoint(0F, -17F, 0F);
bodyModel[67].rotateAngleY = 5.49778714F;
bodyModel[68].addTrapezoid(3F, 3.5F, -1.5F, 1, 1, 1, 0F, 0F, ModelRendererTurbo.MR_TOP); // Box 62
bodyModel[68].setRotationPoint(0F, -17F, 0F);
bodyModel[68].rotateAngleY = 5.49778714F;
bodyModel[69].addTrapezoid(3F, 3.5F, -1.5F, 1, 1, 1, 0F, 0F, ModelRendererTurbo.MR_TOP); // Box 63
bodyModel[69].setRotationPoint(0F, -19F, 0F);
bodyModel[69].rotateAngleY = 5.49778714F;
bodyModel[70].addShapeBox(2F, 3.5F, -3.5F, 2, 1, 2, 0F, 0.5F, 0F, 0.5F, 0F, 0F, -2F, -1F, 0F, 0F, 0.5F, 0F, -1.5F, 0.5F, 0F, 0.5F, 0F, 0F, -2F, -1F, 0F, 0F, 0.5F, 0F, -1.5F); // Box 64
bodyModel[70].setRotationPoint(0F, -19F, 0F);
bodyModel[70].rotateAngleY = 5.49778714F;
bodyModel[71].addShapeBox(2F, 3.5F, -3.5F, 2, 1, 2, 0F, 0.5F, 0F, 0.5F, 0F, 0F, -2F, -1F, 0F, 0F, 0.5F, 0F, -1.5F, 0.5F, 0F, 0.5F, 0F, 0F, -2F, -1F, 0F, 0F, 0.5F, 0F, -1.5F); // Box 65
bodyModel[71].setRotationPoint(0F, -17F, 0F);
bodyModel[71].rotateAngleY = 5.49778714F;
bodyModel[72].addShapeBox(3F, 3.5F, -0.5F, 1, 4, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 2F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 2F, 0F, 0F); // Box 67
bodyModel[72].setRotationPoint(0F, -16F, 0F);
bodyModel[72].rotateAngleY = 5.49778714F;
bodyModel[73].addBox(-3.5F, -1F, -1.5F, 7, 6, 3, 0F); // Box 68
bodyModel[73].setRotationPoint(0F, -2F, 0F);
bodyModel[73].rotateAngleY = 3.92699082F;
bodyModel[74].addShapeBox(-3.5F, -1F, -3.5F, 7, 6, 2, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 69
bodyModel[74].setRotationPoint(0F, -2F, 0F);
bodyModel[74].rotateAngleY = 3.92699082F;
bodyModel[75].addShapeBox(-3.5F, -1F, 1.5F, 7, 6, 2, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F); // Box 70
bodyModel[75].setRotationPoint(0F, -2F, 0F);
bodyModel[75].rotateAngleY = 3.92699082F;
bodyModel[76].addShapeBox(-3.5F, -1F, 1.5F, 7, 2, 2, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F); // Box 71
bodyModel[76].setRotationPoint(0F, 5F, 0F);
bodyModel[76].rotateAngleY = 3.92699082F;
bodyModel[77].addBox(-3.5F, -1F, -1.5F, 7, 2, 3, 0F); // Box 72
bodyModel[77].setRotationPoint(0F, 5F, 0F);
bodyModel[77].rotateAngleY = 3.92699082F;
bodyModel[78].addShapeBox(-3.5F, -1F, -3.5F, 7, 2, 2, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 73
bodyModel[78].setRotationPoint(0F, 5F, 0F);
bodyModel[78].rotateAngleY = 3.92699082F;
bodyModel[79].addShapeBox(-3.5F, -1F, 1.5F, 7, 1, 2, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F); // Box 74
bodyModel[79].setRotationPoint(0F, 8F, 0F);
bodyModel[79].rotateAngleY = 3.92699082F;
bodyModel[80].addBox(-3.5F, -1F, -1.5F, 7, 1, 3, 0F); // Box 75
bodyModel[80].setRotationPoint(0F, 8F, 0F);
bodyModel[80].rotateAngleY = 3.92699082F;
bodyModel[81].addShapeBox(-3.5F, -1F, -3.5F, 7, 1, 2, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 76
bodyModel[81].setRotationPoint(0F, 8F, 0F);
bodyModel[81].rotateAngleY = 3.92699082F;
bodyModel[82].addShapeBox(-9.5F, -1F, -0.5F, 6, 8, 1, 0F, 0F, -5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 77
bodyModel[82].setRotationPoint(0F, -2F, 0F);
bodyModel[82].rotateAngleY = 2.35619449F;
bodyModel[83].addShapeBox(-9.5F, -1F, -0.5F, 6, 3, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F); // Box 78
bodyModel[83].setRotationPoint(0F, 6F, 0F);
bodyModel[83].rotateAngleY = 2.35619449F;
bodyModel[84].addShapeBox(-9.5F, -1F, -0.5F, 6, 8, 1, 0F, 0F, -5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 79
bodyModel[84].setRotationPoint(0F, -2F, 0F);
bodyModel[84].rotateAngleY = 0.78539816F;
bodyModel[85].addShapeBox(-9.5F, -1F, -0.5F, 6, 3, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F); // Box 80
bodyModel[85].setRotationPoint(0F, 6F, 0F);
bodyModel[85].rotateAngleY = 0.78539816F;
bodyModel[86].addShapeBox(-9.5F, -1F, -0.5F, 6, 8, 1, 0F, 0F, -5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 81
bodyModel[86].setRotationPoint(0F, -2F, 0F);
bodyModel[86].rotateAngleY = 3.92699082F;
bodyModel[87].addShapeBox(-9.5F, -1F, -0.5F, 6, 3, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F); // Box 82
bodyModel[87].setRotationPoint(0F, 6F, 0F);
bodyModel[87].rotateAngleY = 3.92699082F;
bodyModel[88].addShapeBox(-9.5F, -1F, -0.5F, 6, 8, 1, 0F, 0F, -5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 83
bodyModel[88].setRotationPoint(0F, -2F, 0F);
bodyModel[88].rotateAngleY = 5.49778714F;
bodyModel[89].addShapeBox(-9.5F, -1F, -0.5F, 6, 3, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F); // Box 84
bodyModel[89].setRotationPoint(0F, 6F, 0F);
bodyModel[89].rotateAngleY = 5.49778714F;
bodyModel[90].addShapeBox(3F, 3.5F, -0.5F, 1, 5, 1, 0F, 0F, 1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 85
bodyModel[90].setRotationPoint(0F, -21F, 0F);
bodyModel[90].rotateAngleY = 2.35619449F;
bodyModel[91].addShapeBox(3F, 3.5F, -0.5F, 1, 5, 1, 0F, 0F, 1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 86
bodyModel[91].setRotationPoint(0F, -21F, 0F);
bodyModel[91].rotateAngleY = 3.92699082F;
bodyModel[92].addShapeBox(3F, 3.5F, -0.5F, 1, 5, 1, 0F, 0F, 1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 87
bodyModel[92].setRotationPoint(0F, -21F, 0F);
bodyModel[92].rotateAngleY = 5.49778714F;
}
@Override
public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5)
{
super.render(entity, f, f1, f2, f3, f4, f5);
this.setRotationAngles(f, f1, f2, f3, f4, f5, entity);
this.render(f5);
}
@Override
public void render(float f5)
{
render(bodyModel, f5);
}
private void render(ModelRendererTurbo[] models, float f)
{
for(ModelRendererTurbo model : models)
if(model != null)
model.render(f);
}
private void setRotation(ModelRenderer model, float x, float y, float z)
{
model.rotateAngleX = x;
model.rotateAngleY = y;
model.rotateAngleZ = z;
}
}
@@ -0,0 +1,232 @@
package defense.client.model.missile;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.entity.Entity;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@SideOnly(Side.CLIENT)
public class ModelBreachingMissile extends ModelMissileBase
{
// fields
ModelRenderer Shape1;
ModelRenderer Shape2;
ModelRenderer Shape2b;
ModelRenderer Shape2c;
ModelRenderer Shape2d;
ModelRenderer Shape3;
ModelRenderer Shape3a;
ModelRenderer Shape3b;
ModelRenderer Shape3c;
ModelRenderer Shape4;
ModelRenderer Shape4a;
ModelRenderer Shape4b;
ModelRenderer Shape4c;
ModelRenderer Shape5;
ModelRenderer Shape5a;
ModelRenderer Shape4d;
ModelRenderer Shape4e;
ModelRenderer Shape4f;
ModelRenderer Shape4g;
ModelRenderer Shape6;
ModelRenderer Shape6a;
ModelRenderer Shape7;
ModelRenderer Shape7a;
ModelRenderer Shape7b;
public ModelBreachingMissile()
{
textureWidth = 128;
textureHeight = 128;
Shape1 = new ModelRenderer(this, 0, 0);
Shape1.addBox(-4F, 0F, -4F, 8, 64, 8);
Shape1.setRotationPoint(0F, -40F, 0F);
Shape1.setTextureSize(128, 128);
Shape1.mirror = true;
setRotation(Shape1, 0F, 0F, 0F);
Shape2 = new ModelRenderer(this, 34, 19);
Shape2.addBox(0F, 0F, 0F, 14, 10, 1);
Shape2.setRotationPoint(-7F, 14F, 6F);
Shape2.setTextureSize(128, 128);
Shape2.mirror = true;
setRotation(Shape2, 0F, 0F, 0F);
Shape2b = new ModelRenderer(this, 34, 19);
Shape2b.addBox(0F, 0F, 0F, 14, 10, 1);
Shape2b.setRotationPoint(-7F, 14F, -7F);
Shape2b.setTextureSize(128, 128);
Shape2b.mirror = true;
setRotation(Shape2b, 0F, 0F, 0F);
Shape2c = new ModelRenderer(this, 34, 31);
Shape2c.addBox(0F, 0F, 0F, 1, 10, 12);
Shape2c.setRotationPoint(-7F, 14F, -6F);
Shape2c.setTextureSize(128, 128);
Shape2c.mirror = true;
setRotation(Shape2c, 0F, 0F, 0F);
Shape2d = new ModelRenderer(this, 34, 31);
Shape2d.addBox(0F, 0F, 0F, 1, 10, 12);
Shape2d.setRotationPoint(6F, 14F, -6F);
Shape2d.setTextureSize(128, 128);
Shape2d.mirror = true;
setRotation(Shape2d, 0F, 0F, 0F);
Shape3 = new ModelRenderer(this, 72, 0);
Shape3.addBox(-11F, 0F, -1F, 22, 12, 2);
Shape3.setRotationPoint(0F, 12F, 0F);
Shape3.setTextureSize(128, 128);
Shape3.mirror = true;
setRotation(Shape3, 0F, 0.7853982F, 0F);
Shape3a = new ModelRenderer(this, 72, 0);
Shape3a.addBox(-11F, 0F, -1F, 22, 12, 2);
Shape3a.setRotationPoint(0F, 12F, 0F);
Shape3a.setTextureSize(128, 128);
Shape3a.mirror = true;
setRotation(Shape3a, 0F, -0.7853982F, 0F);
Shape3b = new ModelRenderer(this, 34, 0);
Shape3b.addBox(-8F, -8F, -1F, 16, 16, 2);
Shape3b.setRotationPoint(0F, 12F, 0F);
Shape3b.setTextureSize(128, 128);
Shape3b.mirror = true;
setRotation(Shape3b, 0F, 0.7853982F, 0.7853982F);
Shape3c = new ModelRenderer(this, 34, 0);
Shape3c.addBox(-8F, -8F, -1F, 16, 16, 2);
Shape3c.setRotationPoint(0F, 12F, 0F);
Shape3c.setTextureSize(128, 128);
Shape3c.mirror = true;
setRotation(Shape3c, 0F, -0.7853982F, 0.7853982F);
Shape4 = new ModelRenderer(this, 22, 74);
Shape4.addBox(0F, 0F, 0F, 2, 7, 5);
Shape4.setRotationPoint(-1F, -23F, 4F);
Shape4.setTextureSize(128, 128);
Shape4.mirror = true;
setRotation(Shape4, -0.5235988F, 0F, 0F);
Shape4a = new ModelRenderer(this, 0, 103);
Shape4a.addBox(0F, 0F, 0F, 5, 8, 2);
Shape4a.setRotationPoint(4F, -23F, -1F);
Shape4a.setTextureSize(128, 128);
Shape4a.mirror = true;
setRotation(Shape4a, 0F, 0F, 0.5235988F);
Shape4b = new ModelRenderer(this, 0, 81);
Shape4b.addBox(-1F, 0F, 0F, 2, 4, 5);
Shape4b.setRotationPoint(0F, -35F, -4F);
Shape4b.setTextureSize(128, 128);
Shape4b.mirror = true;
setRotation(Shape4b, -0.5235988F, 3.141593F, 0F);
Shape4c = new ModelRenderer(this, 0, 103);
Shape4c.addBox(0F, 0F, -1F, 5, 8, 2);
Shape4c.setRotationPoint(-4F, -23F, 0F);
Shape4c.setTextureSize(128, 128);
Shape4c.mirror = true;
setRotation(Shape4c, 0F, 3.141593F, 0.5235988F);
Shape5 = new ModelRenderer(this, 0, 74);
Shape5.addBox(-1F, 0F, -8F, 2, 12, 16);
Shape5.setRotationPoint(0F, -32F, 0F);
Shape5.setTextureSize(128, 128);
Shape5.mirror = true;
setRotation(Shape5, 0F, 0F, 0F);
Shape5a = new ModelRenderer(this, 0, 74);
Shape5a.addBox(-1F, 0F, -8F, 2, 12, 16);
Shape5a.setRotationPoint(0F, -32F, 0F);
Shape5a.setTextureSize(128, 128);
Shape5a.mirror = true;
setRotation(Shape5a, 0F, 1.570796F, 0F);
Shape4d = new ModelRenderer(this, 22, 74);
Shape4d.addBox(-1F, 0F, 0F, 2, 8, 5);
Shape4d.setRotationPoint(0F, -23F, -4F);
Shape4d.setTextureSize(128, 128);
Shape4d.mirror = true;
setRotation(Shape4d, -0.5235988F, 3.141593F, 0F);
Shape4e = new ModelRenderer(this, 0, 81);
Shape4e.addBox(-1F, 0F, 0F, 2, 4, 5);
Shape4e.setRotationPoint(0F, -35F, 4F);
Shape4e.setTextureSize(128, 128);
Shape4e.mirror = true;
setRotation(Shape4e, -0.5235988F, 0F, 0F);
Shape4f = new ModelRenderer(this, 0, 74);
Shape4f.addBox(0F, 0F, -1F, 5, 4, 2);
Shape4f.setRotationPoint(-4F, -35F, 0F);
Shape4f.setTextureSize(128, 128);
Shape4f.mirror = true;
setRotation(Shape4f, 0F, 3.141593F, 0.5235988F);
Shape4g = new ModelRenderer(this, 0, 74);
Shape4g.addBox(0F, 0F, 0F, 5, 4, 2);
Shape4g.setRotationPoint(4F, -35F, -1F);
Shape4g.setTextureSize(128, 128);
Shape4g.mirror = true;
setRotation(Shape4g, 0F, 0F, 0.5235988F);
Shape6 = new ModelRenderer(this, 72, 16);
Shape6.addBox(0F, 0F, 0F, 10, 1, 10);
Shape6.setRotationPoint(-5F, -37F, -5F);
Shape6.setTextureSize(128, 128);
Shape6.mirror = true;
setRotation(Shape6, 0F, 0F, 0F);
Shape6a = new ModelRenderer(this, 72, 16);
Shape6a.addBox(0F, 0F, 0F, 10, 1, 10);
Shape6a.setRotationPoint(-5F, -41F, -5F);
Shape6a.setTextureSize(128, 128);
Shape6a.mirror = true;
setRotation(Shape6a, 0F, 0F, 0F);
Shape7 = new ModelRenderer(this, 96, 115);
Shape7.addBox(0F, 0F, 0F, 8, 4, 8);
Shape7.setRotationPoint(-4F, -45F, -4F);
Shape7.setTextureSize(128, 128);
Shape7.mirror = true;
setRotation(Shape7, 0F, 0F, 0F);
Shape7a = new ModelRenderer(this, 79, 109);
Shape7a.addBox(0F, 0F, 0F, 4, 14, 4);
Shape7a.setRotationPoint(-2F, -59F, -2F);
Shape7a.setTextureSize(128, 128);
Shape7a.mirror = true;
setRotation(Shape7a, 0F, 0F, 0F);
Shape7b = new ModelRenderer(this, 96, 110);
Shape7b.addBox(0F, 0F, 0F, 2, 2, 2);
Shape7b.setRotationPoint(-1F, -61F, -1F);
Shape7b.setTextureSize(128, 128);
Shape7b.mirror = true;
setRotation(Shape7b, 0F, 0F, 0F);
}
@Override
public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5)
{
super.render(entity, f, f1, f2, f3, f4, f5);
this.setRotationAngles(f, f1, f2, f3, f4, f5, entity);
this.render(f5);
}
@Override
public void render(float f5)
{
Shape1.render(f5);
Shape2.render(f5);
Shape2b.render(f5);
Shape2c.render(f5);
Shape2d.render(f5);
Shape3.render(f5);
Shape3a.render(f5);
Shape3b.render(f5);
Shape3c.render(f5);
Shape4.render(f5);
Shape4a.render(f5);
Shape4b.render(f5);
Shape4c.render(f5);
Shape5.render(f5);
Shape5a.render(f5);
Shape4d.render(f5);
Shape4e.render(f5);
Shape4f.render(f5);
Shape4g.render(f5);
Shape6.render(f5);
Shape6a.render(f5);
Shape7.render(f5);
Shape7a.render(f5);
Shape7b.render(f5);
}
private void setRotation(ModelRenderer model, float x, float y, float z)
{
model.rotateAngleX = x;
model.rotateAngleY = y;
model.rotateAngleZ = z;
}
}
@@ -0,0 +1,387 @@
package defense.client.model.missile;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.entity.Entity;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import defense.client.tmt.ModelRendererTurbo;
@SideOnly(Side.CLIENT)
public class ModelChemicalMissile extends ModelMissileBase
{
// fields
ModelRendererTurbo[] bodyModel;
public ModelChemicalMissile()
{
int textureX = 32;
int textureY = 256;
bodyModel = new ModelRendererTurbo[67];
bodyModel[0] = new ModelRendererTurbo(this, 0, 0, textureX, textureY); // Box 0
bodyModel[1] = new ModelRendererTurbo(this, 0, 14, textureX, textureY); // Box 3
bodyModel[2] = new ModelRendererTurbo(this, 0, 14, textureX, textureY); // Box 4
bodyModel[3] = new ModelRendererTurbo(this, 0, 27, textureX, textureY); // Box 5
bodyModel[4] = new ModelRendererTurbo(this, 0, 40, textureX, textureY); // Box 9
bodyModel[5] = new ModelRendererTurbo(this, 0, 50, textureX, textureY); // Box 13
bodyModel[6] = new ModelRendererTurbo(this, 0, 54, textureX, textureY); // Box 14
bodyModel[7] = new ModelRendererTurbo(this, 0, 27, textureX, textureY); // Box 15
bodyModel[8] = new ModelRendererTurbo(this, 0, 40, textureX, textureY); // Box 16
bodyModel[9] = new ModelRendererTurbo(this, 0, 50, textureX, textureY); // Box 17
bodyModel[10] = new ModelRendererTurbo(this, 0, 54, textureX, textureY); // Box 18
bodyModel[11] = new ModelRendererTurbo(this, 0, 27, textureX, textureY); // Box 19
bodyModel[12] = new ModelRendererTurbo(this, 0, 40, textureX, textureY); // Box 20
bodyModel[13] = new ModelRendererTurbo(this, 0, 50, textureX, textureY); // Box 21
bodyModel[14] = new ModelRendererTurbo(this, 0, 54, textureX, textureY); // Box 22
bodyModel[15] = new ModelRendererTurbo(this, 0, 27, textureX, textureY); // Box 23
bodyModel[16] = new ModelRendererTurbo(this, 0, 40, textureX, textureY); // Box 24
bodyModel[17] = new ModelRendererTurbo(this, 0, 50, textureX, textureY); // Box 25
bodyModel[18] = new ModelRendererTurbo(this, 0, 54, textureX, textureY); // Box 26
bodyModel[19] = new ModelRendererTurbo(this, 0, 59, textureX, textureY); // Box 27
bodyModel[20] = new ModelRendererTurbo(this, 0, 66, textureX, textureY); // Box 30
bodyModel[21] = new ModelRendererTurbo(this, 0, 66, textureX, textureY); // Box 31
bodyModel[22] = new ModelRendererTurbo(this, 0, 72, textureX, textureY); // Box 32
bodyModel[23] = new ModelRendererTurbo(this, 0, 72, textureX, textureY); // Box 33
bodyModel[24] = new ModelRendererTurbo(this, 0, 72, textureX, textureY); // Box 34
bodyModel[25] = new ModelRendererTurbo(this, 0, 90, textureX, textureY); // Box 35
bodyModel[26] = new ModelRendererTurbo(this, 0, 86, textureX, textureY); // Box 36
bodyModel[27] = new ModelRendererTurbo(this, 0, 90, textureX, textureY); // Box 37
bodyModel[28] = new ModelRendererTurbo(this, 0, 93, textureX, textureY); // Box 38
bodyModel[29] = new ModelRendererTurbo(this, 0, 101, textureX, textureY); // Box 39
bodyModel[30] = new ModelRendererTurbo(this, 0, 101, textureX, textureY); // Box 40
bodyModel[31] = new ModelRendererTurbo(this, 0, 108, textureX, textureY); // Box 41
bodyModel[32] = new ModelRendererTurbo(this, 0, 113, textureX, textureY); // Box 42
bodyModel[33] = new ModelRendererTurbo(this, 0, 113, textureX, textureY); // Box 43
bodyModel[34] = new ModelRendererTurbo(this, 0, 117, textureX, textureY); // Box 46
bodyModel[35] = new ModelRendererTurbo(this, 0, 117, textureX, textureY); // Box 47
bodyModel[36] = new ModelRendererTurbo(this, 0, 117, textureX, textureY); // Box 48
bodyModel[37] = new ModelRendererTurbo(this, 0, 124, textureX, textureY); // Box 49
bodyModel[38] = new ModelRendererTurbo(this, 0, 120, textureX, textureY); // Box 50
bodyModel[39] = new ModelRendererTurbo(this, 0, 124, textureX, textureY); // Box 51
bodyModel[40] = new ModelRendererTurbo(this, 0, 127, textureX, textureY); // Box 52
bodyModel[41] = new ModelRendererTurbo(this, 0, 127, textureX, textureY); // Box 53
bodyModel[42] = new ModelRendererTurbo(this, 0, 127, textureX, textureY); // Box 54
bodyModel[43] = new ModelRendererTurbo(this, 0, 124, textureX, textureY); // Box 55
bodyModel[44] = new ModelRendererTurbo(this, 0, 120, textureX, textureY); // Box 56
bodyModel[45] = new ModelRendererTurbo(this, 0, 124, textureX, textureY); // Box 57
bodyModel[46] = new ModelRendererTurbo(this, 0, 124, textureX, textureY); // Box 58
bodyModel[47] = new ModelRendererTurbo(this, 0, 120, textureX, textureY); // Box 59
bodyModel[48] = new ModelRendererTurbo(this, 0, 124, textureX, textureY); // Box 60
bodyModel[49] = new ModelRendererTurbo(this, 0, 120, textureX, textureY); // Box 61
bodyModel[50] = new ModelRendererTurbo(this, 0, 124, textureX, textureY); // Box 62
bodyModel[51] = new ModelRendererTurbo(this, 0, 124, textureX, textureY); // Box 63
bodyModel[52] = new ModelRendererTurbo(this, 0, 127, textureX, textureY); // Box 64
bodyModel[53] = new ModelRendererTurbo(this, 0, 127, textureX, textureY); // Box 65
bodyModel[54] = new ModelRendererTurbo(this, 0, 127, textureX, textureY); // Box 66
bodyModel[55] = new ModelRendererTurbo(this, 0, 131, textureX, textureY); // Box 67
bodyModel[56] = new ModelRendererTurbo(this, 0, 135, textureX, textureY); // Box 68
bodyModel[57] = new ModelRendererTurbo(this, 0, 139, textureX, textureY); // Box 69
bodyModel[58] = new ModelRendererTurbo(this, 0, 139, textureX, textureY); // Box 70
bodyModel[59] = new ModelRendererTurbo(this, 0, 131, textureX, textureY); // Box 71
bodyModel[60] = new ModelRendererTurbo(this, 0, 135, textureX, textureY); // Box 72
bodyModel[61] = new ModelRendererTurbo(this, 0, 139, textureX, textureY); // Box 73
bodyModel[62] = new ModelRendererTurbo(this, 0, 131, textureX, textureY); // Box 74
bodyModel[63] = new ModelRendererTurbo(this, 0, 135, textureX, textureY); // Box 75
bodyModel[64] = new ModelRendererTurbo(this, 0, 131, textureX, textureY); // Box 76
bodyModel[65] = new ModelRendererTurbo(this, 0, 139, textureX, textureY); // Box 77
bodyModel[66] = new ModelRendererTurbo(this, 0, 135, textureX, textureY); // Box 78
bodyModel[0].addShapeBox(-2F, -1F, -1F, 4, 11, 2, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 0
bodyModel[0].setRotationPoint(0F, 11F, 0F);
bodyModel[0].rotateAngleY = 3.92699082F;
bodyModel[1].addShapeBox(-2F, -1F, -2F, 4, 11, 1, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 3
bodyModel[1].setRotationPoint(0F, 11F, 0F);
bodyModel[1].rotateAngleY = 3.92699082F;
bodyModel[2].addShapeBox(-2F, -1F, 1F, 4, 11, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F); // Box 4
bodyModel[2].setRotationPoint(0F, 11F, 0F);
bodyModel[2].rotateAngleY = 3.92699082F;
bodyModel[3].addShapeBox(-1.5F, -1F, 1F, 3, 10, 2, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -4F, 0F, 0F, -4F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 5
bodyModel[3].setRotationPoint(0F, 13F, 0F);
bodyModel[3].rotateAngleY = 3.92699082F;
bodyModel[4].addShapeBox(-1.5F, -1F, 3F, 3, 8, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, -3F, 0F, -1F, -3F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F); // Box 9
bodyModel[4].setRotationPoint(0F, 17F, 0F);
bodyModel[4].rotateAngleY = 3.92699082F;
bodyModel[5].addShapeBox(-1.5F, -1F, 2F, 3, 2, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 13
bodyModel[5].setRotationPoint(0F, 23F, 0F);
bodyModel[5].rotateAngleY = 3.92699082F;
bodyModel[6].addShapeBox(-1.5F, -1F, 1F, 3, 3, 1, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 14
bodyModel[6].setRotationPoint(0F, 22F, 0F);
bodyModel[6].rotateAngleY = 3.92699082F;
bodyModel[7].addShapeBox(-1.5F, -1F, 1F, 3, 10, 2, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -4F, 0F, 0F, -4F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 15
bodyModel[7].setRotationPoint(0F, 13F, 0F);
bodyModel[7].rotateAngleY = 2.35619449F;
bodyModel[8].addShapeBox(-1.5F, -1F, 3F, 3, 8, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, -3F, 0F, -1F, -3F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F); // Box 16
bodyModel[8].setRotationPoint(0F, 17F, 0F);
bodyModel[8].rotateAngleY = 2.35619449F;
bodyModel[9].addShapeBox(-1.5F, -1F, 2F, 3, 2, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 17
bodyModel[9].setRotationPoint(0F, 23F, 0F);
bodyModel[9].rotateAngleY = 2.35619449F;
bodyModel[10].addShapeBox(-1.5F, -1F, 1F, 3, 3, 1, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 18
bodyModel[10].setRotationPoint(0F, 22F, 0F);
bodyModel[10].rotateAngleY = 2.35619449F;
bodyModel[11].addShapeBox(-1.5F, -1F, 1F, 3, 10, 2, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -4F, 0F, 0F, -4F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 19
bodyModel[11].setRotationPoint(0F, 13F, 0F);
bodyModel[11].rotateAngleY = 0.78539816F;
bodyModel[12].addShapeBox(-1.5F, -1F, 3F, 3, 8, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, -3F, 0F, -1F, -3F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F); // Box 20
bodyModel[12].setRotationPoint(0F, 17F, 0F);
bodyModel[12].rotateAngleY = 0.78539816F;
bodyModel[13].addShapeBox(-1.5F, -1F, 2F, 3, 2, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 21
bodyModel[13].setRotationPoint(0F, 23F, 0F);
bodyModel[13].rotateAngleY = 0.78539816F;
bodyModel[14].addShapeBox(-1.5F, -1F, 1F, 3, 3, 1, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 22
bodyModel[14].setRotationPoint(0F, 22F, 0F);
bodyModel[14].rotateAngleY = 0.78539816F;
bodyModel[15].addShapeBox(-1.5F, -1F, 1F, 3, 10, 2, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -4F, 0F, 0F, -4F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 23
bodyModel[15].setRotationPoint(0F, 13F, 0F);
bodyModel[15].rotateAngleY = 5.49778714F;
bodyModel[16].addShapeBox(-1.5F, -1F, 3F, 3, 8, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, -3F, 0F, -1F, -3F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F); // Box 24
bodyModel[16].setRotationPoint(0F, 17F, 0F);
bodyModel[16].rotateAngleY = 5.49778714F;
bodyModel[17].addShapeBox(-1.5F, -1F, 2F, 3, 2, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 25
bodyModel[17].setRotationPoint(0F, 23F, 0F);
bodyModel[17].rotateAngleY = 5.49778714F;
bodyModel[18].addShapeBox(-1.5F, -1F, 1F, 3, 3, 1, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 26
bodyModel[18].setRotationPoint(0F, 22F, 0F);
bodyModel[18].rotateAngleY = 5.49778714F;
bodyModel[19].addShapeBox(-2F, -1F, -1F, 4, 4, 2, 0F, -0.5F, 0F, -0.5F, -0.5F, 0F, -0.5F, -0.5F, 0F, -0.5F, -0.5F, 0F, -0.5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 27
bodyModel[19].setRotationPoint(0F, 7F, 0F);
bodyModel[19].rotateAngleY = 3.92699082F;
bodyModel[20].addShapeBox(-2F, -1F, -2F, 4, 4, 1, 0F, -1.5F, 0F, -0.5F, -1.5F, 0F, -0.5F, -0.5F, 0F, 0.5F, -0.5F, 0F, 0.5F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 30
bodyModel[20].setRotationPoint(0F, 7F, 0F);
bodyModel[20].rotateAngleY = 3.92699082F;
bodyModel[21].addShapeBox(-2F, -1F, 1F, 4, 4, 1, 0F, -0.5F, 0F, 0.5F, -0.5F, 0F, 0.5F, -1.5F, 0F, -0.5F, -1.5F, 0F, -0.5F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F); // Box 31
bodyModel[21].setRotationPoint(0F, 7F, 0F);
bodyModel[21].rotateAngleY = 3.92699082F;
bodyModel[22].addShapeBox(-1.5F, -1F, -0.5F, 3, 12, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 32
bodyModel[22].setRotationPoint(0F, -5F, 0F);
bodyModel[22].rotateAngleY = 3.92699082F;
bodyModel[23].addShapeBox(-1.5F, -1F, -1.5F, 3, 12, 1, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 33
bodyModel[23].setRotationPoint(0F, -5F, 0F);
bodyModel[23].rotateAngleY = 3.92699082F;
bodyModel[24].addShapeBox(-1.5F, -1F, 0.5F, 3, 12, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F); // Box 34
bodyModel[24].setRotationPoint(0F, -5F, 0F);
bodyModel[24].rotateAngleY = 3.92699082F;
bodyModel[25].addShapeBox(-2F, -1F, -2F, 4, 1, 1, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1.5F, 0F, -0.5F, -1.5F, 0F, -0.5F, -0.5F, 0F, 0.5F, -0.5F, 0F, 0.5F); // Box 35
bodyModel[25].setRotationPoint(0F, -6F, 0F);
bodyModel[25].rotateAngleY = 3.92699082F;
bodyModel[26].addShapeBox(-2F, -1F, -1F, 4, 1, 2, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -0.5F, 0F, -0.5F, -0.5F, 0F, -0.5F, -0.5F, 0F, -0.5F, -0.5F, 0F, -0.5F); // Box 36
bodyModel[26].setRotationPoint(0F, -6F, 0F);
bodyModel[26].rotateAngleY = 3.92699082F;
bodyModel[27].addShapeBox(-2F, -1F, 1F, 4, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, -0.5F, 0F, 0.5F, -0.5F, 0F, 0.5F, -1.5F, 0F, -0.5F, -1.5F, 0F, -0.5F); // Box 37
bodyModel[27].setRotationPoint(0F, -6F, 0F);
bodyModel[27].rotateAngleY = 3.92699082F;
bodyModel[28].addShapeBox(-2F, -1F, -1F, 4, 5, 2, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 38
bodyModel[28].setRotationPoint(0F, -11F, 0F);
bodyModel[28].rotateAngleY = 3.92699082F;
bodyModel[29].addShapeBox(-2F, -1F, -2F, 4, 5, 1, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 39
bodyModel[29].setRotationPoint(0F, -11F, 0F);
bodyModel[29].rotateAngleY = 3.92699082F;
bodyModel[30].addShapeBox(-2F, -1F, 1F, 4, 5, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F); // Box 40
bodyModel[30].setRotationPoint(0F, -11F, 0F);
bodyModel[30].rotateAngleY = 3.92699082F;
bodyModel[31].addShapeBox(-2F, -1F, -1F, 4, 2, 2, 0F, -0.5F, 0F, -0.5F, -0.5F, 0F, -0.5F, -0.5F, 0F, -0.5F, -0.5F, 0F, -0.5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 41
bodyModel[31].setRotationPoint(0F, -13F, 0F);
bodyModel[31].rotateAngleY = 3.92699082F;
bodyModel[32].addShapeBox(-2F, -1F, -2F, 4, 2, 1, 0F, -1.5F, 0F, -0.5F, -1.5F, 0F, -0.5F, -0.5F, 0F, 0.5F, -0.5F, 0F, 0.5F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 42
bodyModel[32].setRotationPoint(0F, -13F, 0F);
bodyModel[32].rotateAngleY = 3.92699082F;
bodyModel[33].addShapeBox(-2F, -1F, 1F, 4, 2, 1, 0F, -0.5F, 0F, 0.5F, -0.5F, 0F, 0.5F, -1.5F, 0F, -0.5F, -1.5F, 0F, -0.5F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F); // Box 43
bodyModel[33].setRotationPoint(0F, -13F, 0F);
bodyModel[33].rotateAngleY = 3.92699082F;
bodyModel[34].addShapeBox(-1.5F, -1F, -0.5F, 3, 1, 1, 0F, -1F, 0F, -0.33F, -1F, 0F, -0.33F, -1F, 0F, -0.33F, -1F, 0F, -0.33F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 46
bodyModel[34].setRotationPoint(0F, -14F, 0F);
bodyModel[34].rotateAngleY = 3.92699082F;
bodyModel[35].addShapeBox(-1.5F, -1F, -1.5F, 3, 1, 1, 0F, -1.33F, 0F, -1F, -1.33F, 0F, -1F, -1F, 0F, 0.33F, -1F, 0F, 0.33F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 47
bodyModel[35].setRotationPoint(0F, -14F, 0F);
bodyModel[35].rotateAngleY = 3.92699082F;
bodyModel[36].addShapeBox(-1.5F, -1F, 0.5F, 3, 1, 1, 0F, -1F, 0F, 0.33F, -1F, 0F, 0.33F, -1.33F, 0F, -1F, -1.33F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F); // Box 48
bodyModel[36].setRotationPoint(0F, -14F, 0F);
bodyModel[36].rotateAngleY = 3.92699082F;
bodyModel[37].addShapeBox(-2F, -1F, -2F, 4, 1, 1, 0F, -1.5F, 0F, -0.5F, -1.5F, 0F, -0.5F, -0.5F, 0F, 0.5F, -0.5F, 0F, 0.5F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 49
bodyModel[37].setRotationPoint(0F, -3F, 0F);
bodyModel[37].rotateAngleY = 3.92699082F;
bodyModel[38].addShapeBox(-2F, -1F, -1F, 4, 1, 2, 0F, -0.5F, 0F, -0.5F, -0.5F, 0F, -0.5F, -0.5F, 0F, -0.5F, -0.5F, 0F, -0.5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 50
bodyModel[38].setRotationPoint(0F, -3F, 0F);
bodyModel[38].rotateAngleY = 3.92699082F;
bodyModel[39].addShapeBox(-2F, -1F, 1F, 4, 1, 1, 0F, -0.5F, 0F, 0.5F, -0.5F, 0F, 0.5F, -1.5F, 0F, -0.5F, -1.5F, 0F, -0.5F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F); // Box 51
bodyModel[39].setRotationPoint(0F, -3F, 0F);
bodyModel[39].rotateAngleY = 3.92699082F;
bodyModel[40].addShapeBox(-2F, -1F, -1F, 4, 2, 2, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 52
bodyModel[40].setRotationPoint(0F, -2F, 0F);
bodyModel[40].rotateAngleY = 3.92699082F;
bodyModel[41].addShapeBox(-2F, -1F, 1F, 4, 2, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F); // Box 53
bodyModel[41].setRotationPoint(0F, -2F, 0F);
bodyModel[41].rotateAngleY = 3.92699082F;
bodyModel[42].addShapeBox(-2F, -1F, -2F, 4, 2, 1, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 54
bodyModel[42].setRotationPoint(0F, -2F, 0F);
bodyModel[42].rotateAngleY = 3.92699082F;
bodyModel[43].addShapeBox(-2F, -1F, 1F, 4, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, -0.5F, 0F, 0.5F, -0.5F, 0F, 0.5F, -1.5F, 0F, -0.5F, -1.5F, 0F, -0.5F); // Box 55
bodyModel[43].setRotationPoint(0F, 0F, 0F);
bodyModel[43].rotateAngleY = 3.92699082F;
bodyModel[44].addShapeBox(-2F, -1F, -1F, 4, 1, 2, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -0.5F, 0F, -0.5F, -0.5F, 0F, -0.5F, -0.5F, 0F, -0.5F, -0.5F, 0F, -0.5F); // Box 56
bodyModel[44].setRotationPoint(0F, 0F, 0F);
bodyModel[44].rotateAngleY = 3.92699082F;
bodyModel[45].addShapeBox(-2F, -1F, -2F, 4, 1, 1, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1.5F, 0F, -0.5F, -1.5F, 0F, -0.5F, -0.5F, 0F, 0.5F, -0.5F, 0F, 0.5F); // Box 57
bodyModel[45].setRotationPoint(0F, 0F, 0F);
bodyModel[45].rotateAngleY = 3.92699082F;
bodyModel[46].addShapeBox(-2F, -1F, 1F, 4, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, -0.5F, 0F, 0.5F, -0.5F, 0F, 0.5F, -1.5F, 0F, -0.5F, -1.5F, 0F, -0.5F); // Box 58
bodyModel[46].setRotationPoint(0F, 6F, 0F);
bodyModel[46].rotateAngleY = 3.92699082F;
bodyModel[47].addShapeBox(-2F, -1F, -1F, 4, 1, 2, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -0.5F, 0F, -0.5F, -0.5F, 0F, -0.5F, -0.5F, 0F, -0.5F, -0.5F, 0F, -0.5F); // Box 59
bodyModel[47].setRotationPoint(0F, 6F, 0F);
bodyModel[47].rotateAngleY = 3.92699082F;
bodyModel[48].addShapeBox(-2F, -1F, -2F, 4, 1, 1, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1.5F, 0F, -0.5F, -1.5F, 0F, -0.5F, -0.5F, 0F, 0.5F, -0.5F, 0F, 0.5F); // Box 60
bodyModel[48].setRotationPoint(0F, 6F, 0F);
bodyModel[48].rotateAngleY = 3.92699082F;
bodyModel[49].addShapeBox(-2F, -1F, -1F, 4, 1, 2, 0F, -0.5F, 0F, -0.5F, -0.5F, 0F, -0.5F, -0.5F, 0F, -0.5F, -0.5F, 0F, -0.5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 61
bodyModel[49].setRotationPoint(0F, 3F, 0F);
bodyModel[49].rotateAngleY = 3.92699082F;
bodyModel[50].addShapeBox(-2F, -1F, 1F, 4, 1, 1, 0F, -0.5F, 0F, 0.5F, -0.5F, 0F, 0.5F, -1.5F, 0F, -0.5F, -1.5F, 0F, -0.5F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F); // Box 62
bodyModel[50].setRotationPoint(0F, 3F, 0F);
bodyModel[50].rotateAngleY = 3.92699082F;
bodyModel[51].addShapeBox(-2F, -1F, -2F, 4, 1, 1, 0F, -1.5F, 0F, -0.5F, -1.5F, 0F, -0.5F, -0.5F, 0F, 0.5F, -0.5F, 0F, 0.5F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 63
bodyModel[51].setRotationPoint(0F, 3F, 0F);
bodyModel[51].rotateAngleY = 3.92699082F;
bodyModel[52].addShapeBox(-2F, -1F, -2F, 4, 2, 1, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 64
bodyModel[52].setRotationPoint(0F, 4F, 0F);
bodyModel[52].rotateAngleY = 3.92699082F;
bodyModel[53].addShapeBox(-2F, -1F, -1F, 4, 2, 2, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 65
bodyModel[53].setRotationPoint(0F, 4F, 0F);
bodyModel[53].rotateAngleY = 3.92699082F;
bodyModel[54].addShapeBox(-2F, -1F, 1F, 4, 2, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F); // Box 66
bodyModel[54].setRotationPoint(0F, 4F, 0F);
bodyModel[54].rotateAngleY = 3.92699082F;
bodyModel[55].addShapeBox(-2.5F, -1F, -0.5F, 1, 2, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 67
bodyModel[55].setRotationPoint(0F, 7F, 0F);
bodyModel[55].rotateAngleY = 3.92699082F;
bodyModel[56].addShapeBox(-3.5F, -1F, -0.5F, 1, 2, 1, 0F, 0F, 1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 1F, 0F, 0F, 2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 2F, 0F); // Box 68
bodyModel[56].setRotationPoint(0F, 7F, 0F);
bodyModel[56].rotateAngleY = 3.92699082F;
bodyModel[57].addShapeBox(-6.5F, -1F, -0.5F, 3, 5, 1, 0F, 0F, -4F, -0.2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -4F, -0.2F, -1F, 1F, -0.2F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 1F, -0.2F); // Box 69
bodyModel[57].setRotationPoint(0F, 6F, 0F);
bodyModel[57].rotateAngleY = 3.92699082F;
bodyModel[58].addShapeBox(-6.5F, -1F, -0.5F, 3, 5, 1, 0F, 0F, -4F, -0.2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -4F, -0.2F, -1F, 1F, -0.2F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 1F, -0.2F); // Box 70
bodyModel[58].setRotationPoint(0F, 6F, 0F);
bodyModel[58].rotateAngleY = 2.35619449F;
bodyModel[59].addShapeBox(-2.5F, -1F, -0.5F, 1, 2, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 71
bodyModel[59].setRotationPoint(0F, 7F, 0F);
bodyModel[59].rotateAngleY = 2.35619449F;
bodyModel[60].addShapeBox(-3.5F, -1F, -0.5F, 1, 2, 1, 0F, 0F, 1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 1F, 0F, 0F, 2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 2F, 0F); // Box 72
bodyModel[60].setRotationPoint(0F, 7F, 0F);
bodyModel[60].rotateAngleY = 2.35619449F;
bodyModel[61].addShapeBox(-6.5F, -1F, -0.5F, 3, 5, 1, 0F, 0F, -4F, -0.2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -4F, -0.2F, -1F, 1F, -0.2F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 1F, -0.2F); // Box 73
bodyModel[61].setRotationPoint(0F, 6F, 0F);
bodyModel[61].rotateAngleY = 5.49778714F;
bodyModel[62].addShapeBox(-2.5F, -1F, -0.5F, 1, 2, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 74
bodyModel[62].setRotationPoint(0F, 7F, 0F);
bodyModel[62].rotateAngleY = 5.49778714F;
bodyModel[63].addShapeBox(-3.5F, -1F, -0.5F, 1, 2, 1, 0F, 0F, 1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 1F, 0F, 0F, 2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 2F, 0F); // Box 75
bodyModel[63].setRotationPoint(0F, 7F, 0F);
bodyModel[63].rotateAngleY = 5.49778714F;
bodyModel[64].addShapeBox(-2.5F, -1F, -0.5F, 1, 2, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 76
bodyModel[64].setRotationPoint(0F, 7F, 0F);
bodyModel[64].rotateAngleY = 7.06858347F;
bodyModel[65].addShapeBox(-6.5F, -1F, -0.5F, 3, 5, 1, 0F, 0F, -4F, -0.2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -4F, -0.2F, -1F, 1F, -0.2F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 1F, -0.2F); // Box 77
bodyModel[65].setRotationPoint(0F, 6F, 0F);
bodyModel[65].rotateAngleY = 7.06858347F;
bodyModel[66].addShapeBox(-3.5F, -1F, -0.5F, 1, 2, 1, 0F, 0F, 1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 1F, 0F, 0F, 2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 2F, 0F); // Box 78
bodyModel[66].setRotationPoint(0F, 7F, 0F);
bodyModel[66].rotateAngleY = 7.06858347F;
}
@Override
public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5)
{
super.render(entity, f, f1, f2, f3, f4, f5);
this.setRotationAngles(f, f1, f2, f3, f4, f5, entity);
this.render(f5);
}
@Override
public void render(float f5)
{
render(bodyModel, f5);
}
private void render(ModelRendererTurbo[] models, float f)
{
for(ModelRendererTurbo model : models)
if(model != null)
model.render(f);
}
private void setRotation(ModelRenderer model, float x, float y, float z)
{
model.rotateAngleX = x;
model.rotateAngleY = y;
model.rotateAngleZ = z;
}
}
@@ -0,0 +1,288 @@
package defense.client.model.missile;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.entity.Entity;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@SideOnly(Side.CLIENT)
public class ModelClusterMissile extends ModelMissileBase
{
// fields
ModelRenderer Shape1;
ModelRenderer Shape2;
ModelRenderer Shape2a;
ModelRenderer Shape2b;
ModelRenderer Shape2c;
ModelRenderer Shape3a;
ModelRenderer Shape3;
ModelRenderer Shape3b;
ModelRenderer Shape3c;
ModelRenderer Shape4;
ModelRenderer Shape4a;
ModelRenderer Shape4b;
ModelRenderer Shape4c;
ModelRenderer Shape5a;
ModelRenderer Shape5;
ModelRenderer Shape4d;
ModelRenderer Shape4e;
ModelRenderer Shape4f;
ModelRenderer Shape4g;
ModelRenderer Shape6;
ModelRenderer Shape6a;
ModelRenderer Shape7;
ModelRenderer Shape7a;
ModelRenderer Shape7b;
ModelRenderer Shape7c;
ModelRenderer Shape7d;
ModelRenderer Shape7e;
ModelRenderer Shape7f;
ModelRenderer Shape7g;
ModelRenderer Shape8a;
ModelRenderer Shape8;
public ModelClusterMissile()
{
textureWidth = 128;
textureHeight = 128;
Shape1 = new ModelRenderer(this, 0, 0);
Shape1.addBox(-4F, 0F, -4F, 8, 64, 8);
Shape1.setRotationPoint(0F, -40F, 0F);
Shape1.setTextureSize(128, 128);
Shape1.mirror = true;
setRotation(Shape1, 0F, 0F, 0F);
Shape2 = new ModelRenderer(this, 62, 48);
Shape2.addBox(0F, 0F, 0F, 14, 10, 1);
Shape2.setRotationPoint(-7F, 14F, 6F);
Shape2.setTextureSize(128, 128);
Shape2.mirror = true;
setRotation(Shape2, 0F, 0F, 0F);
Shape2a = new ModelRenderer(this, 62, 48);
Shape2a.addBox(0F, 0F, 0F, 14, 10, 1);
Shape2a.setRotationPoint(-7F, 14F, -7F);
Shape2a.setTextureSize(128, 128);
Shape2a.mirror = true;
setRotation(Shape2a, 0F, 0F, 0F);
Shape2b = new ModelRenderer(this, 34, 48);
Shape2b.addBox(0F, 0F, 0F, 1, 10, 12);
Shape2b.setRotationPoint(-7F, 14F, -6F);
Shape2b.setTextureSize(128, 128);
Shape2b.mirror = true;
setRotation(Shape2b, 0F, 0F, 0F);
Shape2c = new ModelRenderer(this, 34, 48);
Shape2c.addBox(0F, 0F, 0F, 1, 10, 12);
Shape2c.setRotationPoint(6F, 14F, -6F);
Shape2c.setTextureSize(128, 128);
Shape2c.mirror = true;
setRotation(Shape2c, 0F, 0F, 0F);
Shape3a = new ModelRenderer(this, 34, 33);
Shape3a.addBox(-11F, 0F, -1F, 22, 12, 2);
Shape3a.setRotationPoint(0F, 12F, 0F);
Shape3a.setTextureSize(128, 128);
Shape3a.mirror = true;
setRotation(Shape3a, 0F, 0.7853982F, 0F);
Shape3 = new ModelRenderer(this, 34, 33);
Shape3.addBox(-11F, 0F, -1F, 22, 12, 2);
Shape3.setRotationPoint(0F, 12F, 0F);
Shape3.setTextureSize(128, 128);
Shape3.mirror = true;
setRotation(Shape3, 0F, -0.7853982F, 0F);
Shape3b = new ModelRenderer(this, 34, 13);
Shape3b.addBox(-8F, -8F, -1F, 16, 16, 2);
Shape3b.setRotationPoint(0F, 12F, 0F);
Shape3b.setTextureSize(128, 128);
Shape3b.mirror = true;
setRotation(Shape3b, 0F, 0.7853982F, 0.7853982F);
Shape3c = new ModelRenderer(this, 34, 13);
Shape3c.addBox(-8F, -8F, -1F, 16, 16, 2);
Shape3c.setRotationPoint(0F, 12F, 0F);
Shape3c.setTextureSize(128, 128);
Shape3c.mirror = true;
setRotation(Shape3c, 0F, -0.7853982F, 0.7853982F);
Shape4 = new ModelRenderer(this, 16, 114);
Shape4.addBox(0F, 0F, 0F, 2, 7, 5);
Shape4.setRotationPoint(-1F, -23F, 4F);
Shape4.setTextureSize(128, 128);
Shape4.mirror = true;
setRotation(Shape4, -0.5235988F, 0F, 0F);
Shape4a = new ModelRenderer(this, 0, 114);
Shape4a.addBox(0F, 0F, 0F, 5, 8, 2);
Shape4a.setRotationPoint(4F, -23F, -1F);
Shape4a.setTextureSize(128, 128);
Shape4a.mirror = true;
setRotation(Shape4a, 0F, 0F, 0.5235988F);
Shape4b = new ModelRenderer(this, 15, 104);
Shape4b.addBox(-1F, 0F, 0F, 2, 4, 5);
Shape4b.setRotationPoint(0F, -35F, -4F);
Shape4b.setTextureSize(128, 128);
Shape4b.mirror = true;
setRotation(Shape4b, -0.5235988F, 3.141593F, 0F);
Shape4c = new ModelRenderer(this, 0, 114);
Shape4c.addBox(0F, 0F, -1F, 5, 8, 2);
Shape4c.setRotationPoint(-4F, -23F, 0F);
Shape4c.setTextureSize(128, 128);
Shape4c.mirror = true;
setRotation(Shape4c, 0F, 3.141593F, 0.5235988F);
Shape5a = new ModelRenderer(this, 0, 74);
Shape5a.addBox(-1F, 0F, -8F, 2, 12, 16);
Shape5a.setRotationPoint(0F, -32F, 0F);
Shape5a.setTextureSize(128, 128);
Shape5a.mirror = true;
setRotation(Shape5a, 0F, 0F, 0F);
Shape5 = new ModelRenderer(this, 0, 74);
Shape5.addBox(-1F, 0F, -8F, 2, 12, 16);
Shape5.setRotationPoint(0F, -32F, 0F);
Shape5.setTextureSize(128, 128);
Shape5.mirror = true;
setRotation(Shape5, 0F, 1.570796F, 0F);
Shape4d = new ModelRenderer(this, 16, 114);
Shape4d.addBox(-1F, 0F, 0F, 2, 8, 5);
Shape4d.setRotationPoint(0F, -23F, -4F);
Shape4d.setTextureSize(128, 128);
Shape4d.mirror = true;
setRotation(Shape4d, -0.5235988F, 3.141593F, 0F);
Shape4e = new ModelRenderer(this, 15, 104);
Shape4e.addBox(-1F, 0F, 0F, 2, 4, 5);
Shape4e.setRotationPoint(0F, -35F, 4F);
Shape4e.setTextureSize(128, 128);
Shape4e.mirror = true;
setRotation(Shape4e, -0.5235988F, 0F, 0F);
Shape4f = new ModelRenderer(this, 0, 104);
Shape4f.addBox(0F, 0F, -1F, 5, 4, 2);
Shape4f.setRotationPoint(-4F, -35F, 0F);
Shape4f.setTextureSize(128, 128);
Shape4f.mirror = true;
setRotation(Shape4f, 0F, 3.141593F, 0.5235988F);
Shape4g = new ModelRenderer(this, 0, 104);
Shape4g.addBox(0F, 0F, 0F, 5, 4, 2);
Shape4g.setRotationPoint(4F, -35F, -1F);
Shape4g.setTextureSize(128, 128);
Shape4g.mirror = true;
setRotation(Shape4g, 0F, 0F, 0.5235988F);
Shape6 = new ModelRenderer(this, 34, 0);
Shape6.addBox(0F, 0F, 0F, 10, 1, 10);
Shape6.setRotationPoint(-5F, -37F, -5F);
Shape6.setTextureSize(128, 128);
Shape6.mirror = true;
setRotation(Shape6, 0F, 0F, 0F);
Shape6a = new ModelRenderer(this, 34, 0);
Shape6a.addBox(0F, 0F, 0F, 10, 1, 10);
Shape6a.setRotationPoint(-5F, -41F, -5F);
Shape6a.setTextureSize(128, 128);
Shape6a.mirror = true;
setRotation(Shape6a, 0F, 0F, 0F);
Shape7 = new ModelRenderer(this, 39, 74);
Shape7.addBox(0F, 0F, 0F, 6, 22, 6);
Shape7.setRotationPoint(-3F, 2F, 4F);
Shape7.setTextureSize(128, 128);
Shape7.mirror = true;
setRotation(Shape7, 0F, 0F, 0F);
Shape7a = new ModelRenderer(this, 65, 74);
Shape7a.addBox(0F, 0F, 0F, 4, 4, 4);
Shape7a.setRotationPoint(-2F, -2F, 5F);
Shape7a.setTextureSize(128, 128);
Shape7a.mirror = true;
setRotation(Shape7a, 0F, 0F, 0F);
Shape7b = new ModelRenderer(this, 65, 74);
Shape7b.addBox(0F, 0F, 0F, 4, 4, 4);
Shape7b.setRotationPoint(-2F, -2F, -9F);
Shape7b.setTextureSize(128, 128);
Shape7b.mirror = true;
setRotation(Shape7b, 0F, 0F, 0F);
Shape7c = new ModelRenderer(this, 39, 74);
Shape7c.addBox(0F, 0F, 0F, 6, 22, 6);
Shape7c.setRotationPoint(-3F, 2F, -10F);
Shape7c.setTextureSize(128, 128);
Shape7c.mirror = true;
setRotation(Shape7c, 0F, 0F, 0F);
Shape7d = new ModelRenderer(this, 65, 74);
Shape7d.addBox(0F, 0F, 0F, 4, 4, 4);
Shape7d.setRotationPoint(-9F, -2F, -2F);
Shape7d.setTextureSize(128, 128);
Shape7d.mirror = true;
setRotation(Shape7d, 0F, 0F, 0F);
Shape7e = new ModelRenderer(this, 39, 74);
Shape7e.addBox(0F, 0F, 0F, 6, 22, 6);
Shape7e.setRotationPoint(-10F, 2F, -3F);
Shape7e.setTextureSize(128, 128);
Shape7e.mirror = true;
setRotation(Shape7e, 0F, 0F, 0F);
Shape7f = new ModelRenderer(this, 65, 74);
Shape7f.addBox(0F, 0F, 0F, 4, 4, 4);
Shape7f.setRotationPoint(5F, -2F, -2F);
Shape7f.setTextureSize(128, 128);
Shape7f.mirror = true;
setRotation(Shape7f, 0F, 0F, 0F);
Shape7g = new ModelRenderer(this, 39, 74);
Shape7g.addBox(0F, 0F, 0F, 6, 22, 6);
Shape7g.setRotationPoint(4F, 2F, -3F);
Shape7g.setTextureSize(128, 128);
Shape7g.mirror = true;
setRotation(Shape7g, 0F, 0F, 0F);
Shape8a = new ModelRenderer(this, 78, 0);
Shape8a.addBox(0F, 0F, 0F, 8, 5, 8);
Shape8a.setRotationPoint(-4F, -46F, -4F);
Shape8a.setTextureSize(128, 128);
Shape8a.mirror = true;
setRotation(Shape8a, 0F, 0F, 0F);
Shape8 = new ModelRenderer(this, 78, 15);
Shape8.addBox(0F, 0F, 0F, 6, 2, 6);
Shape8.setRotationPoint(-3F, -48F, -3F);
Shape8.setTextureSize(128, 128);
Shape8.mirror = true;
setRotation(Shape8, 0F, 0F, 0F);
}
@Override
public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5)
{
super.render(entity, f, f1, f2, f3, f4, f5);
this.setRotationAngles(f, f1, f2, f3, f4, f5, entity);
this.render(f5);
}
@Override
public void render(float f5)
{
Shape1.render(f5);
Shape2.render(f5);
Shape2a.render(f5);
Shape2b.render(f5);
Shape2c.render(f5);
Shape3a.render(f5);
Shape3.render(f5);
Shape3b.render(f5);
Shape3c.render(f5);
Shape4.render(f5);
Shape4a.render(f5);
Shape4b.render(f5);
Shape4c.render(f5);
Shape5a.render(f5);
Shape5.render(f5);
Shape4d.render(f5);
Shape4e.render(f5);
Shape4f.render(f5);
Shape4g.render(f5);
Shape6.render(f5);
Shape6a.render(f5);
Shape7.render(f5);
Shape7a.render(f5);
Shape7b.render(f5);
Shape7c.render(f5);
Shape7d.render(f5);
Shape7e.render(f5);
Shape7f.render(f5);
Shape7g.render(f5);
Shape8a.render(f5);
Shape8.render(f5);
}
private void setRotation(ModelRenderer model, float x, float y, float z)
{
model.rotateAngleX = x;
model.rotateAngleY = y;
model.rotateAngleZ = z;
}
}
@@ -0,0 +1,214 @@
package defense.client.model.missile;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.entity.Entity;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import defense.client.tmt.ModelRendererTurbo;
@SideOnly(Side.CLIENT)
public class ModelCondensedMissile extends ModelMissileBase
{
public static final ModelCondensedMissile INSTANCE = new ModelCondensedMissile();
// fields
ModelRendererTurbo[] bodyModel;
public ModelCondensedMissile()
{
int textureX = 32;
int textureY = 128;
bodyModel = new ModelRendererTurbo[32];
bodyModel[0] = new ModelRendererTurbo(this, 0, 0, textureX, textureY); // Import Box0
bodyModel[1] = new ModelRendererTurbo(this, 0, 0, textureX, textureY); // Import Box1
bodyModel[2] = new ModelRendererTurbo(this, 0, 0, textureX, textureY); // Import Box2
bodyModel[3] = new ModelRendererTurbo(this, 0, 19, textureX, textureY); // Box 0
bodyModel[4] = new ModelRendererTurbo(this, 0, 19, textureX, textureY); // Box 1
bodyModel[5] = new ModelRendererTurbo(this, 0, 19, textureX, textureY); // Box 2
bodyModel[6] = new ModelRendererTurbo(this, 0, 28, textureX, textureY); // Box 3
bodyModel[7] = new ModelRendererTurbo(this, 0, 28, textureX, textureY); // Box 4
bodyModel[8] = new ModelRendererTurbo(this, 0, 28, textureX, textureY); // Box 5
bodyModel[9] = new ModelRendererTurbo(this, 0, 37, textureX, textureY); // Box 6
bodyModel[10] = new ModelRendererTurbo(this, 0, 50, textureX, textureY); // Box 7
bodyModel[11] = new ModelRendererTurbo(this, 0, 50, textureX, textureY); // Box 8
bodyModel[12] = new ModelRendererTurbo(this, 0, 62, textureX, textureY); // Box 9
bodyModel[13] = new ModelRendererTurbo(this, 0, 62, textureX, textureY); // Box 10
bodyModel[14] = new ModelRendererTurbo(this, 0, 62, textureX, textureY); // Box 11
bodyModel[15] = new ModelRendererTurbo(this, 0, 67, textureX, textureY); // Box 12
bodyModel[16] = new ModelRendererTurbo(this, 0, 67, textureX, textureY); // Box 13
bodyModel[17] = new ModelRendererTurbo(this, 0, 67, textureX, textureY); // Box 14
bodyModel[18] = new ModelRendererTurbo(this, 0, 73, textureX, textureY); // Box 15
bodyModel[19] = new ModelRendererTurbo(this, 0, 73, textureX, textureY); // Box 16
bodyModel[20] = new ModelRendererTurbo(this, 0, 73, textureX, textureY); // Box 17
bodyModel[21] = new ModelRendererTurbo(this, 0, 82, textureX, textureY); // Box 18
bodyModel[22] = new ModelRendererTurbo(this, 0, 82, textureX, textureY); // Box 19
bodyModel[23] = new ModelRendererTurbo(this, 0, 82, textureX, textureY); // Box 20
bodyModel[24] = new ModelRendererTurbo(this, 0, 86, textureX, textureY); // Box 21
bodyModel[25] = new ModelRendererTurbo(this, 0, 86, textureX, textureY); // Box 22
bodyModel[26] = new ModelRendererTurbo(this, 0, 86, textureX, textureY); // Box 23
bodyModel[27] = new ModelRendererTurbo(this, 0, 86, textureX, textureY); // Box 24
bodyModel[28] = new ModelRendererTurbo(this, 0, 96, textureX, textureY); // Box 25
bodyModel[29] = new ModelRendererTurbo(this, 0, 96, textureX, textureY); // Box 26
bodyModel[30] = new ModelRendererTurbo(this, 0, 96, textureX, textureY); // Box 27
bodyModel[31] = new ModelRendererTurbo(this, 0, 96, textureX, textureY); // Box 28
bodyModel[0].addBox(-3F, -1F, -1F, 6, 17, 2, 0F); // Import Box0
bodyModel[0].setRotationPoint(0F, 2F, 0F);
bodyModel[0].rotateAngleY = 3.92699082F;
bodyModel[1].addShapeBox(-3F, -1F, -3F, 6, 17, 2, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import Box1
bodyModel[1].setRotationPoint(0F, 2F, 0F);
bodyModel[1].rotateAngleY = 3.92699082F;
bodyModel[2].addShapeBox(-3F, -1F, 1F, 6, 17, 2, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F); // Import Box2
bodyModel[2].setRotationPoint(0F, 2F, 0F);
bodyModel[2].rotateAngleY = 3.92699082F;
bodyModel[3].addShapeBox(-3F, -1F, -1F, 6, 6, 2, 0F, -1F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 0
bodyModel[3].setRotationPoint(0F, 19F, 0F);
bodyModel[3].rotateAngleY = 3.92699082F;
bodyModel[4].addShapeBox(-3F, -1F, -3F, 6, 6, 2, 0F, -2F, 0F, -1F, -2F, 0F, -1F, -1F, 0F, 0F, -1F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 1
bodyModel[4].setRotationPoint(0F, 19F, 0F);
bodyModel[4].rotateAngleY = 3.92699082F;
bodyModel[5].addShapeBox(-3F, -1F, 1F, 6, 6, 2, 0F, -1F, 0F, 0F, -1F, 0F, 0F, -2F, 0F, -1F, -2F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F); // Box 2
bodyModel[5].setRotationPoint(0F, 19F, 0F);
bodyModel[5].rotateAngleY = 3.92699082F;
bodyModel[6].addShapeBox(-3F, -1F, -3F, 6, 6, 2, 0F, -2F, 0F, -1F, -2F, 0F, -1F, -1F, 0F, 0F, -1F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 3
bodyModel[6].setRotationPoint(0F, -4F, 0F);
bodyModel[6].rotateAngleY = 3.92699082F;
bodyModel[7].addShapeBox(-3F, -1F, -1F, 6, 6, 2, 0F, -1F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 4
bodyModel[7].setRotationPoint(0F, -4F, 0F);
bodyModel[7].rotateAngleY = 3.92699082F;
bodyModel[8].addShapeBox(-3F, -1F, 1F, 6, 6, 2, 0F, -1F, 0F, 0F, -1F, 0F, 0F, -2F, 0F, -1F, -2F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F); // Box 5
bodyModel[8].setRotationPoint(0F, -4F, 0F);
bodyModel[8].rotateAngleY = 3.92699082F;
bodyModel[9].addShapeBox(-2F, -1F, -1F, 4, 10, 2, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 6
bodyModel[9].setRotationPoint(0F, -14F, 0F);
bodyModel[9].rotateAngleY = 3.92699082F;
bodyModel[10].addShapeBox(-2F, -1F, -2F, 4, 10, 1, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 7
bodyModel[10].setRotationPoint(0F, -14F, 0F);
bodyModel[10].rotateAngleY = 3.92699082F;
bodyModel[11].addShapeBox(-2F, -1F, 1F, 4, 10, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F); // Box 8
bodyModel[11].setRotationPoint(0F, -14F, 0F);
bodyModel[11].rotateAngleY = 3.92699082F;
bodyModel[12].addShapeBox(-3F, -1F, 1F, 6, 2, 2, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, -2F, 0F, -1F, -2F, 0F, -1F); // Box 9
bodyModel[12].setRotationPoint(0F, -16F, 0F);
bodyModel[12].rotateAngleY = 3.92699082F;
bodyModel[13].addShapeBox(-3F, -1F, -1F, 6, 2, 2, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F); // Box 10
bodyModel[13].setRotationPoint(0F, -16F, 0F);
bodyModel[13].rotateAngleY = 3.92699082F;
bodyModel[14].addShapeBox(-3F, -1F, -3F, 6, 2, 2, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, -1F, -2F, 0F, -1F, -1F, 0F, 0F, -1F, 0F, 0F); // Box 11
bodyModel[14].setRotationPoint(0F, -16F, 0F);
bodyModel[14].rotateAngleY = 3.92699082F;
bodyModel[15].addShapeBox(-3F, -1F, 1F, 6, 3, 2, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F); // Box 12
bodyModel[15].setRotationPoint(0F, -19F, 0F);
bodyModel[15].rotateAngleY = 3.92699082F;
bodyModel[16].addBox(-3F, -1F, -1F, 6, 3, 2, 0F); // Box 13
bodyModel[16].setRotationPoint(0F, -19F, 0F);
bodyModel[16].rotateAngleY = 3.92699082F;
bodyModel[17].addShapeBox(-3F, -1F, -3F, 6, 3, 2, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 14
bodyModel[17].setRotationPoint(0F, -19F, 0F);
bodyModel[17].rotateAngleY = 3.92699082F;
bodyModel[18].addShapeBox(-3F, -1F, -1F, 6, 6, 2, 0F, -1.5F, 0F, -0.5F, -1.5F, 0F, -0.5F, -1.5F, 0F, -0.5F, -1.5F, 0F, -0.5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 15
bodyModel[18].setRotationPoint(0F, -25F, 0F);
bodyModel[18].rotateAngleY = 3.92699082F;
bodyModel[19].addShapeBox(-3F, -1F, -3F, 6, 6, 2, 0F, -2.5F, 0F, -1.5F, -2.5F, 0F, -1.5F, -1.5F, 0F, 0.5F, -1.5F, 0F, 0.5F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 16
bodyModel[19].setRotationPoint(0F, -25F, 0F);
bodyModel[19].rotateAngleY = 3.92699082F;
bodyModel[20].addShapeBox(-3F, -1F, 1F, 6, 6, 2, 0F, -1.5F, 0F, 0.5F, -1.5F, 0F, 0.5F, -2.5F, 0F, -1.5F, -2.5F, 0F, -1.5F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F); // Box 17
bodyModel[20].setRotationPoint(0F, -25F, 0F);
bodyModel[20].rotateAngleY = 3.92699082F;
bodyModel[21].addShapeBox(-1.5F, 0F, -0.5F, 3, 2, 1, 0F, -1F, 0F, -0.33F, -1F, 0F, -0.33F, -1F, 0F, -0.33F, -1F, 0F, -0.33F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 18
bodyModel[21].setRotationPoint(0F, -28F, 0F);
bodyModel[21].rotateAngleY = 3.92699082F;
bodyModel[22].addShapeBox(-1.5F, 0F, -1.5F, 3, 2, 1, 0F, -1.33F, 0F, -1F, -1.33F, 0F, -1F, -1F, 0F, 0.33F, -1F, 0F, 0.33F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 19
bodyModel[22].setRotationPoint(0F, -28F, 0F);
bodyModel[22].rotateAngleY = 3.92699082F;
bodyModel[23].addShapeBox(-1.5F, 0F, 0.5F, 3, 2, 1, 0F, -1F, 0F, 0.33F, -1F, 0F, 0.33F, -1.33F, 0F, -1F, -1.33F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F); // Box 20
bodyModel[23].setRotationPoint(0F, -28F, 0F);
bodyModel[23].rotateAngleY = 3.92699082F;
bodyModel[24].addShapeBox(-7F, -1F, -0.5F, 4, 8, 1, 0F, 0F, -5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 21
bodyModel[24].setRotationPoint(0F, 11F, 0F);
bodyModel[24].rotateAngleY = 3.92699082F;
bodyModel[25].addShapeBox(-7F, -1F, -0.5F, 4, 8, 1, 0F, 0F, -5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 22
bodyModel[25].setRotationPoint(0F, 11F, 0F);
bodyModel[25].rotateAngleY = 5.49778714F;
bodyModel[26].addShapeBox(-7F, -1F, -0.5F, 4, 8, 1, 0F, 0F, -5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 23
bodyModel[26].setRotationPoint(0F, 11F, 0F);
bodyModel[26].rotateAngleY = 2.35619449F;
bodyModel[27].addShapeBox(-7F, -1F, -0.5F, 4, 8, 1, 0F, 0F, -5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 24
bodyModel[27].setRotationPoint(0F, 11F, 0F);
bodyModel[27].rotateAngleY = 0.78539816F;
bodyModel[28].addShapeBox(-5F, -1F, -0.5F, 3, 6, 1, 0F, 0F, -2F, -0.2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, -0.2F, 0F, -1F, -0.2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, -0.2F); // Box 25
bodyModel[28].setRotationPoint(0F, -10F, 0F);
bodyModel[28].rotateAngleY = 0.78539816F;
bodyModel[29].addShapeBox(-5F, -1F, -0.5F, 3, 6, 1, 0F, 0F, -2F, -0.2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, -0.2F, 0F, -1F, -0.2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, -0.2F); // Box 26
bodyModel[29].setRotationPoint(0F, -10F, 0F);
bodyModel[29].rotateAngleY = 2.35619449F;
bodyModel[30].addShapeBox(-5F, -1F, -0.5F, 3, 6, 1, 0F, 0F, -2F, -0.2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, -0.2F, 0F, -1F, -0.2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, -0.2F); // Box 27
bodyModel[30].setRotationPoint(0F, -10F, 0F);
bodyModel[30].rotateAngleY = 5.49778714F;
bodyModel[31].addShapeBox(-5F, -1F, -0.5F, 3, 6, 1, 0F, 0F, -2F, -0.2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, -0.2F, 0F, -1F, -0.2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, -0.2F); // Box 28
bodyModel[31].setRotationPoint(0F, -10F, 0F);
bodyModel[31].rotateAngleY = 3.92699082F;
}
@Override
public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5)
{
super.render(entity, f, f1, f2, f3, f4, f5);
this.setRotationAngles(f, f1, f2, f3, f4, f5, entity);
this.render(f5);
}
@Override
public void render(float f5)
{
render(bodyModel, f5);
}
private void render(ModelRendererTurbo[] models, float f)
{
for(ModelRendererTurbo model : models)
if(model != null)
model.render(f);
}
private void setRotation(ModelRenderer model, float x, float y, float z)
{
model.rotateAngleX = x;
model.rotateAngleY = y;
model.rotateAngleZ = z;
}
}
@@ -0,0 +1,280 @@
package defense.client.model.missile;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.entity.Entity;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@SideOnly(Side.CLIENT)
public class ModelContagiousMissile extends ModelMissileBase
{
// fields
ModelRenderer Shape1;
ModelRenderer Shape2;
ModelRenderer Shape2a;
ModelRenderer Shape2b;
ModelRenderer Shape2c;
ModelRenderer Shape3a;
ModelRenderer Shape3;
ModelRenderer Shape3c;
ModelRenderer Shape3b;
ModelRenderer Shape4a;
ModelRenderer Shape4;
ModelRenderer Shape4b;
ModelRenderer Shape4c;
ModelRenderer Shape5;
ModelRenderer Shape5a;
ModelRenderer Shape4g;
ModelRenderer Shape4e;
ModelRenderer Shape4f;
ModelRenderer Shape4h;
ModelRenderer Shape6a;
ModelRenderer Shape6;
ModelRenderer Shape7;
ModelRenderer Shape7a;
ModelRenderer Shape7b;
ModelRenderer Shape8;
ModelRenderer Shape8a;
ModelRenderer Shape8b;
ModelRenderer Shape8c;
ModelRenderer Shape8d;
ModelRenderer Shape8e;
public ModelContagiousMissile()
{
textureWidth = 128;
textureHeight = 128;
Shape1 = new ModelRenderer(this, 0, 0);
Shape1.addBox(-4F, 0F, -4F, 8, 64, 8);
Shape1.setRotationPoint(0F, -40F, 0F);
Shape1.setTextureSize(128, 128);
Shape1.mirror = true;
setRotation(Shape1, 0F, 0F, 0F);
Shape2 = new ModelRenderer(this, 34, 19);
Shape2.addBox(0F, 0F, 0F, 14, 10, 1);
Shape2.setRotationPoint(-7F, 14F, 6F);
Shape2.setTextureSize(128, 128);
Shape2.mirror = true;
setRotation(Shape2, 0F, 0F, 0F);
Shape2a = new ModelRenderer(this, 34, 19);
Shape2a.addBox(0F, 0F, 0F, 14, 10, 1);
Shape2a.setRotationPoint(-7F, 14F, -7F);
Shape2a.setTextureSize(128, 128);
Shape2a.mirror = true;
setRotation(Shape2a, 0F, 0F, 0F);
Shape2b = new ModelRenderer(this, 34, 31);
Shape2b.addBox(0F, 0F, 0F, 1, 10, 12);
Shape2b.setRotationPoint(-7F, 14F, -6F);
Shape2b.setTextureSize(128, 128);
Shape2b.mirror = true;
setRotation(Shape2b, 0F, 0F, 0F);
Shape2c = new ModelRenderer(this, 34, 31);
Shape2c.addBox(0F, 0F, 0F, 1, 10, 12);
Shape2c.setRotationPoint(6F, 14F, -6F);
Shape2c.setTextureSize(128, 128);
Shape2c.mirror = true;
setRotation(Shape2c, 0F, 0F, 0F);
Shape3a = new ModelRenderer(this, 72, 0);
Shape3a.addBox(-11F, 0F, -1F, 22, 12, 2);
Shape3a.setRotationPoint(0F, 12F, 0F);
Shape3a.setTextureSize(128, 128);
Shape3a.mirror = true;
setRotation(Shape3a, 0F, 0.7853982F, 0F);
Shape3 = new ModelRenderer(this, 72, 0);
Shape3.addBox(-11F, 0F, -1F, 22, 12, 2);
Shape3.setRotationPoint(0F, 12F, 0F);
Shape3.setTextureSize(128, 128);
Shape3.mirror = true;
setRotation(Shape3, 0F, -0.7853982F, 0F);
Shape3c = new ModelRenderer(this, 34, 0);
Shape3c.addBox(-8F, -8F, -1F, 16, 16, 2);
Shape3c.setRotationPoint(0F, 12F, 0F);
Shape3c.setTextureSize(128, 128);
Shape3c.mirror = true;
setRotation(Shape3c, 0F, 0.7853982F, 0.7853982F);
Shape3b = new ModelRenderer(this, 34, 0);
Shape3b.addBox(-8F, -8F, -1F, 16, 16, 2);
Shape3b.setRotationPoint(0F, 12F, 0F);
Shape3b.setTextureSize(128, 128);
Shape3b.mirror = true;
setRotation(Shape3b, 0F, -0.7853982F, 0.7853982F);
Shape4a = new ModelRenderer(this, 22, 74);
Shape4a.addBox(0F, 0F, 0F, 2, 7, 5);
Shape4a.setRotationPoint(-1F, -23F, 4F);
Shape4a.setTextureSize(128, 128);
Shape4a.mirror = true;
setRotation(Shape4a, -0.5235988F, 0F, 0F);
Shape4 = new ModelRenderer(this, 0, 103);
Shape4.addBox(0F, 0F, 0F, 5, 8, 2);
Shape4.setRotationPoint(4F, -23F, -1F);
Shape4.setTextureSize(128, 128);
Shape4.mirror = true;
setRotation(Shape4, 0F, 0F, 0.5235988F);
Shape4b = new ModelRenderer(this, 0, 81);
Shape4b.addBox(-1F, 0F, 0F, 2, 4, 5);
Shape4b.setRotationPoint(0F, -35F, -4F);
Shape4b.setTextureSize(128, 128);
Shape4b.mirror = true;
setRotation(Shape4b, -0.5235988F, 3.141593F, 0F);
Shape4c = new ModelRenderer(this, 0, 103);
Shape4c.addBox(0F, 0F, -1F, 5, 8, 2);
Shape4c.setRotationPoint(-4F, -23F, 0F);
Shape4c.setTextureSize(128, 128);
Shape4c.mirror = true;
setRotation(Shape4c, 0F, 3.141593F, 0.5235988F);
Shape5 = new ModelRenderer(this, 0, 74);
Shape5.addBox(-1F, 0F, -8F, 2, 12, 16);
Shape5.setRotationPoint(0F, -32F, 0F);
Shape5.setTextureSize(128, 128);
Shape5.mirror = true;
setRotation(Shape5, 0F, 0F, 0F);
Shape5a = new ModelRenderer(this, 0, 74);
Shape5a.addBox(-1F, 0F, -8F, 2, 12, 16);
Shape5a.setRotationPoint(0F, -32F, 0F);
Shape5a.setTextureSize(128, 128);
Shape5a.mirror = true;
setRotation(Shape5a, 0F, 1.570796F, 0F);
Shape4g = new ModelRenderer(this, 22, 74);
Shape4g.addBox(-1F, 0F, 0F, 2, 8, 5);
Shape4g.setRotationPoint(0F, -23F, -4F);
Shape4g.setTextureSize(128, 128);
Shape4g.mirror = true;
setRotation(Shape4g, -0.5235988F, 3.141593F, 0F);
Shape4e = new ModelRenderer(this, 0, 81);
Shape4e.addBox(-1F, 0F, 0F, 2, 4, 5);
Shape4e.setRotationPoint(0F, -35F, 4F);
Shape4e.setTextureSize(128, 128);
Shape4e.mirror = true;
setRotation(Shape4e, -0.5235988F, 0F, 0F);
Shape4f = new ModelRenderer(this, 0, 74);
Shape4f.addBox(0F, 0F, -1F, 5, 4, 2);
Shape4f.setRotationPoint(-4F, -35F, 0F);
Shape4f.setTextureSize(128, 128);
Shape4f.mirror = true;
setRotation(Shape4f, 0F, 3.141593F, 0.5235988F);
Shape4h = new ModelRenderer(this, 0, 74);
Shape4h.addBox(0F, 0F, 0F, 5, 4, 2);
Shape4h.setRotationPoint(4F, -35F, -1F);
Shape4h.setTextureSize(128, 128);
Shape4h.mirror = true;
setRotation(Shape4h, 0F, 0F, 0.5235988F);
Shape6a = new ModelRenderer(this, 72, 16);
Shape6a.addBox(0F, 0F, 0F, 10, 1, 10);
Shape6a.setRotationPoint(-5F, -37F, -5F);
Shape6a.setTextureSize(128, 128);
Shape6a.mirror = true;
setRotation(Shape6a, 0F, 0F, 0F);
Shape6 = new ModelRenderer(this, 72, 16);
Shape6.addBox(0F, 0F, 0F, 10, 1, 10);
Shape6.setRotationPoint(-5F, -41F, -5F);
Shape6.setTextureSize(128, 128);
Shape6.mirror = true;
setRotation(Shape6, 0F, 0F, 0F);
Shape7 = new ModelRenderer(this, 61, 31);
Shape7.addBox(0F, 0F, 0F, 8, 4, 8);
Shape7.setRotationPoint(-4F, -45F, -4F);
Shape7.setTextureSize(128, 128);
Shape7.mirror = true;
setRotation(Shape7, 0F, 0F, 0F);
Shape7a = new ModelRenderer(this, 61, 47);
Shape7a.addBox(0F, 0F, 0F, 6, 4, 6);
Shape7a.setRotationPoint(-3F, -49F, -3F);
Shape7a.setTextureSize(128, 128);
Shape7a.mirror = true;
setRotation(Shape7a, 0F, 0F, 0F);
Shape7b = new ModelRenderer(this, 61, 61);
Shape7b.addBox(0F, 0F, 0F, 4, 4, 4);
Shape7b.setRotationPoint(-2F, -53F, -2F);
Shape7b.setTextureSize(128, 128);
Shape7b.mirror = true;
setRotation(Shape7b, 0F, 0F, 0F);
Shape8 = new ModelRenderer(this, 95, 31);
Shape8.addBox(-1F, -1F, -6F, 2, 2, 12);
Shape8.setRotationPoint(0F, -43F, 0F);
Shape8.setTextureSize(128, 128);
Shape8.mirror = true;
setRotation(Shape8, 0F, 0F, 0F);
Shape8a = new ModelRenderer(this, 95, 31);
Shape8a.addBox(-1F, -1F, -6F, 2, 2, 12);
Shape8a.setRotationPoint(0F, -43F, 0F);
Shape8a.setTextureSize(128, 128);
Shape8a.mirror = true;
setRotation(Shape8a, 0F, 1.570796F, 0F);
Shape8b = new ModelRenderer(this, 87, 47);
Shape8b.addBox(-1F, -1F, -5F, 2, 2, 10);
Shape8b.setRotationPoint(0F, -47F, 0F);
Shape8b.setTextureSize(128, 128);
Shape8b.mirror = true;
setRotation(Shape8b, 0F, 0F, 0F);
Shape8c = new ModelRenderer(this, 87, 47);
Shape8c.addBox(-1F, -1F, -5F, 2, 2, 10);
Shape8c.setRotationPoint(0F, -47F, 0F);
Shape8c.setTextureSize(128, 128);
Shape8c.mirror = true;
setRotation(Shape8c, 0F, 1.570796F, 0F);
Shape8d = new ModelRenderer(this, 79, 61);
Shape8d.addBox(-1F, -1F, -4F, 2, 2, 8);
Shape8d.setRotationPoint(0F, -51F, 0F);
Shape8d.setTextureSize(128, 128);
Shape8d.mirror = true;
setRotation(Shape8d, 0F, 0F, 0F);
Shape8e = new ModelRenderer(this, 79, 61);
Shape8e.addBox(-1F, -1F, -4F, 2, 2, 8);
Shape8e.setRotationPoint(0F, -51F, 0F);
Shape8e.setTextureSize(128, 128);
Shape8e.mirror = true;
setRotation(Shape8e, 0F, 1.570796F, 0F);
}
@Override
public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5)
{
super.render(entity, f, f1, f2, f3, f4, f5);
this.setRotationAngles(f, f1, f2, f3, f4, f5, entity);
this.render(f5);
}
@Override
public void render(float f5)
{
Shape1.render(f5);
Shape2.render(f5);
Shape2a.render(f5);
Shape2b.render(f5);
Shape2c.render(f5);
Shape3a.render(f5);
Shape3.render(f5);
Shape3c.render(f5);
Shape3b.render(f5);
Shape4a.render(f5);
Shape4.render(f5);
Shape4b.render(f5);
Shape4c.render(f5);
Shape5.render(f5);
Shape5a.render(f5);
Shape4g.render(f5);
Shape4e.render(f5);
Shape4f.render(f5);
Shape4h.render(f5);
Shape6a.render(f5);
Shape6.render(f5);
Shape7.render(f5);
Shape7a.render(f5);
Shape7b.render(f5);
Shape8.render(f5);
Shape8a.render(f5);
Shape8b.render(f5);
Shape8c.render(f5);
Shape8d.render(f5);
Shape8e.render(f5);
}
private void setRotation(ModelRenderer model, float x, float y, float z)
{
model.rotateAngleX = x;
model.rotateAngleY = y;
model.rotateAngleZ = z;
}
}
@@ -0,0 +1,343 @@
package defense.client.model.missile;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.entity.Entity;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import defense.client.tmt.ModelRendererTurbo;
@SideOnly(Side.CLIENT)
public class ModelDebilitationMissile extends ModelMissileBase
{
// fields
ModelRendererTurbo[] bodyModel;
public ModelDebilitationMissile()
{
int textureX = 32;
int textureY = 256;
bodyModel = new ModelRendererTurbo[58];
bodyModel[0] = new ModelRendererTurbo(this, 0, 0, textureX, textureY); // Box 0
bodyModel[1] = new ModelRendererTurbo(this, 0, 14, textureX, textureY); // Box 3
bodyModel[2] = new ModelRendererTurbo(this, 0, 14, textureX, textureY); // Box 4
bodyModel[3] = new ModelRendererTurbo(this, 0, 27, textureX, textureY); // Box 5
bodyModel[4] = new ModelRendererTurbo(this, 0, 40, textureX, textureY); // Box 9
bodyModel[5] = new ModelRendererTurbo(this, 0, 50, textureX, textureY); // Box 13
bodyModel[6] = new ModelRendererTurbo(this, 0, 54, textureX, textureY); // Box 14
bodyModel[7] = new ModelRendererTurbo(this, 0, 27, textureX, textureY); // Box 15
bodyModel[8] = new ModelRendererTurbo(this, 0, 40, textureX, textureY); // Box 16
bodyModel[9] = new ModelRendererTurbo(this, 0, 50, textureX, textureY); // Box 17
bodyModel[10] = new ModelRendererTurbo(this, 0, 54, textureX, textureY); // Box 18
bodyModel[11] = new ModelRendererTurbo(this, 0, 27, textureX, textureY); // Box 19
bodyModel[12] = new ModelRendererTurbo(this, 0, 40, textureX, textureY); // Box 20
bodyModel[13] = new ModelRendererTurbo(this, 0, 50, textureX, textureY); // Box 21
bodyModel[14] = new ModelRendererTurbo(this, 0, 54, textureX, textureY); // Box 22
bodyModel[15] = new ModelRendererTurbo(this, 0, 27, textureX, textureY); // Box 23
bodyModel[16] = new ModelRendererTurbo(this, 0, 40, textureX, textureY); // Box 24
bodyModel[17] = new ModelRendererTurbo(this, 0, 50, textureX, textureY); // Box 25
bodyModel[18] = new ModelRendererTurbo(this, 0, 54, textureX, textureY); // Box 26
bodyModel[19] = new ModelRendererTurbo(this, 0, 59, textureX, textureY); // Box 27
bodyModel[20] = new ModelRendererTurbo(this, 0, 66, textureX, textureY); // Box 30
bodyModel[21] = new ModelRendererTurbo(this, 0, 66, textureX, textureY); // Box 31
bodyModel[22] = new ModelRendererTurbo(this, 0, 72, textureX, textureY); // Box 32
bodyModel[23] = new ModelRendererTurbo(this, 0, 72, textureX, textureY); // Box 33
bodyModel[24] = new ModelRendererTurbo(this, 0, 72, textureX, textureY); // Box 34
bodyModel[25] = new ModelRendererTurbo(this, 0, 90, textureX, textureY); // Box 35
bodyModel[26] = new ModelRendererTurbo(this, 0, 86, textureX, textureY); // Box 36
bodyModel[27] = new ModelRendererTurbo(this, 0, 90, textureX, textureY); // Box 37
bodyModel[28] = new ModelRendererTurbo(this, 0, 93, textureX, textureY); // Box 38
bodyModel[29] = new ModelRendererTurbo(this, 0, 101, textureX, textureY); // Box 39
bodyModel[30] = new ModelRendererTurbo(this, 0, 101, textureX, textureY); // Box 40
bodyModel[31] = new ModelRendererTurbo(this, 0, 108, textureX, textureY); // Box 41
bodyModel[32] = new ModelRendererTurbo(this, 0, 113, textureX, textureY); // Box 42
bodyModel[33] = new ModelRendererTurbo(this, 0, 113, textureX, textureY); // Box 43
bodyModel[34] = new ModelRendererTurbo(this, 0, 117, textureX, textureY); // Box 46
bodyModel[35] = new ModelRendererTurbo(this, 0, 117, textureX, textureY); // Box 47
bodyModel[36] = new ModelRendererTurbo(this, 0, 117, textureX, textureY); // Box 48
bodyModel[37] = new ModelRendererTurbo(this, 0, 124, textureX, textureY); // Box 49
bodyModel[38] = new ModelRendererTurbo(this, 0, 120, textureX, textureY); // Box 50
bodyModel[39] = new ModelRendererTurbo(this, 0, 124, textureX, textureY); // Box 51
bodyModel[40] = new ModelRendererTurbo(this, 0, 127, textureX, textureY); // Box 52
bodyModel[41] = new ModelRendererTurbo(this, 0, 127, textureX, textureY); // Box 53
bodyModel[42] = new ModelRendererTurbo(this, 0, 127, textureX, textureY); // Box 54
bodyModel[43] = new ModelRendererTurbo(this, 0, 124, textureX, textureY); // Box 55
bodyModel[44] = new ModelRendererTurbo(this, 0, 120, textureX, textureY); // Box 56
bodyModel[45] = new ModelRendererTurbo(this, 0, 124, textureX, textureY); // Box 57
bodyModel[46] = new ModelRendererTurbo(this, 0, 131, textureX, textureY); // Box 67
bodyModel[47] = new ModelRendererTurbo(this, 0, 135, textureX, textureY); // Box 68
bodyModel[48] = new ModelRendererTurbo(this, 0, 139, textureX, textureY); // Box 69
bodyModel[49] = new ModelRendererTurbo(this, 0, 139, textureX, textureY); // Box 70
bodyModel[50] = new ModelRendererTurbo(this, 0, 131, textureX, textureY); // Box 71
bodyModel[51] = new ModelRendererTurbo(this, 0, 135, textureX, textureY); // Box 72
bodyModel[52] = new ModelRendererTurbo(this, 0, 139, textureX, textureY); // Box 73
bodyModel[53] = new ModelRendererTurbo(this, 0, 131, textureX, textureY); // Box 74
bodyModel[54] = new ModelRendererTurbo(this, 0, 135, textureX, textureY); // Box 75
bodyModel[55] = new ModelRendererTurbo(this, 0, 131, textureX, textureY); // Box 76
bodyModel[56] = new ModelRendererTurbo(this, 0, 139, textureX, textureY); // Box 77
bodyModel[57] = new ModelRendererTurbo(this, 0, 135, textureX, textureY); // Box 78
bodyModel[0].addShapeBox(-2F, -1F, -1F, 4, 11, 2, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 0
bodyModel[0].setRotationPoint(0F, 11F, 0F);
bodyModel[0].rotateAngleY = 3.92699082F;
bodyModel[1].addShapeBox(-2F, -1F, -2F, 4, 11, 1, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 3
bodyModel[1].setRotationPoint(0F, 11F, 0F);
bodyModel[1].rotateAngleY = 3.92699082F;
bodyModel[2].addShapeBox(-2F, -1F, 1F, 4, 11, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F); // Box 4
bodyModel[2].setRotationPoint(0F, 11F, 0F);
bodyModel[2].rotateAngleY = 3.92699082F;
bodyModel[3].addShapeBox(-1.5F, -1F, 1F, 3, 10, 2, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -4F, 0F, 0F, -4F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 5
bodyModel[3].setRotationPoint(0F, 13F, 0F);
bodyModel[3].rotateAngleY = 3.92699082F;
bodyModel[4].addShapeBox(-1.5F, -1F, 3F, 3, 8, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, -3F, 0F, -1F, -3F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F); // Box 9
bodyModel[4].setRotationPoint(0F, 17F, 0F);
bodyModel[4].rotateAngleY = 3.92699082F;
bodyModel[5].addShapeBox(-1.5F, -1F, 2F, 3, 2, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 13
bodyModel[5].setRotationPoint(0F, 23F, 0F);
bodyModel[5].rotateAngleY = 3.92699082F;
bodyModel[6].addShapeBox(-1.5F, -1F, 1F, 3, 3, 1, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 14
bodyModel[6].setRotationPoint(0F, 22F, 0F);
bodyModel[6].rotateAngleY = 3.92699082F;
bodyModel[7].addShapeBox(-1.5F, -1F, 1F, 3, 10, 2, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -4F, 0F, 0F, -4F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 15
bodyModel[7].setRotationPoint(0F, 13F, 0F);
bodyModel[7].rotateAngleY = 2.35619449F;
bodyModel[8].addShapeBox(-1.5F, -1F, 3F, 3, 8, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, -3F, 0F, -1F, -3F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F); // Box 16
bodyModel[8].setRotationPoint(0F, 17F, 0F);
bodyModel[8].rotateAngleY = 2.35619449F;
bodyModel[9].addShapeBox(-1.5F, -1F, 2F, 3, 2, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 17
bodyModel[9].setRotationPoint(0F, 23F, 0F);
bodyModel[9].rotateAngleY = 2.35619449F;
bodyModel[10].addShapeBox(-1.5F, -1F, 1F, 3, 3, 1, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 18
bodyModel[10].setRotationPoint(0F, 22F, 0F);
bodyModel[10].rotateAngleY = 2.35619449F;
bodyModel[11].addShapeBox(-1.5F, -1F, 1F, 3, 10, 2, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -4F, 0F, 0F, -4F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 19
bodyModel[11].setRotationPoint(0F, 13F, 0F);
bodyModel[11].rotateAngleY = 0.78539816F;
bodyModel[12].addShapeBox(-1.5F, -1F, 3F, 3, 8, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, -3F, 0F, -1F, -3F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F); // Box 20
bodyModel[12].setRotationPoint(0F, 17F, 0F);
bodyModel[12].rotateAngleY = 0.78539816F;
bodyModel[13].addShapeBox(-1.5F, -1F, 2F, 3, 2, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 21
bodyModel[13].setRotationPoint(0F, 23F, 0F);
bodyModel[13].rotateAngleY = 0.78539816F;
bodyModel[14].addShapeBox(-1.5F, -1F, 1F, 3, 3, 1, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 22
bodyModel[14].setRotationPoint(0F, 22F, 0F);
bodyModel[14].rotateAngleY = 0.78539816F;
bodyModel[15].addShapeBox(-1.5F, -1F, 1F, 3, 10, 2, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -4F, 0F, 0F, -4F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 23
bodyModel[15].setRotationPoint(0F, 13F, 0F);
bodyModel[15].rotateAngleY = 5.49778714F;
bodyModel[16].addShapeBox(-1.5F, -1F, 3F, 3, 8, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, -3F, 0F, -1F, -3F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F); // Box 24
bodyModel[16].setRotationPoint(0F, 17F, 0F);
bodyModel[16].rotateAngleY = 5.49778714F;
bodyModel[17].addShapeBox(-1.5F, -1F, 2F, 3, 2, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 25
bodyModel[17].setRotationPoint(0F, 23F, 0F);
bodyModel[17].rotateAngleY = 5.49778714F;
bodyModel[18].addShapeBox(-1.5F, -1F, 1F, 3, 3, 1, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 26
bodyModel[18].setRotationPoint(0F, 22F, 0F);
bodyModel[18].rotateAngleY = 5.49778714F;
bodyModel[19].addShapeBox(-2F, -1F, -1F, 4, 4, 2, 0F, -0.5F, 0F, -0.5F, -0.5F, 0F, -0.5F, -0.5F, 0F, -0.5F, -0.5F, 0F, -0.5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 27
bodyModel[19].setRotationPoint(0F, 7F, 0F);
bodyModel[19].rotateAngleY = 3.92699082F;
bodyModel[20].addShapeBox(-2F, -1F, -2F, 4, 4, 1, 0F, -1.5F, 0F, -0.5F, -1.5F, 0F, -0.5F, -0.5F, 0F, 0.5F, -0.5F, 0F, 0.5F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 30
bodyModel[20].setRotationPoint(0F, 7F, 0F);
bodyModel[20].rotateAngleY = 3.92699082F;
bodyModel[21].addShapeBox(-2F, -1F, 1F, 4, 4, 1, 0F, -0.5F, 0F, 0.5F, -0.5F, 0F, 0.5F, -1.5F, 0F, -0.5F, -1.5F, 0F, -0.5F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F); // Box 31
bodyModel[21].setRotationPoint(0F, 7F, 0F);
bodyModel[21].rotateAngleY = 3.92699082F;
bodyModel[22].addShapeBox(-1.5F, -1F, -0.5F, 3, 8, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 32
bodyModel[22].setRotationPoint(0F, -1F, 0F);
bodyModel[22].rotateAngleY = 3.92699082F;
bodyModel[23].addShapeBox(-1.5F, -1F, -1.5F, 3, 8, 1, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 33
bodyModel[23].setRotationPoint(0F, -1F, 0F);
bodyModel[23].rotateAngleY = 3.92699082F;
bodyModel[24].addShapeBox(-1.5F, -1F, 0.5F, 3, 8, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F); // Box 34
bodyModel[24].setRotationPoint(0F, -1F, 0F);
bodyModel[24].rotateAngleY = 3.92699082F;
bodyModel[25].addShapeBox(-2F, -1F, -2F, 4, 1, 1, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1.5F, 0F, -0.5F, -1.5F, 0F, -0.5F, -0.5F, 0F, 0.5F, -0.5F, 0F, 0.5F); // Box 35
bodyModel[25].setRotationPoint(0F, -2F, 0F);
bodyModel[25].rotateAngleY = 3.92699082F;
bodyModel[26].addShapeBox(-2F, -1F, -1F, 4, 1, 2, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -0.5F, 0F, -0.5F, -0.5F, 0F, -0.5F, -0.5F, 0F, -0.5F, -0.5F, 0F, -0.5F); // Box 36
bodyModel[26].setRotationPoint(0F, -2F, 0F);
bodyModel[26].rotateAngleY = 3.92699082F;
bodyModel[27].addShapeBox(-2F, -1F, 1F, 4, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, -0.5F, 0F, 0.5F, -0.5F, 0F, 0.5F, -1.5F, 0F, -0.5F, -1.5F, 0F, -0.5F); // Box 37
bodyModel[27].setRotationPoint(0F, -2F, 0F);
bodyModel[27].rotateAngleY = 3.92699082F;
bodyModel[28].addShapeBox(-2F, -1F, -1F, 4, 5, 2, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 38
bodyModel[28].setRotationPoint(0F, -7F, 0F);
bodyModel[28].rotateAngleY = 3.92699082F;
bodyModel[29].addShapeBox(-2F, -1F, -2F, 4, 5, 1, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 39
bodyModel[29].setRotationPoint(0F, -7F, 0F);
bodyModel[29].rotateAngleY = 3.92699082F;
bodyModel[30].addShapeBox(-2F, -1F, 1F, 4, 5, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F); // Box 40
bodyModel[30].setRotationPoint(0F, -7F, 0F);
bodyModel[30].rotateAngleY = 3.92699082F;
bodyModel[31].addShapeBox(-2F, -1F, -1F, 4, 2, 2, 0F, -0.5F, 0F, -0.5F, -0.5F, 0F, -0.5F, -0.5F, 0F, -0.5F, -0.5F, 0F, -0.5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 41
bodyModel[31].setRotationPoint(0F, -9F, 0F);
bodyModel[31].rotateAngleY = 3.92699082F;
bodyModel[32].addShapeBox(-2F, -1F, -2F, 4, 2, 1, 0F, -1.5F, 0F, -0.5F, -1.5F, 0F, -0.5F, -0.5F, 0F, 0.5F, -0.5F, 0F, 0.5F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 42
bodyModel[32].setRotationPoint(0F, -9F, 0F);
bodyModel[32].rotateAngleY = 3.92699082F;
bodyModel[33].addShapeBox(-2F, -1F, 1F, 4, 2, 1, 0F, -0.5F, 0F, 0.5F, -0.5F, 0F, 0.5F, -1.5F, 0F, -0.5F, -1.5F, 0F, -0.5F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F); // Box 43
bodyModel[33].setRotationPoint(0F, -9F, 0F);
bodyModel[33].rotateAngleY = 3.92699082F;
bodyModel[34].addShapeBox(-1.5F, -1F, -0.5F, 3, 1, 1, 0F, -1F, 0F, -0.33F, -1F, 0F, -0.33F, -1F, 0F, -0.33F, -1F, 0F, -0.33F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 46
bodyModel[34].setRotationPoint(0F, -10F, 0F);
bodyModel[34].rotateAngleY = 3.92699082F;
bodyModel[35].addShapeBox(-1.5F, -1F, -1.5F, 3, 1, 1, 0F, -1.33F, 0F, -1F, -1.33F, 0F, -1F, -1F, 0F, 0.33F, -1F, 0F, 0.33F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 47
bodyModel[35].setRotationPoint(0F, -10F, 0F);
bodyModel[35].rotateAngleY = 3.92699082F;
bodyModel[36].addShapeBox(-1.5F, -1F, 0.5F, 3, 1, 1, 0F, -1F, 0F, 0.33F, -1F, 0F, 0.33F, -1.33F, 0F, -1F, -1.33F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F); // Box 48
bodyModel[36].setRotationPoint(0F, -10F, 0F);
bodyModel[36].rotateAngleY = 3.92699082F;
bodyModel[37].addShapeBox(-2F, -1F, -2F, 4, 1, 1, 0F, -1.5F, 0F, -0.5F, -1.5F, 0F, -0.5F, -0.5F, 0F, 0.5F, -0.5F, 0F, 0.5F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 49
bodyModel[37].setRotationPoint(0F, 1F, 0F);
bodyModel[37].rotateAngleY = 3.92699082F;
bodyModel[38].addShapeBox(-2F, -1F, -1F, 4, 1, 2, 0F, -0.5F, 0F, -0.5F, -0.5F, 0F, -0.5F, -0.5F, 0F, -0.5F, -0.5F, 0F, -0.5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 50
bodyModel[38].setRotationPoint(0F, 1F, 0F);
bodyModel[38].rotateAngleY = 3.92699082F;
bodyModel[39].addShapeBox(-2F, -1F, 1F, 4, 1, 1, 0F, -0.5F, 0F, 0.5F, -0.5F, 0F, 0.5F, -1.5F, 0F, -0.5F, -1.5F, 0F, -0.5F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F); // Box 51
bodyModel[39].setRotationPoint(0F, 1F, 0F);
bodyModel[39].rotateAngleY = 3.92699082F;
bodyModel[40].addShapeBox(-2F, -1F, -1F, 4, 2, 2, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 52
bodyModel[40].setRotationPoint(0F, 2F, 0F);
bodyModel[40].rotateAngleY = 3.92699082F;
bodyModel[41].addShapeBox(-2F, -1F, 1F, 4, 2, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F); // Box 53
bodyModel[41].setRotationPoint(0F, 2F, 0F);
bodyModel[41].rotateAngleY = 3.92699082F;
bodyModel[42].addShapeBox(-2F, -1F, -2F, 4, 2, 1, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 54
bodyModel[42].setRotationPoint(0F, 2F, 0F);
bodyModel[42].rotateAngleY = 3.92699082F;
bodyModel[43].addShapeBox(-2F, -1F, 1F, 4, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, -0.5F, 0F, 0.5F, -0.5F, 0F, 0.5F, -1.5F, 0F, -0.5F, -1.5F, 0F, -0.5F); // Box 55
bodyModel[43].setRotationPoint(0F, 4F, 0F);
bodyModel[43].rotateAngleY = 3.92699082F;
bodyModel[44].addShapeBox(-2F, -1F, -1F, 4, 1, 2, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -0.5F, 0F, -0.5F, -0.5F, 0F, -0.5F, -0.5F, 0F, -0.5F, -0.5F, 0F, -0.5F); // Box 56
bodyModel[44].setRotationPoint(0F, 4F, 0F);
bodyModel[44].rotateAngleY = 3.92699082F;
bodyModel[45].addShapeBox(-2F, -1F, -2F, 4, 1, 1, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1.5F, 0F, -0.5F, -1.5F, 0F, -0.5F, -0.5F, 0F, 0.5F, -0.5F, 0F, 0.5F); // Box 57
bodyModel[45].setRotationPoint(0F, 4F, 0F);
bodyModel[45].rotateAngleY = 3.92699082F;
bodyModel[46].addShapeBox(-2.5F, -1F, -0.5F, 1, 2, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 67
bodyModel[46].setRotationPoint(0F, 7F, 0F);
bodyModel[46].rotateAngleY = 3.92699082F;
bodyModel[47].addShapeBox(-3.5F, -1F, -0.5F, 1, 2, 1, 0F, 0F, 1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 1F, 0F, 0F, 2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 2F, 0F); // Box 68
bodyModel[47].setRotationPoint(0F, 7F, 0F);
bodyModel[47].rotateAngleY = 3.92699082F;
bodyModel[48].addShapeBox(-6.5F, -1F, -0.5F, 3, 5, 1, 0F, 0F, -4F, -0.2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -4F, -0.2F, -1F, 1F, -0.2F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 1F, -0.2F); // Box 69
bodyModel[48].setRotationPoint(0F, 6F, 0F);
bodyModel[48].rotateAngleY = 3.92699082F;
bodyModel[49].addShapeBox(-6.5F, -1F, -0.5F, 3, 5, 1, 0F, 0F, -4F, -0.2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -4F, -0.2F, -1F, 1F, -0.2F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 1F, -0.2F); // Box 70
bodyModel[49].setRotationPoint(0F, 6F, 0F);
bodyModel[49].rotateAngleY = 2.35619449F;
bodyModel[50].addShapeBox(-2.5F, -1F, -0.5F, 1, 2, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 71
bodyModel[50].setRotationPoint(0F, 7F, 0F);
bodyModel[50].rotateAngleY = 2.35619449F;
bodyModel[51].addShapeBox(-3.5F, -1F, -0.5F, 1, 2, 1, 0F, 0F, 1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 1F, 0F, 0F, 2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 2F, 0F); // Box 72
bodyModel[51].setRotationPoint(0F, 7F, 0F);
bodyModel[51].rotateAngleY = 2.35619449F;
bodyModel[52].addShapeBox(-6.5F, -1F, -0.5F, 3, 5, 1, 0F, 0F, -4F, -0.2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -4F, -0.2F, -1F, 1F, -0.2F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 1F, -0.2F); // Box 73
bodyModel[52].setRotationPoint(0F, 6F, 0F);
bodyModel[52].rotateAngleY = 5.49778714F;
bodyModel[53].addShapeBox(-2.5F, -1F, -0.5F, 1, 2, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 74
bodyModel[53].setRotationPoint(0F, 7F, 0F);
bodyModel[53].rotateAngleY = 5.49778714F;
bodyModel[54].addShapeBox(-3.5F, -1F, -0.5F, 1, 2, 1, 0F, 0F, 1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 1F, 0F, 0F, 2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 2F, 0F); // Box 75
bodyModel[54].setRotationPoint(0F, 7F, 0F);
bodyModel[54].rotateAngleY = 5.49778714F;
bodyModel[55].addShapeBox(-2.5F, -1F, -0.5F, 1, 2, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 76
bodyModel[55].setRotationPoint(0F, 7F, 0F);
bodyModel[55].rotateAngleY = 7.06858347F;
bodyModel[56].addShapeBox(-6.5F, -1F, -0.5F, 3, 5, 1, 0F, 0F, -4F, -0.2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -4F, -0.2F, -1F, 1F, -0.2F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 1F, -0.2F); // Box 77
bodyModel[56].setRotationPoint(0F, 6F, 0F);
bodyModel[56].rotateAngleY = 7.06858347F;
bodyModel[57].addShapeBox(-3.5F, -1F, -0.5F, 1, 2, 1, 0F, 0F, 1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 1F, 0F, 0F, 2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 2F, 0F); // Box 78
bodyModel[57].setRotationPoint(0F, 7F, 0F);
bodyModel[57].rotateAngleY = 7.06858347F;
}
@Override
public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5)
{
super.render(entity, f, f1, f2, f3, f4, f5);
this.setRotationAngles(f, f1, f2, f3, f4, f5, entity);
this.render(f5);
}
@Override
public void render(float f5)
{
render(bodyModel, f5);
}
private void render(ModelRendererTurbo[] models, float f)
{
for(ModelRendererTurbo model : models)
if(model != null)
model.render(f);
}
private void setRotation(ModelRenderer model, float x, float y, float z)
{
model.rotateAngleX = x;
model.rotateAngleY = y;
model.rotateAngleZ = z;
}
}
@@ -0,0 +1,272 @@
package defense.client.model.missile;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.entity.Entity;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@SideOnly(Side.CLIENT)
public class ModelEMPMissile extends ModelMissileBase
{
// fields
ModelRenderer MAIN_MODULE;
ModelRenderer MOTOR_MODULE_1;
ModelRenderer MOTOR_MODULE_2;
ModelRenderer MOTOR_MODULE_3;
ModelRenderer MOTOR_MODULE_4;
ModelRenderer C1;
ModelRenderer C2;
ModelRenderer C3;
ModelRenderer C4;
ModelRenderer T1;
ModelRenderer T2;
ModelRenderer T3;
ModelRenderer T4;
ModelRenderer WING_1A;
ModelRenderer WING_2A;
ModelRenderer WING_1B;
ModelRenderer WING_2B;
ModelRenderer WING_3A;
ModelRenderer WING_3B;
ModelRenderer WING_4B;
ModelRenderer WING_4A;
ModelRenderer TOP;
ModelRenderer BASE;
ModelRenderer MAIN_COIL;
ModelRenderer COIL_1;
ModelRenderer COIL_2;
ModelRenderer COIL_3;
ModelRenderer COIL_4;
ModelRenderer WARHEAD;
public ModelEMPMissile()
{
textureWidth = 128;
textureHeight = 128;
MAIN_MODULE = new ModelRenderer(this, 0, 0);
MAIN_MODULE.addBox(0F, 0F, 0F, 8, 70, 8);
MAIN_MODULE.setRotationPoint(-4F, -63F, -4F);
MAIN_MODULE.setTextureSize(128, 128);
MAIN_MODULE.mirror = true;
setRotation(MAIN_MODULE, 0F, 0F, 0F);
MOTOR_MODULE_1 = new ModelRenderer(this, 0, 79);
MOTOR_MODULE_1.addBox(0F, 0F, 0F, 6, 20, 6);
MOTOR_MODULE_1.setRotationPoint(-8F, 0F, -8F);
MOTOR_MODULE_1.setTextureSize(128, 128);
MOTOR_MODULE_1.mirror = true;
setRotation(MOTOR_MODULE_1, 0F, 0F, 0F);
MOTOR_MODULE_2 = new ModelRenderer(this, 0, 79);
MOTOR_MODULE_2.addBox(0F, 0F, 0F, 6, 20, 6);
MOTOR_MODULE_2.setRotationPoint(-8F, 0F, 2F);
MOTOR_MODULE_2.setTextureSize(128, 128);
MOTOR_MODULE_2.mirror = true;
setRotation(MOTOR_MODULE_2, 0F, 0F, 0F);
MOTOR_MODULE_3 = new ModelRenderer(this, 0, 79);
MOTOR_MODULE_3.addBox(0F, 0F, 0F, 6, 20, 6);
MOTOR_MODULE_3.setRotationPoint(2F, 0F, -8F);
MOTOR_MODULE_3.setTextureSize(128, 128);
MOTOR_MODULE_3.mirror = true;
setRotation(MOTOR_MODULE_3, 0F, 0F, 0F);
MOTOR_MODULE_4 = new ModelRenderer(this, 0, 79);
MOTOR_MODULE_4.addBox(0F, 0F, 0F, 6, 20, 6);
MOTOR_MODULE_4.setRotationPoint(2F, 0F, 2F);
MOTOR_MODULE_4.setTextureSize(128, 128);
MOTOR_MODULE_4.mirror = true;
setRotation(MOTOR_MODULE_4, 0F, 0F, 0F);
C1 = new ModelRenderer(this, 0, 106);
C1.addBox(0F, 0F, 0F, 2, 1, 2);
C1.setRotationPoint(-6F, 20F, -6F);
C1.setTextureSize(128, 128);
C1.mirror = true;
setRotation(C1, 0F, 0F, 0F);
C2 = new ModelRenderer(this, 0, 106);
C2.addBox(0F, 0F, 0F, 2, 1, 2);
C2.setRotationPoint(-6F, 20F, 4F);
C2.setTextureSize(128, 128);
C2.mirror = true;
setRotation(C2, 0F, 0F, 0F);
C3 = new ModelRenderer(this, 0, 106);
C3.addBox(0F, 0F, 0F, 2, 1, 2);
C3.setRotationPoint(4F, 20F, -6F);
C3.setTextureSize(128, 128);
C3.mirror = true;
setRotation(C3, 0F, 0F, 0F);
C4 = new ModelRenderer(this, 0, 106);
C4.addBox(0F, 0F, 0F, 2, 1, 2);
C4.setRotationPoint(4F, 20F, 4F);
C4.setTextureSize(128, 128);
C4.mirror = true;
setRotation(C4, 0F, 0F, 0F);
T1 = new ModelRenderer(this, 0, 111);
T1.addBox(0F, 0F, 0F, 4, 3, 4);
T1.setRotationPoint(-7F, 21F, -7F);
T1.setTextureSize(128, 128);
T1.mirror = true;
setRotation(T1, 0F, 0F, 0F);
T2 = new ModelRenderer(this, 0, 111);
T2.addBox(0F, 0F, 0F, 4, 3, 4);
T2.setRotationPoint(-7F, 21F, 3F);
T2.setTextureSize(128, 128);
T2.mirror = true;
setRotation(T2, 0F, 0F, 0F);
T3 = new ModelRenderer(this, 0, 111);
T3.addBox(0F, 0F, 0F, 4, 3, 4);
T3.setRotationPoint(3F, 21F, -7F);
T3.setTextureSize(128, 128);
T3.mirror = true;
setRotation(T3, 0F, 0F, 0F);
T4 = new ModelRenderer(this, 0, 111);
T4.addBox(0F, 0F, 0F, 4, 3, 4);
T4.setRotationPoint(3F, 21F, 3F);
T4.setTextureSize(128, 128);
T4.mirror = true;
setRotation(T4, 0F, 0F, 0F);
WING_1A = new ModelRenderer(this, 43, 15);
WING_1A.addBox(-1F, 0F, 0F, 2, 12, 12);
WING_1A.setRotationPoint(0F, -10F, 0F);
WING_1A.setTextureSize(128, 128);
WING_1A.mirror = true;
setRotation(WING_1A, -0.7853982F, 0F, 0F);
WING_2A = new ModelRenderer(this, 43, 0);
WING_2A.addBox(0F, 0F, -1F, 12, 12, 2);
WING_2A.setRotationPoint(0F, -10F, 0F);
WING_2A.setTextureSize(128, 128);
WING_2A.mirror = true;
setRotation(WING_2A, 0F, 0F, 0.7853982F);
WING_1B = new ModelRenderer(this, 72, 28);
WING_1B.addBox(-1F, 0F, -8F, 2, 25, 16);
WING_1B.setRotationPoint(0F, -2F, 0F);
WING_1B.setTextureSize(128, 128);
WING_1B.mirror = true;
setRotation(WING_1B, 0F, 0F, 0F);
WING_2B = new ModelRenderer(this, 72, 0);
WING_2B.addBox(-8F, 0F, -1F, 16, 25, 2);
WING_2B.setRotationPoint(0F, -2F, 0F);
WING_2B.setTextureSize(128, 128);
WING_2B.mirror = true;
setRotation(WING_2B, 0F, 0F, 0F);
WING_3A = new ModelRenderer(this, 34, 55);
WING_3A.addBox(-1F, 0F, -8F, 2, 10, 16);
WING_3A.setRotationPoint(0F, -41F, 0F);
WING_3A.setTextureSize(128, 128);
WING_3A.mirror = true;
setRotation(WING_3A, 0F, 0F, 0F);
WING_3B = new ModelRenderer(this, 34, 82);
WING_3B.addBox(-1F, -6F, -6F, 2, 12, 12);
WING_3B.setRotationPoint(0F, -41F, 0F);
WING_3B.setTextureSize(128, 128);
WING_3B.mirror = true;
setRotation(WING_3B, 0.7853982F, 0F, 0F);
WING_4B = new ModelRenderer(this, 34, 41);
WING_4B.addBox(-8F, 0F, -1F, 16, 10, 2);
WING_4B.setRotationPoint(0F, -41F, 0F);
WING_4B.setTextureSize(128, 128);
WING_4B.mirror = true;
setRotation(WING_4B, 0F, 0F, 0F);
WING_4A = new ModelRenderer(this, 34, 107);
WING_4A.addBox(-6F, -6F, -1F, 12, 12, 2);
WING_4A.setRotationPoint(0F, -41F, 0F);
WING_4A.setTextureSize(128, 128);
WING_4A.mirror = true;
setRotation(WING_4A, 0F, 0F, -0.7853982F);
TOP = new ModelRenderer(this, 72, 70);
TOP.addBox(0F, 0F, 0F, 10, 10, 10);
TOP.setRotationPoint(-5F, -64F, -5F);
TOP.setTextureSize(128, 128);
TOP.mirror = true;
setRotation(TOP, 0F, 0F, 0F);
BASE = new ModelRenderer(this, 64, 92);
BASE.addBox(-6F, 0F, -6F, 12, 1, 12);
BASE.setRotationPoint(0F, -65F, 0F);
BASE.setTextureSize(128, 128);
BASE.mirror = true;
setRotation(BASE, 0F, 0F, 0F);
MAIN_COIL = new ModelRenderer(this, 64, 107);
MAIN_COIL.addBox(-3F, 0F, -3F, 6, 10, 6);
MAIN_COIL.setRotationPoint(0F, -75F, 0F);
MAIN_COIL.setTextureSize(128, 128);
MAIN_COIL.mirror = true;
setRotation(MAIN_COIL, 0F, 0F, 0F);
COIL_1 = new ModelRenderer(this, 90, 107);
COIL_1.addBox(3F, 0F, -5F, 2, 8, 2);
COIL_1.setRotationPoint(0F, -73F, 0F);
COIL_1.setTextureSize(128, 128);
COIL_1.mirror = true;
setRotation(COIL_1, 0F, 0F, 0F);
COIL_2 = new ModelRenderer(this, 90, 107);
COIL_2.addBox(-5F, 0F, 3F, 2, 8, 2);
COIL_2.setRotationPoint(0F, -73F, 0F);
COIL_2.setTextureSize(128, 128);
COIL_2.mirror = true;
setRotation(COIL_2, 0F, 0F, 0F);
COIL_3 = new ModelRenderer(this, 90, 107);
COIL_3.addBox(-5F, 0F, -5F, 2, 8, 2);
COIL_3.setRotationPoint(0F, -73F, 0F);
COIL_3.setTextureSize(128, 128);
COIL_3.mirror = true;
setRotation(COIL_3, 0F, 0F, 0F);
COIL_4 = new ModelRenderer(this, 90, 107);
COIL_4.addBox(3F, 0F, 3F, 2, 8, 2);
COIL_4.setRotationPoint(0F, -73F, 0F);
COIL_4.setTextureSize(128, 128);
COIL_4.mirror = true;
setRotation(COIL_4, 0F, 0F, 0F);
WARHEAD = new ModelRenderer(this, 100, 107);
WARHEAD.addBox(-1F, -4F, -1F, 2, 4, 2);
WARHEAD.setRotationPoint(0F, -75F, 0F);
WARHEAD.setTextureSize(128, 128);
WARHEAD.mirror = true;
setRotation(WARHEAD, 0F, 0F, 0F);
}
@Override
public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5)
{
super.render(entity, f, f1, f2, f3, f4, f5);
this.setRotationAngles(f, f1, f2, f3, f4, f5, entity);
this.render(f5);
}
@Override
public void render(float f5)
{
MAIN_MODULE.render(f5);
MOTOR_MODULE_1.render(f5);
MOTOR_MODULE_2.render(f5);
MOTOR_MODULE_3.render(f5);
MOTOR_MODULE_4.render(f5);
C1.render(f5);
C2.render(f5);
C3.render(f5);
C4.render(f5);
T1.render(f5);
T2.render(f5);
T3.render(f5);
T4.render(f5);
WING_1A.render(f5);
WING_2A.render(f5);
WING_1B.render(f5);
WING_2B.render(f5);
WING_3A.render(f5);
WING_3B.render(f5);
WING_4B.render(f5);
WING_4A.render(f5);
TOP.render(f5);
BASE.render(f5);
MAIN_COIL.render(f5);
COIL_1.render(f5);
COIL_2.render(f5);
COIL_3.render(f5);
COIL_4.render(f5);
WARHEAD.render(f5);
}
private void setRotation(ModelRenderer model, float x, float y, float z)
{
model.rotateAngleX = x;
model.rotateAngleY = y;
model.rotateAngleZ = z;
}
}
@@ -0,0 +1,264 @@
package defense.client.model.missile;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.entity.Entity;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@SideOnly(Side.CLIENT)
public class ModelEndothermicMissile extends ModelMissileBase
{
// fields
ModelRenderer MAIN_MODULE;
ModelRenderer MOTOR_MODULE_1;
ModelRenderer MOTOR_MODULE_2;
ModelRenderer MOTOR_MODULE_3;
ModelRenderer MOTOR_MODULE_4;
ModelRenderer C1;
ModelRenderer C2;
ModelRenderer C3;
ModelRenderer C4;
ModelRenderer T1;
ModelRenderer T2;
ModelRenderer T3;
ModelRenderer T4;
ModelRenderer WING_1A;
ModelRenderer WING_2A;
ModelRenderer WING_1B;
ModelRenderer WING_2B;
ModelRenderer WING_3A;
ModelRenderer WING_3B;
ModelRenderer WING_4B;
ModelRenderer WING_4A;
ModelRenderer TOP;
ModelRenderer Shape1;
ModelRenderer Shape1a;
ModelRenderer Shape1b;
ModelRenderer Shape1c;
ModelRenderer Shape1d;
ModelRenderer Shape1e;
public ModelEndothermicMissile()
{
textureWidth = 128;
textureHeight = 128;
MAIN_MODULE = new ModelRenderer(this, 0, 0);
MAIN_MODULE.addBox(0F, 0F, 0F, 8, 70, 8);
MAIN_MODULE.setRotationPoint(-4F, -63F, -4F);
MAIN_MODULE.setTextureSize(128, 128);
MAIN_MODULE.mirror = true;
setRotation(MAIN_MODULE, 0F, 0F, 0F);
MOTOR_MODULE_1 = new ModelRenderer(this, 0, 79);
MOTOR_MODULE_1.addBox(0F, 0F, 0F, 6, 20, 6);
MOTOR_MODULE_1.setRotationPoint(-8F, 0F, -8F);
MOTOR_MODULE_1.setTextureSize(128, 128);
MOTOR_MODULE_1.mirror = true;
setRotation(MOTOR_MODULE_1, 0F, 0F, 0F);
MOTOR_MODULE_2 = new ModelRenderer(this, 0, 79);
MOTOR_MODULE_2.addBox(0F, 0F, 0F, 6, 20, 6);
MOTOR_MODULE_2.setRotationPoint(-8F, 0F, 2F);
MOTOR_MODULE_2.setTextureSize(128, 128);
MOTOR_MODULE_2.mirror = true;
setRotation(MOTOR_MODULE_2, 0F, 0F, 0F);
MOTOR_MODULE_3 = new ModelRenderer(this, 0, 79);
MOTOR_MODULE_3.addBox(0F, 0F, 0F, 6, 20, 6);
MOTOR_MODULE_3.setRotationPoint(2F, 0F, -8F);
MOTOR_MODULE_3.setTextureSize(128, 128);
MOTOR_MODULE_3.mirror = true;
setRotation(MOTOR_MODULE_3, 0F, 0F, 0F);
MOTOR_MODULE_4 = new ModelRenderer(this, 0, 79);
MOTOR_MODULE_4.addBox(0F, 0F, 0F, 6, 20, 6);
MOTOR_MODULE_4.setRotationPoint(2F, 0F, 2F);
MOTOR_MODULE_4.setTextureSize(128, 128);
MOTOR_MODULE_4.mirror = true;
setRotation(MOTOR_MODULE_4, 0F, 0F, 0F);
C1 = new ModelRenderer(this, 0, 106);
C1.addBox(0F, 0F, 0F, 2, 1, 2);
C1.setRotationPoint(-6F, 20F, -6F);
C1.setTextureSize(128, 128);
C1.mirror = true;
setRotation(C1, 0F, 0F, 0F);
C2 = new ModelRenderer(this, 0, 106);
C2.addBox(0F, 0F, 0F, 2, 1, 2);
C2.setRotationPoint(-6F, 20F, 4F);
C2.setTextureSize(128, 128);
C2.mirror = true;
setRotation(C2, 0F, 0F, 0F);
C3 = new ModelRenderer(this, 0, 106);
C3.addBox(0F, 0F, 0F, 2, 1, 2);
C3.setRotationPoint(4F, 20F, -6F);
C3.setTextureSize(128, 128);
C3.mirror = true;
setRotation(C3, 0F, 0F, 0F);
C4 = new ModelRenderer(this, 0, 106);
C4.addBox(0F, 0F, 0F, 2, 1, 2);
C4.setRotationPoint(4F, 20F, 4F);
C4.setTextureSize(128, 128);
C4.mirror = true;
setRotation(C4, 0F, 0F, 0F);
T1 = new ModelRenderer(this, 0, 111);
T1.addBox(0F, 0F, 0F, 4, 3, 4);
T1.setRotationPoint(-7F, 21F, -7F);
T1.setTextureSize(128, 128);
T1.mirror = true;
setRotation(T1, 0F, 0F, 0F);
T2 = new ModelRenderer(this, 0, 111);
T2.addBox(0F, 0F, 0F, 4, 3, 4);
T2.setRotationPoint(-7F, 21F, 3F);
T2.setTextureSize(128, 128);
T2.mirror = true;
setRotation(T2, 0F, 0F, 0F);
T3 = new ModelRenderer(this, 0, 111);
T3.addBox(0F, 0F, 0F, 4, 3, 4);
T3.setRotationPoint(3F, 21F, -7F);
T3.setTextureSize(128, 128);
T3.mirror = true;
setRotation(T3, 0F, 0F, 0F);
T4 = new ModelRenderer(this, 0, 111);
T4.addBox(0F, 0F, 0F, 4, 3, 4);
T4.setRotationPoint(3F, 21F, 3F);
T4.setTextureSize(128, 128);
T4.mirror = true;
setRotation(T4, 0F, 0F, 0F);
WING_1A = new ModelRenderer(this, 43, 15);
WING_1A.addBox(-1F, 0F, 0F, 2, 12, 12);
WING_1A.setRotationPoint(0F, -10F, 0F);
WING_1A.setTextureSize(128, 128);
WING_1A.mirror = true;
setRotation(WING_1A, -0.7853982F, 0F, 0F);
WING_2A = new ModelRenderer(this, 43, 0);
WING_2A.addBox(0F, 0F, -1F, 12, 12, 2);
WING_2A.setRotationPoint(0F, -10F, 0F);
WING_2A.setTextureSize(128, 128);
WING_2A.mirror = true;
setRotation(WING_2A, 0F, 0F, 0.7853982F);
WING_1B = new ModelRenderer(this, 72, 28);
WING_1B.addBox(-1F, 0F, -8F, 2, 25, 16);
WING_1B.setRotationPoint(0F, -2F, 0F);
WING_1B.setTextureSize(128, 128);
WING_1B.mirror = true;
setRotation(WING_1B, 0F, 0F, 0F);
WING_2B = new ModelRenderer(this, 72, 0);
WING_2B.addBox(-8F, 0F, -1F, 16, 25, 2);
WING_2B.setRotationPoint(0F, -2F, 0F);
WING_2B.setTextureSize(128, 128);
WING_2B.mirror = true;
setRotation(WING_2B, 0F, 0F, 0F);
WING_3A = new ModelRenderer(this, 34, 55);
WING_3A.addBox(-1F, 0F, -8F, 2, 10, 16);
WING_3A.setRotationPoint(0F, -41F, 0F);
WING_3A.setTextureSize(128, 128);
WING_3A.mirror = true;
setRotation(WING_3A, 0F, 0F, 0F);
WING_3B = new ModelRenderer(this, 34, 82);
WING_3B.addBox(-1F, -6F, -6F, 2, 12, 12);
WING_3B.setRotationPoint(0F, -41F, 0F);
WING_3B.setTextureSize(128, 128);
WING_3B.mirror = true;
setRotation(WING_3B, 0.7853982F, 0F, 0F);
WING_4B = new ModelRenderer(this, 34, 41);
WING_4B.addBox(-8F, 0F, -1F, 16, 10, 2);
WING_4B.setRotationPoint(0F, -41F, 0F);
WING_4B.setTextureSize(128, 128);
WING_4B.mirror = true;
setRotation(WING_4B, 0F, 0F, 0F);
WING_4A = new ModelRenderer(this, 34, 107);
WING_4A.addBox(-6F, -6F, -1F, 12, 12, 2);
WING_4A.setRotationPoint(0F, -41F, 0F);
WING_4A.setTextureSize(128, 128);
WING_4A.mirror = true;
setRotation(WING_4A, 0F, 0F, -0.7853982F);
TOP = new ModelRenderer(this, 72, 70);
TOP.addBox(0F, 0F, 0F, 10, 10, 10);
TOP.setRotationPoint(-5F, -64F, -5F);
TOP.setTextureSize(128, 128);
TOP.mirror = true;
setRotation(TOP, 0F, 0F, 0F);
Shape1 = new ModelRenderer(this, 108, 92);
Shape1.addBox(0F, 0F, 0F, 2, 6, 2);
Shape1.setRotationPoint(-4F, -70F, -4F);
Shape1.setTextureSize(128, 128);
Shape1.mirror = true;
setRotation(Shape1, 0F, 0F, 0F);
Shape1a = new ModelRenderer(this, 108, 92);
Shape1a.addBox(0F, 0F, 0F, 2, 6, 2);
Shape1a.setRotationPoint(-4F, -70F, 2F);
Shape1a.setTextureSize(128, 128);
Shape1a.mirror = true;
setRotation(Shape1a, 0F, 0F, 0F);
Shape1b = new ModelRenderer(this, 108, 92);
Shape1b.addBox(0F, 0F, 0F, 2, 6, 2);
Shape1b.setRotationPoint(2F, -70F, -4F);
Shape1b.setTextureSize(128, 128);
Shape1b.mirror = true;
setRotation(Shape1b, 0F, 0F, 0F);
Shape1c = new ModelRenderer(this, 108, 92);
Shape1c.addBox(0F, 0F, 0F, 2, 6, 2);
Shape1c.setRotationPoint(2F, -70F, 2F);
Shape1c.setTextureSize(128, 128);
Shape1c.mirror = true;
setRotation(Shape1c, 0F, 0F, 0F);
Shape1d = new ModelRenderer(this, 64, 92);
Shape1d.addBox(0F, 0F, 0F, 6, 10, 6);
Shape1d.setRotationPoint(-3F, -74F, -3F);
Shape1d.setTextureSize(128, 128);
Shape1d.mirror = true;
setRotation(Shape1d, 0F, 0F, 0F);
Shape1e = new ModelRenderer(this, 90, 92);
Shape1e.addBox(0F, 0F, 0F, 4, 6, 4);
Shape1e.setRotationPoint(-2F, -80F, -2F);
Shape1e.setTextureSize(128, 128);
Shape1e.mirror = true;
setRotation(Shape1e, 0F, 0F, 0F);
}
@Override
public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5)
{
super.render(entity, f, f1, f2, f3, f4, f5);
this.setRotationAngles(f, f1, f2, f3, f4, f5, entity);
this.render(f5);
}
@Override
public void render(float f5)
{
MAIN_MODULE.render(f5);
MOTOR_MODULE_1.render(f5);
MOTOR_MODULE_2.render(f5);
MOTOR_MODULE_3.render(f5);
MOTOR_MODULE_4.render(f5);
C1.render(f5);
C2.render(f5);
C3.render(f5);
C4.render(f5);
T1.render(f5);
T2.render(f5);
T3.render(f5);
T4.render(f5);
WING_1A.render(f5);
WING_2A.render(f5);
WING_1B.render(f5);
WING_2B.render(f5);
WING_3A.render(f5);
WING_3B.render(f5);
WING_4B.render(f5);
WING_4A.render(f5);
TOP.render(f5);
Shape1.render(f5);
Shape1a.render(f5);
Shape1b.render(f5);
Shape1c.render(f5);
Shape1d.render(f5);
Shape1e.render(f5);
}
private void setRotation(ModelRenderer model, float x, float y, float z)
{
model.rotateAngleX = x;
model.rotateAngleY = y;
model.rotateAngleZ = z;
}
}
@@ -0,0 +1,256 @@
package defense.client.model.missile;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.entity.Entity;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@SideOnly(Side.CLIENT)
public class ModelExothermicMissile extends ModelMissileBase
{
// fields
ModelRenderer MAIN_MODULE;
ModelRenderer MOTOR_MODULE_1;
ModelRenderer MOTOR_MODULE_2;
ModelRenderer MOTOR_MODULE_3;
ModelRenderer MOTOR_MODULE_4;
ModelRenderer C1;
ModelRenderer C2;
ModelRenderer C3;
ModelRenderer C4;
ModelRenderer T1;
ModelRenderer T2;
ModelRenderer T3;
ModelRenderer T4;
ModelRenderer WING_1A;
ModelRenderer WING_2A;
ModelRenderer WING_1B;
ModelRenderer WING_2B;
ModelRenderer WING_3A;
ModelRenderer WING_3B;
ModelRenderer WING_4B;
ModelRenderer WING_4A;
ModelRenderer TOP;
ModelRenderer Shape1;
ModelRenderer Shape1a;
ModelRenderer Shape2b;
ModelRenderer Shape1c;
ModelRenderer Shape1d;
public ModelExothermicMissile()
{
textureWidth = 128;
textureHeight = 128;
MAIN_MODULE = new ModelRenderer(this, 0, 0);
MAIN_MODULE.addBox(0F, 0F, 0F, 8, 70, 8);
MAIN_MODULE.setRotationPoint(-4F, -63F, -4F);
MAIN_MODULE.setTextureSize(128, 128);
MAIN_MODULE.mirror = true;
setRotation(MAIN_MODULE, 0F, 0F, 0F);
MOTOR_MODULE_1 = new ModelRenderer(this, 0, 79);
MOTOR_MODULE_1.addBox(0F, 0F, 0F, 6, 20, 6);
MOTOR_MODULE_1.setRotationPoint(-8F, 0F, -8F);
MOTOR_MODULE_1.setTextureSize(128, 128);
MOTOR_MODULE_1.mirror = true;
setRotation(MOTOR_MODULE_1, 0F, 0F, 0F);
MOTOR_MODULE_2 = new ModelRenderer(this, 0, 79);
MOTOR_MODULE_2.addBox(0F, 0F, 0F, 6, 20, 6);
MOTOR_MODULE_2.setRotationPoint(-8F, 0F, 2F);
MOTOR_MODULE_2.setTextureSize(128, 128);
MOTOR_MODULE_2.mirror = true;
setRotation(MOTOR_MODULE_2, 0F, 0F, 0F);
MOTOR_MODULE_3 = new ModelRenderer(this, 0, 79);
MOTOR_MODULE_3.addBox(0F, 0F, 0F, 6, 20, 6);
MOTOR_MODULE_3.setRotationPoint(2F, 0F, -8F);
MOTOR_MODULE_3.setTextureSize(128, 128);
MOTOR_MODULE_3.mirror = true;
setRotation(MOTOR_MODULE_3, 0F, 0F, 0F);
MOTOR_MODULE_4 = new ModelRenderer(this, 0, 79);
MOTOR_MODULE_4.addBox(0F, 0F, 0F, 6, 20, 6);
MOTOR_MODULE_4.setRotationPoint(2F, 0F, 2F);
MOTOR_MODULE_4.setTextureSize(128, 128);
MOTOR_MODULE_4.mirror = true;
setRotation(MOTOR_MODULE_4, 0F, 0F, 0F);
C1 = new ModelRenderer(this, 0, 106);
C1.addBox(0F, 0F, 0F, 2, 1, 2);
C1.setRotationPoint(-6F, 20F, -6F);
C1.setTextureSize(128, 128);
C1.mirror = true;
setRotation(C1, 0F, 0F, 0F);
C2 = new ModelRenderer(this, 0, 106);
C2.addBox(0F, 0F, 0F, 2, 1, 2);
C2.setRotationPoint(-6F, 20F, 4F);
C2.setTextureSize(128, 128);
C2.mirror = true;
setRotation(C2, 0F, 0F, 0F);
C3 = new ModelRenderer(this, 0, 106);
C3.addBox(0F, 0F, 0F, 2, 1, 2);
C3.setRotationPoint(4F, 20F, -6F);
C3.setTextureSize(128, 128);
C3.mirror = true;
setRotation(C3, 0F, 0F, 0F);
C4 = new ModelRenderer(this, 0, 106);
C4.addBox(0F, 0F, 0F, 2, 1, 2);
C4.setRotationPoint(4F, 20F, 4F);
C4.setTextureSize(128, 128);
C4.mirror = true;
setRotation(C4, 0F, 0F, 0F);
T1 = new ModelRenderer(this, 0, 111);
T1.addBox(0F, 0F, 0F, 4, 3, 4);
T1.setRotationPoint(-7F, 21F, -7F);
T1.setTextureSize(128, 128);
T1.mirror = true;
setRotation(T1, 0F, 0F, 0F);
T2 = new ModelRenderer(this, 0, 111);
T2.addBox(0F, 0F, 0F, 4, 3, 4);
T2.setRotationPoint(-7F, 21F, 3F);
T2.setTextureSize(128, 128);
T2.mirror = true;
setRotation(T2, 0F, 0F, 0F);
T3 = new ModelRenderer(this, 0, 111);
T3.addBox(0F, 0F, 0F, 4, 3, 4);
T3.setRotationPoint(3F, 21F, -7F);
T3.setTextureSize(128, 128);
T3.mirror = true;
setRotation(T3, 0F, 0F, 0F);
T4 = new ModelRenderer(this, 0, 111);
T4.addBox(0F, 0F, 0F, 4, 3, 4);
T4.setRotationPoint(3F, 21F, 3F);
T4.setTextureSize(128, 128);
T4.mirror = true;
setRotation(T4, 0F, 0F, 0F);
WING_1A = new ModelRenderer(this, 43, 15);
WING_1A.addBox(-1F, 0F, 0F, 2, 12, 12);
WING_1A.setRotationPoint(0F, -10F, 0F);
WING_1A.setTextureSize(128, 128);
WING_1A.mirror = true;
setRotation(WING_1A, -0.7853982F, 0F, 0F);
WING_2A = new ModelRenderer(this, 43, 0);
WING_2A.addBox(0F, 0F, -1F, 12, 12, 2);
WING_2A.setRotationPoint(0F, -10F, 0F);
WING_2A.setTextureSize(128, 128);
WING_2A.mirror = true;
setRotation(WING_2A, 0F, 0F, 0.7853982F);
WING_1B = new ModelRenderer(this, 72, 28);
WING_1B.addBox(-1F, 0F, -8F, 2, 25, 16);
WING_1B.setRotationPoint(0F, -2F, 0F);
WING_1B.setTextureSize(128, 128);
WING_1B.mirror = true;
setRotation(WING_1B, 0F, 0F, 0F);
WING_2B = new ModelRenderer(this, 72, 0);
WING_2B.addBox(-8F, 0F, -1F, 16, 25, 2);
WING_2B.setRotationPoint(0F, -2F, 0F);
WING_2B.setTextureSize(128, 128);
WING_2B.mirror = true;
setRotation(WING_2B, 0F, 0F, 0F);
WING_3A = new ModelRenderer(this, 34, 55);
WING_3A.addBox(-1F, 0F, -8F, 2, 10, 16);
WING_3A.setRotationPoint(0F, -41F, 0F);
WING_3A.setTextureSize(128, 128);
WING_3A.mirror = true;
setRotation(WING_3A, 0F, 0F, 0F);
WING_3B = new ModelRenderer(this, 34, 82);
WING_3B.addBox(-1F, -6F, -6F, 2, 12, 12);
WING_3B.setRotationPoint(0F, -41F, 0F);
WING_3B.setTextureSize(128, 128);
WING_3B.mirror = true;
setRotation(WING_3B, 0.7853982F, 0F, 0F);
WING_4B = new ModelRenderer(this, 34, 41);
WING_4B.addBox(-8F, 0F, -1F, 16, 10, 2);
WING_4B.setRotationPoint(0F, -41F, 0F);
WING_4B.setTextureSize(128, 128);
WING_4B.mirror = true;
setRotation(WING_4B, 0F, 0F, 0F);
WING_4A = new ModelRenderer(this, 34, 107);
WING_4A.addBox(-6F, -6F, -1F, 12, 12, 2);
WING_4A.setRotationPoint(0F, -41F, 0F);
WING_4A.setTextureSize(128, 128);
WING_4A.mirror = true;
setRotation(WING_4A, 0F, 0F, -0.7853982F);
TOP = new ModelRenderer(this, 72, 70);
TOP.addBox(0F, 0F, 0F, 10, 10, 10);
TOP.setRotationPoint(-5F, -64F, -5F);
TOP.setTextureSize(128, 128);
TOP.mirror = true;
setRotation(TOP, 0F, 0F, 0F);
Shape1 = new ModelRenderer(this, 98, 92);
Shape1.addBox(0F, 0F, 0F, 2, 15, 2);
Shape1.setRotationPoint(-1F, -79F, -1F);
Shape1.setTextureSize(128, 128);
Shape1.mirror = true;
setRotation(Shape1, 0F, 0F, 0F);
Shape1a = new ModelRenderer(this, 65, 92);
Shape1a.addBox(0F, 0F, 0F, 1, 14, 6);
Shape1a.setRotationPoint(2F, -77F, -3F);
Shape1a.setTextureSize(128, 128);
Shape1a.mirror = true;
setRotation(Shape1a, 0F, 0F, -0.1396263F);
Shape2b = new ModelRenderer(this, 81, 92);
Shape2b.addBox(0F, 0F, 0F, 6, 14, 1);
Shape2b.setRotationPoint(-3F, -77F, 2F);
Shape2b.setTextureSize(128, 128);
Shape2b.mirror = true;
setRotation(Shape2b, 0.1396263F, 0F, 0F);
Shape1c = new ModelRenderer(this, 65, 92);
Shape1c.addBox(0F, 0F, 0F, 1, 14, 6);
Shape1c.setRotationPoint(-3F, -77F, -3F);
Shape1c.setTextureSize(128, 128);
Shape1c.mirror = true;
setRotation(Shape1c, 0F, 0F, 0.1396263F);
Shape1d = new ModelRenderer(this, 81, 92);
Shape1d.addBox(0F, 0F, 0F, 6, 14, 1);
Shape1d.setRotationPoint(-3F, -77F, -3F);
Shape1d.setTextureSize(128, 128);
Shape1d.mirror = true;
setRotation(Shape1d, -0.1396263F, 0F, 0F);
}
@Override
public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5)
{
super.render(entity, f, f1, f2, f3, f4, f5);
this.setRotationAngles(f, f1, f2, f3, f4, f5, entity);
this.render(f5);
}
@Override
public void render(float f5)
{
MAIN_MODULE.render(f5);
MOTOR_MODULE_1.render(f5);
MOTOR_MODULE_2.render(f5);
MOTOR_MODULE_3.render(f5);
MOTOR_MODULE_4.render(f5);
C1.render(f5);
C2.render(f5);
C3.render(f5);
C4.render(f5);
T1.render(f5);
T2.render(f5);
T3.render(f5);
T4.render(f5);
WING_1A.render(f5);
WING_2A.render(f5);
WING_1B.render(f5);
WING_2B.render(f5);
WING_3A.render(f5);
WING_3B.render(f5);
WING_4B.render(f5);
WING_4A.render(f5);
TOP.render(f5);
Shape1.render(f5);
Shape1a.render(f5);
Shape2b.render(f5);
Shape1c.render(f5);
Shape1d.render(f5);
}
private void setRotation(ModelRenderer model, float x, float y, float z)
{
model.rotateAngleX = x;
model.rotateAngleY = y;
model.rotateAngleZ = z;
}
}
@@ -0,0 +1,288 @@
package defense.client.model.missile;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.entity.Entity;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@SideOnly(Side.CLIENT)
public class ModelFragmentationMissile extends ModelMissileBase
{
// fields
ModelRenderer Shape1;
ModelRenderer Shape2;
ModelRenderer Shape2a;
ModelRenderer Shape2b;
ModelRenderer Shape2c;
ModelRenderer Shape3;
ModelRenderer Shape3a;
ModelRenderer Shape3b;
ModelRenderer Shape3c;
ModelRenderer Shape4;
ModelRenderer Shape4a;
ModelRenderer Shape4b;
ModelRenderer Shape4c;
ModelRenderer Shape5;
ModelRenderer Shape5a;
ModelRenderer Shape4d;
ModelRenderer Shape4e;
ModelRenderer Shape4f;
ModelRenderer Shape4g;
ModelRenderer Shape6;
ModelRenderer Shape6a;
ModelRenderer Shape7;
ModelRenderer Shape7a;
ModelRenderer Shape7b;
ModelRenderer Shape7c;
ModelRenderer Shape7d;
ModelRenderer Shape7e;
ModelRenderer Shape7f;
ModelRenderer Shape7g;
ModelRenderer Shape7h;
ModelRenderer Shape7i;
public ModelFragmentationMissile()
{
textureWidth = 128;
textureHeight = 128;
Shape1 = new ModelRenderer(this, 0, 0);
Shape1.addBox(-4F, 0F, -4F, 8, 64, 8);
Shape1.setRotationPoint(0F, -40F, 0F);
Shape1.setTextureSize(128, 128);
Shape1.mirror = true;
setRotation(Shape1, 0F, 0F, 0F);
Shape2 = new ModelRenderer(this, 34, 19);
Shape2.addBox(0F, 0F, 0F, 14, 10, 1);
Shape2.setRotationPoint(-7F, 14F, 6F);
Shape2.setTextureSize(128, 128);
Shape2.mirror = true;
setRotation(Shape2, 0F, 0F, 0F);
Shape2a = new ModelRenderer(this, 34, 19);
Shape2a.addBox(0F, 0F, 0F, 14, 10, 1);
Shape2a.setRotationPoint(-7F, 14F, -7F);
Shape2a.setTextureSize(128, 128);
Shape2a.mirror = true;
setRotation(Shape2a, 0F, 0F, 0F);
Shape2b = new ModelRenderer(this, 34, 31);
Shape2b.addBox(0F, 0F, 0F, 1, 10, 12);
Shape2b.setRotationPoint(-7F, 14F, -6F);
Shape2b.setTextureSize(128, 128);
Shape2b.mirror = true;
setRotation(Shape2b, 0F, 0F, 0F);
Shape2c = new ModelRenderer(this, 34, 31);
Shape2c.addBox(0F, 0F, 0F, 1, 10, 12);
Shape2c.setRotationPoint(6F, 14F, -6F);
Shape2c.setTextureSize(128, 128);
Shape2c.mirror = true;
setRotation(Shape2c, 0F, 0F, 0F);
Shape3 = new ModelRenderer(this, 72, 0);
Shape3.addBox(-11F, 0F, -1F, 22, 12, 2);
Shape3.setRotationPoint(0F, 12F, 0F);
Shape3.setTextureSize(128, 128);
Shape3.mirror = true;
setRotation(Shape3, 0F, 0.7853982F, 0F);
Shape3a = new ModelRenderer(this, 72, 0);
Shape3a.addBox(-11F, 0F, -1F, 22, 12, 2);
Shape3a.setRotationPoint(0F, 12F, 0F);
Shape3a.setTextureSize(128, 128);
Shape3a.mirror = true;
setRotation(Shape3a, 0F, -0.7853982F, 0F);
Shape3b = new ModelRenderer(this, 34, 0);
Shape3b.addBox(-8F, -8F, -1F, 16, 16, 2);
Shape3b.setRotationPoint(0F, 12F, 0F);
Shape3b.setTextureSize(128, 128);
Shape3b.mirror = true;
setRotation(Shape3b, 0F, 0.7853982F, 0.7853982F);
Shape3c = new ModelRenderer(this, 34, 0);
Shape3c.addBox(-8F, -8F, -1F, 16, 16, 2);
Shape3c.setRotationPoint(0F, 12F, 0F);
Shape3c.setTextureSize(128, 128);
Shape3c.mirror = true;
setRotation(Shape3c, 0F, -0.7853982F, 0.7853982F);
Shape4 = new ModelRenderer(this, 22, 74);
Shape4.addBox(0F, 0F, 0F, 2, 7, 5);
Shape4.setRotationPoint(-1F, -23F, 4F);
Shape4.setTextureSize(128, 128);
Shape4.mirror = true;
setRotation(Shape4, -0.5235988F, 0F, 0F);
Shape4a = new ModelRenderer(this, 0, 103);
Shape4a.addBox(0F, 0F, 0F, 5, 8, 2);
Shape4a.setRotationPoint(4F, -23F, -1F);
Shape4a.setTextureSize(128, 128);
Shape4a.mirror = true;
setRotation(Shape4a, 0F, 0F, 0.5235988F);
Shape4b = new ModelRenderer(this, 0, 81);
Shape4b.addBox(-1F, 0F, 0F, 2, 4, 5);
Shape4b.setRotationPoint(0F, -35F, -4F);
Shape4b.setTextureSize(128, 128);
Shape4b.mirror = true;
setRotation(Shape4b, -0.5235988F, 3.141593F, 0F);
Shape4c = new ModelRenderer(this, 0, 103);
Shape4c.addBox(0F, 0F, -1F, 5, 8, 2);
Shape4c.setRotationPoint(-4F, -23F, 0F);
Shape4c.setTextureSize(128, 128);
Shape4c.mirror = true;
setRotation(Shape4c, 0F, 3.141593F, 0.5235988F);
Shape5 = new ModelRenderer(this, 0, 74);
Shape5.addBox(-1F, 0F, -8F, 2, 12, 16);
Shape5.setRotationPoint(0F, -32F, 0F);
Shape5.setTextureSize(128, 128);
Shape5.mirror = true;
setRotation(Shape5, 0F, 0F, 0F);
Shape5a = new ModelRenderer(this, 0, 74);
Shape5a.addBox(-1F, 0F, -8F, 2, 12, 16);
Shape5a.setRotationPoint(0F, -32F, 0F);
Shape5a.setTextureSize(128, 128);
Shape5a.mirror = true;
setRotation(Shape5a, 0F, 1.570796F, 0F);
Shape4d = new ModelRenderer(this, 22, 74);
Shape4d.addBox(-1F, 0F, 0F, 2, 8, 5);
Shape4d.setRotationPoint(0F, -23F, -4F);
Shape4d.setTextureSize(128, 128);
Shape4d.mirror = true;
setRotation(Shape4d, -0.5235988F, 3.141593F, 0F);
Shape4e = new ModelRenderer(this, 0, 81);
Shape4e.addBox(-1F, 0F, 0F, 2, 4, 5);
Shape4e.setRotationPoint(0F, -35F, 4F);
Shape4e.setTextureSize(128, 128);
Shape4e.mirror = true;
setRotation(Shape4e, -0.5235988F, 0F, 0F);
Shape4f = new ModelRenderer(this, 0, 74);
Shape4f.addBox(0F, 0F, -1F, 5, 4, 2);
Shape4f.setRotationPoint(-4F, -35F, 0F);
Shape4f.setTextureSize(128, 128);
Shape4f.mirror = true;
setRotation(Shape4f, 0F, 3.141593F, 0.5235988F);
Shape4g = new ModelRenderer(this, 0, 74);
Shape4g.addBox(0F, 0F, 0F, 5, 4, 2);
Shape4g.setRotationPoint(4F, -35F, -1F);
Shape4g.setTextureSize(128, 128);
Shape4g.mirror = true;
setRotation(Shape4g, 0F, 0F, 0.5235988F);
Shape6 = new ModelRenderer(this, 72, 16);
Shape6.addBox(0F, 0F, 0F, 10, 1, 10);
Shape6.setRotationPoint(-5F, -37F, -5F);
Shape6.setTextureSize(128, 128);
Shape6.mirror = true;
setRotation(Shape6, 0F, 0F, 0F);
Shape6a = new ModelRenderer(this, 72, 16);
Shape6a.addBox(0F, 0F, 0F, 10, 1, 10);
Shape6a.setRotationPoint(-5F, -41F, -5F);
Shape6a.setTextureSize(128, 128);
Shape6a.mirror = true;
setRotation(Shape6a, 0F, 0F, 0F);
Shape7 = new ModelRenderer(this, 80, 111);
Shape7.addBox(0F, 0F, 0F, 12, 4, 12);
Shape7.setRotationPoint(-6F, -45F, -6F);
Shape7.setTextureSize(128, 128);
Shape7.mirror = true;
setRotation(Shape7, 0F, 0F, 0F);
Shape7a = new ModelRenderer(this, 88, 95);
Shape7a.addBox(0F, 0F, 0F, 10, 4, 10);
Shape7a.setRotationPoint(-5F, -49F, -5F);
Shape7a.setTextureSize(128, 128);
Shape7a.mirror = true;
setRotation(Shape7a, 0F, 0F, 0F);
Shape7b = new ModelRenderer(this, 48, 109);
Shape7b.addBox(0F, 0F, 0F, 1, 4, 14);
Shape7b.setRotationPoint(-4F, -45F, -7F);
Shape7b.setTextureSize(128, 128);
Shape7b.mirror = true;
setRotation(Shape7b, 0F, 0F, 0F);
Shape7c = new ModelRenderer(this, 48, 109);
Shape7c.addBox(0F, 0F, 0F, 1, 4, 14);
Shape7c.setRotationPoint(3F, -45F, -7F);
Shape7c.setTextureSize(128, 128);
Shape7c.mirror = true;
setRotation(Shape7c, 0F, 0F, 0F);
Shape7d = new ModelRenderer(this, 48, 109);
Shape7d.addBox(0F, 0F, 0F, 1, 4, 14);
Shape7d.setRotationPoint(-7F, -45F, -3F);
Shape7d.setTextureSize(128, 128);
Shape7d.mirror = true;
setRotation(Shape7d, 0F, 1.570796F, 0F);
Shape7e = new ModelRenderer(this, 48, 109);
Shape7e.addBox(0F, 0F, 0F, 1, 4, 14);
Shape7e.setRotationPoint(-7F, -45F, 4F);
Shape7e.setTextureSize(128, 128);
Shape7e.mirror = true;
setRotation(Shape7e, 0F, 1.570796F, 0F);
Shape7f = new ModelRenderer(this, 52, 91);
Shape7f.addBox(0F, 0F, 0F, 1, 5, 12);
Shape7f.setRotationPoint(-6F, -50F, -1F);
Shape7f.setTextureSize(128, 128);
Shape7f.mirror = true;
setRotation(Shape7f, 0F, 1.570796F, 0F);
Shape7g = new ModelRenderer(this, 52, 91);
Shape7g.addBox(0F, 0F, 0F, 1, 5, 12);
Shape7g.setRotationPoint(-6F, -50F, 2F);
Shape7g.setTextureSize(128, 128);
Shape7g.mirror = true;
setRotation(Shape7g, 0F, 1.570796F, 0F);
Shape7h = new ModelRenderer(this, 52, 91);
Shape7h.addBox(0F, 0F, 0F, 1, 5, 12);
Shape7h.setRotationPoint(1F, -50F, -6F);
Shape7h.setTextureSize(128, 128);
Shape7h.mirror = true;
setRotation(Shape7h, 0F, 0F, 0F);
Shape7i = new ModelRenderer(this, 52, 91);
Shape7i.addBox(0F, 0F, 0F, 1, 5, 12);
Shape7i.setRotationPoint(-2F, -50F, -6F);
Shape7i.setTextureSize(128, 128);
Shape7i.mirror = true;
setRotation(Shape7i, 0F, 0F, 0F);
}
@Override
public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5)
{
super.render(entity, f, f1, f2, f3, f4, f5);
this.setRotationAngles(f, f1, f2, f3, f4, f5, entity);
this.render(f5);
}
@Override
public void render(float f5)
{
Shape1.render(f5);
Shape2.render(f5);
Shape2a.render(f5);
Shape2b.render(f5);
Shape2c.render(f5);
Shape3.render(f5);
Shape3a.render(f5);
Shape3b.render(f5);
Shape3c.render(f5);
Shape4.render(f5);
Shape4a.render(f5);
Shape4b.render(f5);
Shape4c.render(f5);
Shape5.render(f5);
Shape5a.render(f5);
Shape4d.render(f5);
Shape4e.render(f5);
Shape4f.render(f5);
Shape4g.render(f5);
Shape6.render(f5);
Shape6a.render(f5);
Shape7.render(f5);
Shape7a.render(f5);
Shape7b.render(f5);
Shape7c.render(f5);
Shape7d.render(f5);
Shape7e.render(f5);
Shape7f.render(f5);
Shape7g.render(f5);
Shape7h.render(f5);
Shape7i.render(f5);
}
private void setRotation(ModelRenderer model, float x, float y, float z)
{
model.rotateAngleX = x;
model.rotateAngleY = y;
model.rotateAngleZ = z;
}
}
@@ -0,0 +1,373 @@
package defense.client.model.missile;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.entity.Entity;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import defense.client.tmt.ModelRendererTurbo;
@SideOnly(Side.CLIENT)
public class ModelHomingMissile extends ModelMissileBase
{
// fields
ModelRendererTurbo[] bodyModel;
public ModelHomingMissile()
{
int textureX = 32;
int textureY = 128;
bodyModel = new ModelRendererTurbo[64];
bodyModel[0] = new ModelRendererTurbo(this, 0, 0, textureX, textureY); // Box 0
bodyModel[1] = new ModelRendererTurbo(this, 0, 0, textureX, textureY); // Box 1
bodyModel[2] = new ModelRendererTurbo(this, 0, 0, textureX, textureY); // Box 2
bodyModel[3] = new ModelRendererTurbo(this, 0, 30, textureX, textureY); // Box 4
bodyModel[4] = new ModelRendererTurbo(this, 0, 30, textureX, textureY); // Box 5
bodyModel[5] = new ModelRendererTurbo(this, 0, 30, textureX, textureY); // Box 6
bodyModel[6] = new ModelRendererTurbo(this, 0, 39, textureX, textureY); // Box 7
bodyModel[7] = new ModelRendererTurbo(this, 0, 62, textureX, textureY); // Box 8
bodyModel[8] = new ModelRendererTurbo(this, 0, 80, textureX, textureY); // Box 9
bodyModel[9] = new ModelRendererTurbo(this, 0, 83, textureX, textureY); // Box 10
bodyModel[10] = new ModelRendererTurbo(this, 0, 80, textureX, textureY); // Box 11
bodyModel[11] = new ModelRendererTurbo(this, 0, 80, textureX, textureY); // Box 12
bodyModel[12] = new ModelRendererTurbo(this, 0, 83, textureX, textureY); // Box 13
bodyModel[13] = new ModelRendererTurbo(this, 0, 80, textureX, textureY); // Box 14
bodyModel[14] = new ModelRendererTurbo(this, 0, 80, textureX, textureY); // Box 15
bodyModel[15] = new ModelRendererTurbo(this, 0, 83, textureX, textureY); // Box 16
bodyModel[16] = new ModelRendererTurbo(this, 0, 80, textureX, textureY); // Box 17
bodyModel[17] = new ModelRendererTurbo(this, 0, 80, textureX, textureY); // Box 18
bodyModel[18] = new ModelRendererTurbo(this, 0, 83, textureX, textureY); // Box 19
bodyModel[19] = new ModelRendererTurbo(this, 0, 80, textureX, textureY); // Box 20
bodyModel[20] = new ModelRendererTurbo(this, 0, 83, textureX, textureY); // Box 21
bodyModel[21] = new ModelRendererTurbo(this, 0, 80, textureX, textureY); // Box 22
bodyModel[22] = new ModelRendererTurbo(this, 0, 80, textureX, textureY); // Box 23
bodyModel[23] = new ModelRendererTurbo(this, 0, 80, textureX, textureY); // Box 24
bodyModel[24] = new ModelRendererTurbo(this, 0, 83, textureX, textureY); // Box 25
bodyModel[25] = new ModelRendererTurbo(this, 0, 80, textureX, textureY); // Box 26
bodyModel[26] = new ModelRendererTurbo(this, 0, 62, textureX, textureY); // Box 27
bodyModel[27] = new ModelRendererTurbo(this, 0, 39, textureX, textureY); // Box 28
bodyModel[28] = new ModelRendererTurbo(this, 0, 80, textureX, textureY); // Box 29
bodyModel[29] = new ModelRendererTurbo(this, 0, 83, textureX, textureY); // Box 30
bodyModel[30] = new ModelRendererTurbo(this, 0, 80, textureX, textureY); // Box 31
bodyModel[31] = new ModelRendererTurbo(this, 0, 83, textureX, textureY); // Box 32
bodyModel[32] = new ModelRendererTurbo(this, 0, 80, textureX, textureY); // Box 33
bodyModel[33] = new ModelRendererTurbo(this, 0, 80, textureX, textureY); // Box 34
bodyModel[34] = new ModelRendererTurbo(this, 0, 80, textureX, textureY); // Box 35
bodyModel[35] = new ModelRendererTurbo(this, 0, 83, textureX, textureY); // Box 36
bodyModel[36] = new ModelRendererTurbo(this, 0, 80, textureX, textureY); // Box 37
bodyModel[37] = new ModelRendererTurbo(this, 0, 62, textureX, textureY); // Box 38
bodyModel[38] = new ModelRendererTurbo(this, 0, 39, textureX, textureY); // Box 39
bodyModel[39] = new ModelRendererTurbo(this, 0, 80, textureX, textureY); // Box 40
bodyModel[40] = new ModelRendererTurbo(this, 0, 83, textureX, textureY); // Box 41
bodyModel[41] = new ModelRendererTurbo(this, 0, 80, textureX, textureY); // Box 42
bodyModel[42] = new ModelRendererTurbo(this, 0, 83, textureX, textureY); // Box 43
bodyModel[43] = new ModelRendererTurbo(this, 0, 80, textureX, textureY); // Box 44
bodyModel[44] = new ModelRendererTurbo(this, 0, 80, textureX, textureY); // Box 45
bodyModel[45] = new ModelRendererTurbo(this, 0, 80, textureX, textureY); // Box 46
bodyModel[46] = new ModelRendererTurbo(this, 0, 83, textureX, textureY); // Box 47
bodyModel[47] = new ModelRendererTurbo(this, 0, 80, textureX, textureY); // Box 48
bodyModel[48] = new ModelRendererTurbo(this, 0, 62, textureX, textureY); // Box 49
bodyModel[49] = new ModelRendererTurbo(this, 0, 39, textureX, textureY); // Box 50
bodyModel[50] = new ModelRendererTurbo(this, 0, 87, textureX, textureY); // Box 51
bodyModel[51] = new ModelRendererTurbo(this, 0, 87, textureX, textureY); // Box 52
bodyModel[52] = new ModelRendererTurbo(this, 0, 87, textureX, textureY); // Box 53
bodyModel[53] = new ModelRendererTurbo(this, 0, 117, textureX, textureY); // Box 54
bodyModel[54] = new ModelRendererTurbo(this, 0, 117, textureX, textureY); // Box 55
bodyModel[55] = new ModelRendererTurbo(this, 0, 117, textureX, textureY); // Box 56
bodyModel[56] = new ModelRendererTurbo(this, 10, 87, textureX, textureY); // Box 57
bodyModel[57] = new ModelRendererTurbo(this, 10, 95, textureX, textureY); // Box 58
bodyModel[58] = new ModelRendererTurbo(this, 10, 95, textureX, textureY); // Box 59
bodyModel[59] = new ModelRendererTurbo(this, 10, 87, textureX, textureY); // Box 60
bodyModel[60] = new ModelRendererTurbo(this, 10, 95, textureX, textureY); // Box 61
bodyModel[61] = new ModelRendererTurbo(this, 10, 87, textureX, textureY); // Box 62
bodyModel[62] = new ModelRendererTurbo(this, 10, 95, textureX, textureY); // Box 63
bodyModel[63] = new ModelRendererTurbo(this, 10, 87, textureX, textureY); // Box 64
bodyModel[0].addBox(-3F, -1F, -1F, 6, 23, 2, 0F); // Box 0
bodyModel[0].setRotationPoint(0F, 2F, 0F);
bodyModel[0].rotateAngleY = 3.92699082F;
bodyModel[1].addShapeBox(-3F, -1F, -3F, 6, 23, 2, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 1
bodyModel[1].setRotationPoint(0F, 2F, 0F);
bodyModel[1].rotateAngleY = 3.92699082F;
bodyModel[2].addShapeBox(-3F, -1F, 1F, 6, 23, 2, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F); // Box 2
bodyModel[2].setRotationPoint(0F, 2F, 0F);
bodyModel[2].rotateAngleY = 3.92699082F;
bodyModel[3].addShapeBox(-3F, -7F, -1F, 6, 6, 2, 0F, -1.5F, 0F, -0.5F, -1.5F, 0F, -0.5F, -1.5F, 0F, -0.5F, -1.5F, 0F, -0.5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 4
bodyModel[3].setRotationPoint(0F, 2F, 0F);
bodyModel[3].rotateAngleY = 3.92699082F;
bodyModel[4].addShapeBox(-3F, -7F, -3F, 6, 6, 2, 0F, -2.5F, 0F, -1.5F, -2.5F, 0F, -1.5F, -1.5F, 0F, 0.5F, -1.5F, 0F, 0.5F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 5
bodyModel[4].setRotationPoint(0F, 2F, 0F);
bodyModel[4].rotateAngleY = 3.92699082F;
bodyModel[5].addShapeBox(-3F, -7F, 1F, 6, 6, 2, 0F, -1.5F, 0F, 0.5F, -1.5F, 0F, 0.5F, -2.5F, 0F, -1.5F, -2.5F, 0F, -1.5F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F); // Box 6
bodyModel[5].setRotationPoint(0F, 2F, 0F);
bodyModel[5].rotateAngleY = 3.92699082F;
bodyModel[6].addShapeBox(-0.5F, 0F, 2.5F, 1, 21, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 7
bodyModel[6].setRotationPoint(0F, 2F, 0F);
bodyModel[6].rotateAngleY = 3.92699082F;
bodyModel[7].addShapeBox(-0.5F, 8F, 3.5F, 1, 13, 4, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -10F, 0F, 0F, -10F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 8
bodyModel[7].setRotationPoint(0F, 2F, 0F);
bodyModel[7].rotateAngleY = 3.92699082F;
bodyModel[8].addShapeBox(0.5F, 11F, 2.5F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 9
bodyModel[8].setRotationPoint(0F, 2F, 0F);
bodyModel[8].rotateAngleY = 3.92699082F;
bodyModel[9].addShapeBox(1.5F, 11F, 1.5F, 2, 1, 2, 0F, 0F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, 0F); // Box 10
bodyModel[9].setRotationPoint(0F, 2F, 0F);
bodyModel[9].rotateAngleY = 3.92699082F;
bodyModel[10].addShapeBox(2.5F, 11F, 0.5F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 11
bodyModel[10].setRotationPoint(0F, 2F, 0F);
bodyModel[10].rotateAngleY = 3.92699082F;
bodyModel[11].addShapeBox(0.5F, 16F, 2.5F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 12
bodyModel[11].setRotationPoint(0F, 2F, 0F);
bodyModel[11].rotateAngleY = 3.92699082F;
bodyModel[12].addShapeBox(1.5F, 16F, 1.5F, 2, 1, 2, 0F, 0F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, 0F); // Box 13
bodyModel[12].setRotationPoint(0F, 2F, 0F);
bodyModel[12].rotateAngleY = 3.92699082F;
bodyModel[13].addShapeBox(2.5F, 16F, 0.5F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 14
bodyModel[13].setRotationPoint(0F, 2F, 0F);
bodyModel[13].rotateAngleY = 3.92699082F;
bodyModel[14].addShapeBox(0.5F, 19F, 2.5F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 15
bodyModel[14].setRotationPoint(0F, 2F, 0F);
bodyModel[14].rotateAngleY = 3.92699082F;
bodyModel[15].addShapeBox(1.5F, 19F, 1.5F, 2, 1, 2, 0F, 0F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, 0F); // Box 16
bodyModel[15].setRotationPoint(0F, 2F, 0F);
bodyModel[15].rotateAngleY = 3.92699082F;
bodyModel[16].addShapeBox(2.5F, 19F, 0.5F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 17
bodyModel[16].setRotationPoint(0F, 2F, 0F);
bodyModel[16].rotateAngleY = 3.92699082F;
bodyModel[17].addShapeBox(0.5F, 19F, 2.5F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 18
bodyModel[17].setRotationPoint(0F, 2F, 0F);
bodyModel[17].rotateAngleY = 2.35619449F;
bodyModel[18].addShapeBox(1.5F, 19F, 1.5F, 2, 1, 2, 0F, 0F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, 0F); // Box 19
bodyModel[18].setRotationPoint(0F, 2F, 0F);
bodyModel[18].rotateAngleY = 2.35619449F;
bodyModel[19].addShapeBox(2.5F, 19F, 0.5F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 20
bodyModel[19].setRotationPoint(0F, 2F, 0F);
bodyModel[19].rotateAngleY = 2.35619449F;
bodyModel[20].addShapeBox(1.5F, 11F, 1.5F, 2, 1, 2, 0F, 0F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, 0F); // Box 21
bodyModel[20].setRotationPoint(0F, 2F, 0F);
bodyModel[20].rotateAngleY = 2.35619449F;
bodyModel[21].addShapeBox(2.5F, 11F, 0.5F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 22
bodyModel[21].setRotationPoint(0F, 2F, 0F);
bodyModel[21].rotateAngleY = 2.35619449F;
bodyModel[22].addShapeBox(0.5F, 11F, 2.5F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 23
bodyModel[22].setRotationPoint(0F, 2F, 0F);
bodyModel[22].rotateAngleY = 2.35619449F;
bodyModel[23].addShapeBox(0.5F, 16F, 2.5F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 24
bodyModel[23].setRotationPoint(0F, 2F, 0F);
bodyModel[23].rotateAngleY = 2.35619449F;
bodyModel[24].addShapeBox(1.5F, 16F, 1.5F, 2, 1, 2, 0F, 0F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, 0F); // Box 25
bodyModel[24].setRotationPoint(0F, 2F, 0F);
bodyModel[24].rotateAngleY = 2.35619449F;
bodyModel[25].addShapeBox(2.5F, 16F, 0.5F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 26
bodyModel[25].setRotationPoint(0F, 2F, 0F);
bodyModel[25].rotateAngleY = 2.35619449F;
bodyModel[26].addShapeBox(-0.5F, 8F, 3.5F, 1, 13, 4, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -10F, 0F, 0F, -10F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 27
bodyModel[26].setRotationPoint(0F, 2F, 0F);
bodyModel[26].rotateAngleY = 2.35619449F;
bodyModel[27].addShapeBox(-0.5F, 0F, 2.5F, 1, 21, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 28
bodyModel[27].setRotationPoint(0F, 2F, 0F);
bodyModel[27].rotateAngleY = 2.35619449F;
bodyModel[28].addShapeBox(0.5F, 19F, 2.5F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 29
bodyModel[28].setRotationPoint(0F, 2F, 0F);
bodyModel[28].rotateAngleY = 0.78539816F;
bodyModel[29].addShapeBox(1.5F, 19F, 1.5F, 2, 1, 2, 0F, 0F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, 0F); // Box 30
bodyModel[29].setRotationPoint(0F, 2F, 0F);
bodyModel[29].rotateAngleY = 0.78539816F;
bodyModel[30].addShapeBox(2.5F, 19F, 0.5F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 31
bodyModel[30].setRotationPoint(0F, 2F, 0F);
bodyModel[30].rotateAngleY = 0.78539816F;
bodyModel[31].addShapeBox(1.5F, 11F, 1.5F, 2, 1, 2, 0F, 0F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, 0F); // Box 32
bodyModel[31].setRotationPoint(0F, 2F, 0F);
bodyModel[31].rotateAngleY = 0.78539816F;
bodyModel[32].addShapeBox(2.5F, 11F, 0.5F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 33
bodyModel[32].setRotationPoint(0F, 2F, 0F);
bodyModel[32].rotateAngleY = 0.78539816F;
bodyModel[33].addShapeBox(0.5F, 11F, 2.5F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 34
bodyModel[33].setRotationPoint(0F, 2F, 0F);
bodyModel[33].rotateAngleY = 0.78539816F;
bodyModel[34].addShapeBox(0.5F, 16F, 2.5F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 35
bodyModel[34].setRotationPoint(0F, 2F, 0F);
bodyModel[34].rotateAngleY = 0.78539816F;
bodyModel[35].addShapeBox(1.5F, 16F, 1.5F, 2, 1, 2, 0F, 0F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, 0F); // Box 36
bodyModel[35].setRotationPoint(0F, 2F, 0F);
bodyModel[35].rotateAngleY = 0.78539816F;
bodyModel[36].addShapeBox(2.5F, 16F, 0.5F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 37
bodyModel[36].setRotationPoint(0F, 2F, 0F);
bodyModel[36].rotateAngleY = 0.78539816F;
bodyModel[37].addShapeBox(-0.5F, 8F, 3.5F, 1, 13, 4, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -10F, 0F, 0F, -10F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 38
bodyModel[37].setRotationPoint(0F, 2F, 0F);
bodyModel[37].rotateAngleY = 0.78539816F;
bodyModel[38].addShapeBox(-0.5F, 0F, 2.5F, 1, 21, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 39
bodyModel[38].setRotationPoint(0F, 2F, 0F);
bodyModel[38].rotateAngleY = 0.78539816F;
bodyModel[39].addShapeBox(0.5F, 19F, 2.5F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 40
bodyModel[39].setRotationPoint(0F, 2F, 0F);
bodyModel[39].rotateAngleY = -0.78539816F;
bodyModel[40].addShapeBox(1.5F, 19F, 1.5F, 2, 1, 2, 0F, 0F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, 0F); // Box 41
bodyModel[40].setRotationPoint(0F, 2F, 0F);
bodyModel[40].rotateAngleY = -0.78539816F;
bodyModel[41].addShapeBox(2.5F, 19F, 0.5F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 42
bodyModel[41].setRotationPoint(0F, 2F, 0F);
bodyModel[41].rotateAngleY = -0.78539816F;
bodyModel[42].addShapeBox(1.5F, 11F, 1.5F, 2, 1, 2, 0F, 0F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, 0F); // Box 43
bodyModel[42].setRotationPoint(0F, 2F, 0F);
bodyModel[42].rotateAngleY = -0.78539816F;
bodyModel[43].addShapeBox(2.5F, 11F, 0.5F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 44
bodyModel[43].setRotationPoint(0F, 2F, 0F);
bodyModel[43].rotateAngleY = -0.78539816F;
bodyModel[44].addShapeBox(0.5F, 11F, 2.5F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 45
bodyModel[44].setRotationPoint(0F, 2F, 0F);
bodyModel[44].rotateAngleY = -0.78539816F;
bodyModel[45].addShapeBox(0.5F, 16F, 2.5F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 46
bodyModel[45].setRotationPoint(0F, 2F, 0F);
bodyModel[45].rotateAngleY = -0.78539816F;
bodyModel[46].addShapeBox(1.5F, 16F, 1.5F, 2, 1, 2, 0F, 0F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, 0F); // Box 47
bodyModel[46].setRotationPoint(0F, 2F, 0F);
bodyModel[46].rotateAngleY = -0.78539816F;
bodyModel[47].addShapeBox(2.5F, 16F, 0.5F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 48
bodyModel[47].setRotationPoint(0F, 2F, 0F);
bodyModel[47].rotateAngleY = -0.78539816F;
bodyModel[48].addShapeBox(-0.5F, 8F, 3.5F, 1, 13, 4, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -10F, 0F, 0F, -10F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 49
bodyModel[48].setRotationPoint(0F, 2F, 0F);
bodyModel[48].rotateAngleY = -0.78539816F;
bodyModel[49].addShapeBox(-0.5F, 0F, 2.5F, 1, 21, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 50
bodyModel[49].setRotationPoint(0F, 2F, 0F);
bodyModel[49].rotateAngleY = -0.78539816F;
bodyModel[50].addShapeBox(-1.5F, -35F, -0.5F, 3, 28, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 51
bodyModel[50].setRotationPoint(0F, 2F, 0F);
bodyModel[50].rotateAngleY = 3.92699082F;
bodyModel[51].addShapeBox(-1.5F, -35F, -1.5F, 3, 28, 1, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 52
bodyModel[51].setRotationPoint(0F, 2F, 0F);
bodyModel[51].rotateAngleY = 3.92699082F;
bodyModel[52].addShapeBox(-1.5F, -35F, 0.5F, 3, 28, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F); // Box 53
bodyModel[52].setRotationPoint(0F, 2F, 0F);
bodyModel[52].rotateAngleY = 3.92699082F;
bodyModel[53].addShapeBox(-1.5F, -41F, -0.5F, 3, 6, 1, 0F, -1F, 0F, -0.33F, -1F, 0F, -0.33F, -1F, 0F, -0.33F, -1F, 0F, -0.33F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 54
bodyModel[53].setRotationPoint(0F, 2F, 0F);
bodyModel[53].rotateAngleY = 3.92699082F;
bodyModel[54].addShapeBox(-1.5F, -41F, -1.5F, 3, 6, 1, 0F, -1.33F, 0F, -1F, -1.33F, 0F, -1F, -1F, 0F, 0.33F, -1F, 0F, 0.33F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 55
bodyModel[54].setRotationPoint(0F, 2F, 0F);
bodyModel[54].rotateAngleY = 3.92699082F;
bodyModel[55].addShapeBox(-1.5F, -41F, 0.5F, 3, 6, 1, 0F, -1F, 0F, 0.33F, -1F, 0F, 0.33F, -1.33F, 0F, -1F, -1.33F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F); // Box 56
bodyModel[55].setRotationPoint(0F, 2F, 0F);
bodyModel[55].rotateAngleY = 3.92699082F;
bodyModel[56].addShapeBox(-0.5F, -12F, 1.5F, 1, 4, 4, 0F, -0.2F, 0F, 0F, -0.2F, 0F, 0F, -0.2F, -2F, 0F, -0.2F, -2F, 0F, -0.2F, 0F, 0F, -0.2F, 0F, 0F, -0.2F, 0F, 0F, -0.2F, 0F, 0F); // Box 57
bodyModel[56].setRotationPoint(0F, 2F, 0F);
bodyModel[56].rotateAngleY = 3.92699082F;
bodyModel[57].addShapeBox(-0.5F, -26F, 1.5F, 1, 11, 3, 0F, -0.2F, 0F, 0F, -0.2F, 0F, 0F, -0.2F, 0F, 0F, -0.2F, 0F, 0F, -0.2F, 0F, 0F, -0.2F, 0F, 0F, -0.2F, -1F, 0F, -0.2F, -1F, 0F); // Box 58
bodyModel[57].setRotationPoint(0F, 2F, 0F);
bodyModel[57].rotateAngleY = 3.92699082F;
bodyModel[58].addShapeBox(-0.5F, -26F, 1.5F, 1, 11, 3, 0F, -0.2F, 0F, 0F, -0.2F, 0F, 0F, -0.2F, 0F, 0F, -0.2F, 0F, 0F, -0.2F, 0F, 0F, -0.2F, 0F, 0F, -0.2F, -1F, 0F, -0.2F, -1F, 0F); // Box 59
bodyModel[58].setRotationPoint(0F, 2F, 0F);
bodyModel[58].rotateAngleY = 2.35619449F;
bodyModel[59].addShapeBox(-0.5F, -12F, 1.5F, 1, 4, 4, 0F, -0.2F, 0F, 0F, -0.2F, 0F, 0F, -0.2F, -2F, 0F, -0.2F, -2F, 0F, -0.2F, 0F, 0F, -0.2F, 0F, 0F, -0.2F, 0F, 0F, -0.2F, 0F, 0F); // Box 60
bodyModel[59].setRotationPoint(0F, 2F, 0F);
bodyModel[59].rotateAngleY = 2.35619449F;
bodyModel[60].addShapeBox(-0.5F, -26F, 1.5F, 1, 11, 3, 0F, -0.2F, 0F, 0F, -0.2F, 0F, 0F, -0.2F, 0F, 0F, -0.2F, 0F, 0F, -0.2F, 0F, 0F, -0.2F, 0F, 0F, -0.2F, -1F, 0F, -0.2F, -1F, 0F); // Box 61
bodyModel[60].setRotationPoint(0F, 2F, 0F);
bodyModel[60].rotateAngleY = -0.78539816F;
bodyModel[61].addShapeBox(-0.5F, -12F, 1.5F, 1, 4, 4, 0F, -0.2F, 0F, 0F, -0.2F, 0F, 0F, -0.2F, -2F, 0F, -0.2F, -2F, 0F, -0.2F, 0F, 0F, -0.2F, 0F, 0F, -0.2F, 0F, 0F, -0.2F, 0F, 0F); // Box 62
bodyModel[61].setRotationPoint(0F, 2F, 0F);
bodyModel[61].rotateAngleY = -0.78539816F;
bodyModel[62].addShapeBox(-0.5F, -26F, 1.5F, 1, 11, 3, 0F, -0.2F, 0F, 0F, -0.2F, 0F, 0F, -0.2F, 0F, 0F, -0.2F, 0F, 0F, -0.2F, 0F, 0F, -0.2F, 0F, 0F, -0.2F, -1F, 0F, -0.2F, -1F, 0F); // Box 63
bodyModel[62].setRotationPoint(0F, 2F, 0F);
bodyModel[62].rotateAngleY = 0.78539816F;
bodyModel[63].addShapeBox(-0.5F, -12F, 1.5F, 1, 4, 4, 0F, -0.2F, 0F, 0F, -0.2F, 0F, 0F, -0.2F, -2F, 0F, -0.2F, -2F, 0F, -0.2F, 0F, 0F, -0.2F, 0F, 0F, -0.2F, 0F, 0F, -0.2F, 0F, 0F); // Box 64
bodyModel[63].setRotationPoint(0F, 2F, 0F);
bodyModel[63].rotateAngleY = 0.78539816F;
}
@Override
public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5)
{
super.render(entity, f, f1, f2, f3, f4, f5);
this.setRotationAngles(f, f1, f2, f3, f4, f5, entity);
this.render(f5);
}
@Override
public void render(float f5)
{
render(bodyModel, f5);
}
private void render(ModelRendererTurbo[] models, float f)
{
for(ModelRendererTurbo model : models)
if(model != null)
model.render(f);
}
private void setRotation(ModelRenderer model, float x, float y, float z)
{
model.rotateAngleX = x;
model.rotateAngleY = y;
model.rotateAngleZ = z;
}
}
@@ -0,0 +1,300 @@
package defense.client.model.missile;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.entity.Entity;
public class ModelHypersonicMissile extends ModelMissileBase
{
// fields
ModelRenderer MAIN_MODULE;
ModelRenderer MOTOR_MODULE_1;
ModelRenderer MOTOR_MODULE_2;
ModelRenderer MOTOR_MODULE_3;
ModelRenderer MOTOR_MODULE_4;
ModelRenderer C1;
ModelRenderer C2;
ModelRenderer C3;
ModelRenderer C4;
ModelRenderer T1;
ModelRenderer T2;
ModelRenderer T3;
ModelRenderer T4;
ModelRenderer WING_1A;
ModelRenderer WING_2A;
ModelRenderer WING_1B;
ModelRenderer WING_2B;
ModelRenderer WING_3A;
ModelRenderer WING_3B;
ModelRenderer WING_4B;
ModelRenderer WING_4A;
ModelRenderer TOP;
ModelRenderer VOX_1;
ModelRenderer VOX_2;
ModelRenderer VOX3;
ModelRenderer VOX4;
ModelRenderer A;
ModelRenderer B;
ModelRenderer C;
ModelRenderer D;
ModelRenderer E;
ModelRenderer F;
ModelRenderer G;
public ModelHypersonicMissile()
{
textureWidth = 128;
textureHeight = 128;
MAIN_MODULE = new ModelRenderer(this, 0, 0);
MAIN_MODULE.addBox(0F, 0F, 0F, 8, 70, 8);
MAIN_MODULE.setRotationPoint(-4F, -63F, -4F);
MAIN_MODULE.setTextureSize(128, 128);
MAIN_MODULE.mirror = true;
setRotation(MAIN_MODULE, 0F, 0F, 0F);
MOTOR_MODULE_1 = new ModelRenderer(this, 0, 79);
MOTOR_MODULE_1.addBox(0F, 0F, 0F, 6, 20, 6);
MOTOR_MODULE_1.setRotationPoint(-8F, 0F, -8F);
MOTOR_MODULE_1.setTextureSize(128, 128);
MOTOR_MODULE_1.mirror = true;
setRotation(MOTOR_MODULE_1, 0F, 0F, 0F);
MOTOR_MODULE_2 = new ModelRenderer(this, 0, 79);
MOTOR_MODULE_2.addBox(0F, 0F, 0F, 6, 20, 6);
MOTOR_MODULE_2.setRotationPoint(-8F, 0F, 2F);
MOTOR_MODULE_2.setTextureSize(128, 128);
MOTOR_MODULE_2.mirror = true;
setRotation(MOTOR_MODULE_2, 0F, 0F, 0F);
MOTOR_MODULE_3 = new ModelRenderer(this, 0, 79);
MOTOR_MODULE_3.addBox(0F, 0F, 0F, 6, 20, 6);
MOTOR_MODULE_3.setRotationPoint(2F, 0F, -8F);
MOTOR_MODULE_3.setTextureSize(128, 128);
MOTOR_MODULE_3.mirror = true;
setRotation(MOTOR_MODULE_3, 0F, 0F, 0F);
MOTOR_MODULE_4 = new ModelRenderer(this, 0, 79);
MOTOR_MODULE_4.addBox(0F, 0F, 0F, 6, 20, 6);
MOTOR_MODULE_4.setRotationPoint(2F, 0F, 2F);
MOTOR_MODULE_4.setTextureSize(128, 128);
MOTOR_MODULE_4.mirror = true;
setRotation(MOTOR_MODULE_4, 0F, 0F, 0F);
C1 = new ModelRenderer(this, 0, 106);
C1.addBox(0F, 0F, 0F, 2, 1, 2);
C1.setRotationPoint(-6F, 20F, -6F);
C1.setTextureSize(128, 128);
C1.mirror = true;
setRotation(C1, 0F, 0F, 0F);
C2 = new ModelRenderer(this, 0, 106);
C2.addBox(0F, 0F, 0F, 2, 1, 2);
C2.setRotationPoint(-6F, 20F, 4F);
C2.setTextureSize(128, 128);
C2.mirror = true;
setRotation(C2, 0F, 0F, 0F);
C3 = new ModelRenderer(this, 0, 106);
C3.addBox(0F, 0F, 0F, 2, 1, 2);
C3.setRotationPoint(4F, 20F, -6F);
C3.setTextureSize(128, 128);
C3.mirror = true;
setRotation(C3, 0F, 0F, 0F);
C4 = new ModelRenderer(this, 0, 106);
C4.addBox(0F, 0F, 0F, 2, 1, 2);
C4.setRotationPoint(4F, 20F, 4F);
C4.setTextureSize(128, 128);
C4.mirror = true;
setRotation(C4, 0F, 0F, 0F);
T1 = new ModelRenderer(this, 0, 111);
T1.addBox(0F, 0F, 0F, 4, 3, 4);
T1.setRotationPoint(-7F, 21F, -7F);
T1.setTextureSize(128, 128);
T1.mirror = true;
setRotation(T1, 0F, 0F, 0F);
T2 = new ModelRenderer(this, 0, 111);
T2.addBox(0F, 0F, 0F, 4, 3, 4);
T2.setRotationPoint(-7F, 21F, 3F);
T2.setTextureSize(128, 128);
T2.mirror = true;
setRotation(T2, 0F, 0F, 0F);
T3 = new ModelRenderer(this, 0, 111);
T3.addBox(0F, 0F, 0F, 4, 3, 4);
T3.setRotationPoint(3F, 21F, -7F);
T3.setTextureSize(128, 128);
T3.mirror = true;
setRotation(T3, 0F, 0F, 0F);
T4 = new ModelRenderer(this, 0, 111);
T4.addBox(0F, 0F, 0F, 4, 3, 4);
T4.setRotationPoint(3F, 21F, 3F);
T4.setTextureSize(128, 128);
T4.mirror = true;
setRotation(T4, 0F, 0F, 0F);
WING_1A = new ModelRenderer(this, 43, 15);
WING_1A.addBox(-1F, 0F, 0F, 2, 12, 12);
WING_1A.setRotationPoint(0F, -10F, 0F);
WING_1A.setTextureSize(128, 128);
WING_1A.mirror = true;
setRotation(WING_1A, -0.7853982F, 0F, 0F);
WING_2A = new ModelRenderer(this, 43, 0);
WING_2A.addBox(0F, 0F, -1F, 12, 12, 2);
WING_2A.setRotationPoint(0F, -10F, 0F);
WING_2A.setTextureSize(128, 128);
WING_2A.mirror = true;
setRotation(WING_2A, 0F, 0F, 0.7853982F);
WING_1B = new ModelRenderer(this, 72, 28);
WING_1B.addBox(-1F, 0F, -8F, 2, 25, 16);
WING_1B.setRotationPoint(0F, -2F, 0F);
WING_1B.setTextureSize(128, 128);
WING_1B.mirror = true;
setRotation(WING_1B, 0F, 0F, 0F);
WING_2B = new ModelRenderer(this, 72, 0);
WING_2B.addBox(-8F, 0F, -1F, 16, 25, 2);
WING_2B.setRotationPoint(0F, -2F, 0F);
WING_2B.setTextureSize(128, 128);
WING_2B.mirror = true;
setRotation(WING_2B, 0F, 0F, 0F);
WING_3A = new ModelRenderer(this, 34, 55);
WING_3A.addBox(-1F, 0F, -8F, 2, 10, 16);
WING_3A.setRotationPoint(0F, -41F, 0F);
WING_3A.setTextureSize(128, 128);
WING_3A.mirror = true;
setRotation(WING_3A, 0F, 0F, 0F);
WING_3B = new ModelRenderer(this, 34, 82);
WING_3B.addBox(-1F, -6F, -6F, 2, 12, 12);
WING_3B.setRotationPoint(0F, -41F, 0F);
WING_3B.setTextureSize(128, 128);
WING_3B.mirror = true;
setRotation(WING_3B, 0.7853982F, 0F, 0F);
WING_4B = new ModelRenderer(this, 34, 41);
WING_4B.addBox(-8F, 0F, -1F, 16, 10, 2);
WING_4B.setRotationPoint(0F, -41F, 0F);
WING_4B.setTextureSize(128, 128);
WING_4B.mirror = true;
setRotation(WING_4B, 0F, 0F, 0F);
WING_4A = new ModelRenderer(this, 34, 107);
WING_4A.addBox(-6F, -6F, -1F, 12, 12, 2);
WING_4A.setRotationPoint(0F, -41F, 0F);
WING_4A.setTextureSize(128, 128);
WING_4A.mirror = true;
setRotation(WING_4A, 0F, 0F, -0.7853982F);
TOP = new ModelRenderer(this, 72, 70);
TOP.addBox(0F, 0F, 0F, 10, 10, 10);
TOP.setRotationPoint(-5F, -64F, -5F);
TOP.setTextureSize(128, 128);
TOP.mirror = true;
setRotation(TOP, 0F, 0F, 0F);
VOX_1 = new ModelRenderer(this, 113, 99);
VOX_1.addBox(-3F, -3F, 5F, 6, 6, 1);
VOX_1.setRotationPoint(0F, -59F, 0F);
VOX_1.setTextureSize(128, 128);
VOX_1.mirror = true;
setRotation(VOX_1, 0F, 0F, 0F);
VOX_2 = new ModelRenderer(this, 113, 99);
VOX_2.addBox(-3F, -3F, 5F, 6, 6, 1);
VOX_2.setRotationPoint(0F, -59F, 0F);
VOX_2.setTextureSize(128, 128);
VOX_2.mirror = true;
setRotation(VOX_2, 0F, 1.570796F, 0F);
VOX3 = new ModelRenderer(this, 113, 99);
VOX3.addBox(-3F, -3F, 5F, 6, 6, 1);
VOX3.setRotationPoint(0F, -59F, 0F);
VOX3.setTextureSize(128, 128);
VOX3.mirror = true;
setRotation(VOX3, 0F, -1.570796F, 0F);
VOX4 = new ModelRenderer(this, 113, 99);
VOX4.addBox(-3F, -3F, -6F, 6, 6, 1);
VOX4.setRotationPoint(0F, -59F, 0F);
VOX4.setTextureSize(128, 128);
VOX4.mirror = true;
setRotation(VOX4, 0F, 0F, 0F);
A = new ModelRenderer(this, 79, 92);
A.addBox(-4F, 0F, -4F, 8, 6, 8);
A.setRotationPoint(0F, -70F, 0F);
A.setTextureSize(128, 128);
A.mirror = true;
setRotation(A, 0F, 0F, 0F);
B = new ModelRenderer(this, 79, 108);
B.addBox(-3F, 0F, -3F, 6, 6, 6);
B.setRotationPoint(0F, -76F, 0F);
B.setTextureSize(128, 128);
B.mirror = true;
setRotation(B, 0F, 0F, 0F);
C = new ModelRenderer(this, 106, 108);
C.addBox(-2F, 0F, -2F, 4, 6, 4);
C.setRotationPoint(0F, -82F, 0F);
C.setTextureSize(128, 128);
C.mirror = true;
setRotation(C, 0F, 0F, 0F);
D = new ModelRenderer(this, 65, 92);
D.addBox(-1F, 0F, -2F, 2, 18, 4);
D.setRotationPoint(0F, -81F, 0F);
D.setTextureSize(128, 128);
D.mirror = true;
setRotation(D, -0.2094395F, 0F, 0F);
E = new ModelRenderer(this, 65, 92);
E.addBox(-1F, 0F, -2F, 2, 18, 4);
E.setRotationPoint(0F, -81F, 0F);
E.setTextureSize(128, 128);
E.mirror = true;
setRotation(E, -0.2094395F, 1.570796F, 0F);
F = new ModelRenderer(this, 65, 92);
F.addBox(-1F, 0F, -2F, 2, 18, 4);
F.setRotationPoint(0F, -81F, 0F);
F.setTextureSize(128, 128);
F.mirror = true;
setRotation(F, -0.2094395F, -1.570796F, 0F);
G = new ModelRenderer(this, 65, 92);
G.addBox(-1F, 0F, -2F, 2, 18, 4);
G.setRotationPoint(0F, -81F, 0F);
G.setTextureSize(128, 128);
G.mirror = true;
setRotation(G, 0.2094395F, 0F, 0F);
}
@Override
public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5)
{
super.render(entity, f, f1, f2, f3, f4, f5);
this.setRotationAngles(f, f1, f2, f3, f4, f5, entity);
this.render(f5);
}
@Override
public void render(float f5)
{
MAIN_MODULE.render(f5);
MOTOR_MODULE_1.render(f5);
MOTOR_MODULE_2.render(f5);
MOTOR_MODULE_3.render(f5);
MOTOR_MODULE_4.render(f5);
C1.render(f5);
C2.render(f5);
C3.render(f5);
C4.render(f5);
T1.render(f5);
T2.render(f5);
T3.render(f5);
T4.render(f5);
WING_1A.render(f5);
WING_2A.render(f5);
WING_1B.render(f5);
WING_2B.render(f5);
WING_3A.render(f5);
WING_3B.render(f5);
WING_4B.render(f5);
WING_4A.render(f5);
TOP.render(f5);
VOX_1.render(f5);
VOX_2.render(f5);
VOX3.render(f5);
VOX4.render(f5);
A.render(f5);
B.render(f5);
C.render(f5);
D.render(f5);
E.render(f5);
F.render(f5);
G.render(f5);
}
private void setRotation(ModelRenderer model, float x, float y, float z)
{
model.rotateAngleX = x;
model.rotateAngleY = y;
model.rotateAngleZ = z;
}
}
@@ -0,0 +1,414 @@
package defense.client.model.missile;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.entity.Entity;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import defense.client.tmt.ModelRendererTurbo;
@SideOnly(Side.CLIENT)
public class ModelIncendiaryMissile extends ModelMissileBase
{
// fields
ModelRendererTurbo[] bodyModel;
public ModelIncendiaryMissile()
{
int textureX = 64;
int textureY = 256;
bodyModel = new ModelRendererTurbo[72];
bodyModel[0] = new ModelRendererTurbo(this, 0, 0, textureX, textureY); // Import ImportBox0
bodyModel[1] = new ModelRendererTurbo(this, 0, 36, textureX, textureY); // Import ImportBox1
bodyModel[2] = new ModelRendererTurbo(this, 0, 36, textureX, textureY); // Import ImportBox2
bodyModel[3] = new ModelRendererTurbo(this, 0, 67, textureX, textureY); // Import ImportBox5
bodyModel[4] = new ModelRendererTurbo(this, 0, 80, textureX, textureY); // Import ImportBox6
bodyModel[5] = new ModelRendererTurbo(this, 0, 67, textureX, textureY); // Import ImportBox7
bodyModel[6] = new ModelRendererTurbo(this, 0, 92, textureX, textureY); // Import ImportBox8
bodyModel[7] = new ModelRendererTurbo(this, 0, 102, textureX, textureY); // Import ImportBox9
bodyModel[8] = new ModelRendererTurbo(this, 0, 102, textureX, textureY); // Import ImportBox10
bodyModel[9] = new ModelRendererTurbo(this, 0, 110, textureX, textureY); // Import ImportBox11
bodyModel[10] = new ModelRendererTurbo(this, 0, 110, textureX, textureY); // Import ImportBox12
bodyModel[11] = new ModelRendererTurbo(this, 0, 67, textureX, textureY); // Import ImportBox13
bodyModel[12] = new ModelRendererTurbo(this, 0, 92, textureX, textureY); // Import ImportBox14
bodyModel[13] = new ModelRendererTurbo(this, 0, 67, textureX, textureY); // Import ImportBox15
bodyModel[14] = new ModelRendererTurbo(this, 0, 102, textureX, textureY); // Import ImportBox16
bodyModel[15] = new ModelRendererTurbo(this, 0, 102, textureX, textureY); // Import ImportBox17
bodyModel[16] = new ModelRendererTurbo(this, 0, 80, textureX, textureY); // Import ImportBox18
bodyModel[17] = new ModelRendererTurbo(this, 0, 110, textureX, textureY); // Import ImportBox19
bodyModel[18] = new ModelRendererTurbo(this, 0, 67, textureX, textureY); // Import ImportBox20
bodyModel[19] = new ModelRendererTurbo(this, 0, 92, textureX, textureY); // Import ImportBox21
bodyModel[20] = new ModelRendererTurbo(this, 0, 67, textureX, textureY); // Import ImportBox22
bodyModel[21] = new ModelRendererTurbo(this, 0, 102, textureX, textureY); // Import ImportBox23
bodyModel[22] = new ModelRendererTurbo(this, 0, 102, textureX, textureY); // Import ImportBox24
bodyModel[23] = new ModelRendererTurbo(this, 0, 80, textureX, textureY); // Import ImportBox25
bodyModel[24] = new ModelRendererTurbo(this, 0, 110, textureX, textureY); // Import ImportBox26
bodyModel[25] = new ModelRendererTurbo(this, 0, 67, textureX, textureY); // Import ImportBox27
bodyModel[26] = new ModelRendererTurbo(this, 0, 92, textureX, textureY); // Import ImportBox28
bodyModel[27] = new ModelRendererTurbo(this, 0, 67, textureX, textureY); // Import ImportBox29
bodyModel[28] = new ModelRendererTurbo(this, 0, 102, textureX, textureY); // Import ImportBox30
bodyModel[29] = new ModelRendererTurbo(this, 0, 102, textureX, textureY); // Import ImportBox31
bodyModel[30] = new ModelRendererTurbo(this, 0, 80, textureX, textureY); // Import ImportBox32
bodyModel[31] = new ModelRendererTurbo(this, 0, 115, textureX, textureY); // Import ImportBox33
bodyModel[32] = new ModelRendererTurbo(this, 0, 119, textureX, textureY); // Import ImportBox34
bodyModel[33] = new ModelRendererTurbo(this, 0, 123, textureX, textureY); // Import ImportBox36
bodyModel[34] = new ModelRendererTurbo(this, 0, 123, textureX, textureY); // Import ImportBox37
bodyModel[35] = new ModelRendererTurbo(this, 0, 115, textureX, textureY); // Import ImportBox38
bodyModel[36] = new ModelRendererTurbo(this, 0, 119, textureX, textureY); // Import ImportBox39
bodyModel[37] = new ModelRendererTurbo(this, 0, 123, textureX, textureY); // Import ImportBox40
bodyModel[38] = new ModelRendererTurbo(this, 0, 115, textureX, textureY); // Import ImportBox41
bodyModel[39] = new ModelRendererTurbo(this, 0, 119, textureX, textureY); // Import ImportBox42
bodyModel[40] = new ModelRendererTurbo(this, 0, 123, textureX, textureY); // Import ImportBox43
bodyModel[41] = new ModelRendererTurbo(this, 0, 115, textureX, textureY); // Import ImportBox44
bodyModel[42] = new ModelRendererTurbo(this, 0, 119, textureX, textureY); // Import ImportBox45
bodyModel[43] = new ModelRendererTurbo(this, 0, 127, textureX, textureY); // Import ImportBox46
bodyModel[44] = new ModelRendererTurbo(this, 0, 135, textureX, textureY); // Import ImportBox47
bodyModel[45] = new ModelRendererTurbo(this, 0, 135, textureX, textureY); // Import ImportBox48
bodyModel[46] = new ModelRendererTurbo(this, 0, 142, textureX, textureY); // Import ImportBox49
bodyModel[47] = new ModelRendererTurbo(this, 0, 142, textureX, textureY); // Import ImportBox50
bodyModel[48] = new ModelRendererTurbo(this, 0, 142, textureX, textureY); // Import ImportBox51
bodyModel[49] = new ModelRendererTurbo(this, 0, 142, textureX, textureY); // Import ImportBox52
bodyModel[50] = new ModelRendererTurbo(this, 0, 152, textureX, textureY); // Import ImportBox53
bodyModel[51] = new ModelRendererTurbo(this, 0, 171, textureX, textureY); // Import ImportBox54
bodyModel[52] = new ModelRendererTurbo(this, 0, 171, textureX, textureY); // Import ImportBox55
bodyModel[53] = new ModelRendererTurbo(this, 0, 187, textureX, textureY); // Import ImportBox56
bodyModel[54] = new ModelRendererTurbo(this, 0, 197, textureX, textureY); // Import ImportBox57
bodyModel[55] = new ModelRendererTurbo(this, 0, 207, textureX, textureY); // Import ImportBox58
bodyModel[56] = new ModelRendererTurbo(this, 0, 187, textureX, textureY); // Import ImportBox59
bodyModel[57] = new ModelRendererTurbo(this, 0, 197, textureX, textureY); // Import ImportBox60
bodyModel[58] = new ModelRendererTurbo(this, 0, 207, textureX, textureY); // Import ImportBox61
bodyModel[59] = new ModelRendererTurbo(this, 0, 187, textureX, textureY); // Import ImportBox62
bodyModel[60] = new ModelRendererTurbo(this, 0, 197, textureX, textureY); // Import ImportBox63
bodyModel[61] = new ModelRendererTurbo(this, 0, 207, textureX, textureY); // Import ImportBox64
bodyModel[62] = new ModelRendererTurbo(this, 0, 187, textureX, textureY); // Import ImportBox65
bodyModel[63] = new ModelRendererTurbo(this, 0, 197, textureX, textureY); // Import ImportBox66
bodyModel[64] = new ModelRendererTurbo(this, 0, 207, textureX, textureY); // Import ImportBox67
bodyModel[65] = new ModelRendererTurbo(this, 0, 214, textureX, textureY); // Import ImportBox68
bodyModel[66] = new ModelRendererTurbo(this, 0, 225, textureX, textureY); // Import ImportBox70
bodyModel[67] = new ModelRendererTurbo(this, 0, 225, textureX, textureY); // Import ImportBox71
bodyModel[68] = new ModelRendererTurbo(this, 0, 234, textureX, textureY); // Import ImportBox72
bodyModel[69] = new ModelRendererTurbo(this, 0, 234, textureX, textureY); // Import ImportBox73
bodyModel[70] = new ModelRendererTurbo(this, 0, 234, textureX, textureY); // Import ImportBox74
bodyModel[71] = new ModelRendererTurbo(this, 0, 242, textureX, textureY); // Import ImportBox75
bodyModel[0].addBox(-4F, -8F, -3F, 8, 29, 6, 0F); // Import ImportBox0
bodyModel[0].setRotationPoint(0F, -2F, 0F);
bodyModel[0].rotateAngleY = -0.78539816F;
bodyModel[1].addShapeBox(-4F, -8F, -4F, 8, 29, 1, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import ImportBox1
bodyModel[1].setRotationPoint(0F, -2F, 0F);
bodyModel[1].rotateAngleY = -0.78539816F;
bodyModel[2].addShapeBox(-4F, -8F, 3F, 8, 29, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F); // Import ImportBox2
bodyModel[2].setRotationPoint(0F, -2F, 0F);
bodyModel[2].rotateAngleY = -0.78539816F;
bodyModel[3].addShapeBox(1F, 16F, 4F, 1, 8, 4, 0F, 0F, 4F, 0F, 0F, 4F, 0F, 0F, 1F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, 0F); // Import ImportBox5
bodyModel[3].setRotationPoint(0F, -2F, 0F);
bodyModel[3].rotateAngleY = -0.78539816F;
bodyModel[4].addShapeBox(-1F, 16F, 4F, 2, 8, 3, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import ImportBox6
bodyModel[4].setRotationPoint(0F, -2F, 0F);
bodyModel[4].rotateAngleY = -0.78539816F;
bodyModel[5].addShapeBox(-2F, 16F, 4F, 1, 8, 4, 0F, 0F, 4F, 0F, 0F, 4F, 0F, 0F, 0F, 0F, 0F, 1F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F); // Import ImportBox7
bodyModel[5].setRotationPoint(0F, -2F, 0F);
bodyModel[5].rotateAngleY = -0.78539816F;
bodyModel[6].addShapeBox(-1F, 16F, 7F, 2, 8, 1, 0F, 0F, 1F, 0F, 0F, 1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import ImportBox8
bodyModel[6].setRotationPoint(0F, -2F, 0F);
bodyModel[6].rotateAngleY = -0.78539816F;
bodyModel[7].addShapeBox(-1F, 16F, 4F, 1, 4, 3, 0F, -0.4F, 0F, 0F, -0.4F, 0F, 0F, -0.4F, -3F, 0F, -0.4F, -3F, 0F, -0.4F, 0F, 0F, -0.4F, 0F, 0F, -0.4F, 0F, 0F, -0.4F, 0F, 0F); // Import ImportBox9
bodyModel[7].setRotationPoint(0F, -6F, 0F);
bodyModel[7].rotateAngleY = -0.78539816F;
bodyModel[8].addShapeBox(0F, 16F, 4F, 1, 4, 3, 0F, -0.4F, 0F, 0F, -0.4F, 0F, 0F, -0.4F, -3F, 0F, -0.4F, -3F, 0F, -0.4F, 0F, 0F, -0.4F, 0F, 0F, -0.4F, 0F, 0F, -0.4F, 0F, 0F); // Import ImportBox10
bodyModel[8].setRotationPoint(0F, -6F, 0F);
bodyModel[8].rotateAngleY = -0.78539816F;
bodyModel[9].addShapeBox(-2F, 21F, 3F, 4, 3, 1, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import ImportBox11
bodyModel[9].setRotationPoint(0F, -2F, 0F);
bodyModel[9].rotateAngleY = -0.78539816F;
bodyModel[10].addShapeBox(-2F, 21F, 3F, 4, 3, 1, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import ImportBox12
bodyModel[10].setRotationPoint(0F, -2F, 0F);
bodyModel[10].rotateAngleY = -2.35619449F;
bodyModel[11].addShapeBox(-2F, 16F, 4F, 1, 8, 4, 0F, 0F, 4F, 0F, 0F, 4F, 0F, 0F, 0F, 0F, 0F, 1F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F); // Import ImportBox13
bodyModel[11].setRotationPoint(0F, -2F, 0F);
bodyModel[11].rotateAngleY = -2.35619449F;
bodyModel[12].addShapeBox(-1F, 16F, 7F, 2, 8, 1, 0F, 0F, 1F, 0F, 0F, 1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import ImportBox14
bodyModel[12].setRotationPoint(0F, -2F, 0F);
bodyModel[12].rotateAngleY = -2.35619449F;
bodyModel[13].addShapeBox(1F, 16F, 4F, 1, 8, 4, 0F, 0F, 4F, 0F, 0F, 4F, 0F, 0F, 1F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, 0F); // Import ImportBox15
bodyModel[13].setRotationPoint(0F, -2F, 0F);
bodyModel[13].rotateAngleY = -2.35619449F;
bodyModel[14].addShapeBox(-1F, 16F, 4F, 1, 4, 3, 0F, -0.4F, 0F, 0F, -0.4F, 0F, 0F, -0.4F, -3F, 0F, -0.4F, -3F, 0F, -0.4F, 0F, 0F, -0.4F, 0F, 0F, -0.4F, 0F, 0F, -0.4F, 0F, 0F); // Import ImportBox16
bodyModel[14].setRotationPoint(0F, -6F, 0F);
bodyModel[14].rotateAngleY = -2.35619449F;
bodyModel[15].addShapeBox(0F, 16F, 4F, 1, 4, 3, 0F, -0.4F, 0F, 0F, -0.4F, 0F, 0F, -0.4F, -3F, 0F, -0.4F, -3F, 0F, -0.4F, 0F, 0F, -0.4F, 0F, 0F, -0.4F, 0F, 0F, -0.4F, 0F, 0F); // Import ImportBox17
bodyModel[15].setRotationPoint(0F, -6F, 0F);
bodyModel[15].rotateAngleY = -2.35619449F;
bodyModel[16].addShapeBox(-1F, 16F, 4F, 2, 8, 3, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import ImportBox18
bodyModel[16].setRotationPoint(0F, -2F, 0F);
bodyModel[16].rotateAngleY = -2.35619449F;
bodyModel[17].addShapeBox(-2F, 21F, 3F, 4, 3, 1, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import ImportBox19
bodyModel[17].setRotationPoint(0F, -2F, 0F);
bodyModel[17].rotateAngleY = -3.92699081F;
bodyModel[18].addShapeBox(-2F, 16F, 4F, 1, 8, 4, 0F, 0F, 4F, 0F, 0F, 4F, 0F, 0F, 0F, 0F, 0F, 1F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F); // Import ImportBox20
bodyModel[18].setRotationPoint(0F, -2F, 0F);
bodyModel[18].rotateAngleY = -3.92699081F;
bodyModel[19].addShapeBox(-1F, 16F, 7F, 2, 8, 1, 0F, 0F, 1F, 0F, 0F, 1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import ImportBox21
bodyModel[19].setRotationPoint(0F, -2F, 0F);
bodyModel[19].rotateAngleY = -3.92699081F;
bodyModel[20].addShapeBox(1F, 16F, 4F, 1, 8, 4, 0F, 0F, 4F, 0F, 0F, 4F, 0F, 0F, 1F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, 0F); // Import ImportBox22
bodyModel[20].setRotationPoint(0F, -2F, 0F);
bodyModel[20].rotateAngleY = -3.92699081F;
bodyModel[21].addShapeBox(-1F, 16F, 4F, 1, 4, 3, 0F, -0.4F, 0F, 0F, -0.4F, 0F, 0F, -0.4F, -3F, 0F, -0.4F, -3F, 0F, -0.4F, 0F, 0F, -0.4F, 0F, 0F, -0.4F, 0F, 0F, -0.4F, 0F, 0F); // Import ImportBox23
bodyModel[21].setRotationPoint(0F, -6F, 0F);
bodyModel[21].rotateAngleY = -3.92699081F;
bodyModel[22].addShapeBox(0F, 16F, 4F, 1, 4, 3, 0F, -0.4F, 0F, 0F, -0.4F, 0F, 0F, -0.4F, -3F, 0F, -0.4F, -3F, 0F, -0.4F, 0F, 0F, -0.4F, 0F, 0F, -0.4F, 0F, 0F, -0.4F, 0F, 0F); // Import ImportBox24
bodyModel[22].setRotationPoint(0F, -6F, 0F);
bodyModel[22].rotateAngleY = -3.92699081F;
bodyModel[23].addShapeBox(-1F, 16F, 4F, 2, 8, 3, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import ImportBox25
bodyModel[23].setRotationPoint(0F, -2F, 0F);
bodyModel[23].rotateAngleY = -3.92699081F;
bodyModel[24].addShapeBox(-2F, 21F, 3F, 4, 3, 1, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import ImportBox26
bodyModel[24].setRotationPoint(0F, -2F, 0F);
bodyModel[24].rotateAngleY = -5.49778714F;
bodyModel[25].addShapeBox(-2F, 16F, 4F, 1, 8, 4, 0F, 0F, 4F, 0F, 0F, 4F, 0F, 0F, 0F, 0F, 0F, 1F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F); // Import ImportBox27
bodyModel[25].setRotationPoint(0F, -2F, 0F);
bodyModel[25].rotateAngleY = -5.49778714F;
bodyModel[26].addShapeBox(-1F, 16F, 7F, 2, 8, 1, 0F, 0F, 1F, 0F, 0F, 1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import ImportBox28
bodyModel[26].setRotationPoint(0F, -2F, 0F);
bodyModel[26].rotateAngleY = -5.49778714F;
bodyModel[27].addShapeBox(1F, 16F, 4F, 1, 8, 4, 0F, 0F, 4F, 0F, 0F, 4F, 0F, 0F, 1F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, 0F); // Import ImportBox29
bodyModel[27].setRotationPoint(0F, -2F, 0F);
bodyModel[27].rotateAngleY = -5.49778714F;
bodyModel[28].addShapeBox(-1F, 16F, 4F, 1, 4, 3, 0F, -0.4F, 0F, 0F, -0.4F, 0F, 0F, -0.4F, -3F, 0F, -0.4F, -3F, 0F, -0.4F, 0F, 0F, -0.4F, 0F, 0F, -0.4F, 0F, 0F, -0.4F, 0F, 0F); // Import ImportBox30
bodyModel[28].setRotationPoint(0F, -6F, 0F);
bodyModel[28].rotateAngleY = -5.49778714F;
bodyModel[29].addShapeBox(0F, 16F, 4F, 1, 4, 3, 0F, -0.4F, 0F, 0F, -0.4F, 0F, 0F, -0.4F, -3F, 0F, -0.4F, -3F, 0F, -0.4F, 0F, 0F, -0.4F, 0F, 0F, -0.4F, 0F, 0F, -0.4F, 0F, 0F); // Import ImportBox31
bodyModel[29].setRotationPoint(0F, -6F, 0F);
bodyModel[29].rotateAngleY = -5.49778714F;
bodyModel[30].addShapeBox(-1F, 16F, 4F, 2, 8, 3, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import ImportBox32
bodyModel[30].setRotationPoint(0F, -2F, 0F);
bodyModel[30].rotateAngleY = -5.49778714F;
bodyModel[31].addShapeBox(-1.5F, 24F, 5F, 3, 2, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0.5F, 0F, 0.5F, 0.5F, 0F, 0.5F, 0.5F, 0F, 0.5F, 0.5F, 0F, 0.5F); // Import ImportBox33
bodyModel[31].setRotationPoint(0F, -2F, 0F);
bodyModel[31].rotateAngleY = -0.78539816F;
bodyModel[32].addShapeBox(-1.5F, 24F, 4F, 3, 2, 1, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -0.5F, 0F, 0.5F, -0.5F, 0F, 0.5F, 0.5F, 0F, -0.5F, 0.5F, 0F, -0.5F); // Import ImportBox34
bodyModel[32].setRotationPoint(0F, -2F, 0F);
bodyModel[32].rotateAngleY = -0.78539816F;
bodyModel[33].addShapeBox(-1.5F, 24F, 6F, 3, 2, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0.5F, 0F, -0.5F, 0.5F, 0F, -0.5F, -0.5F, 0F, 0.5F, -0.5F, 0F, 0.5F); // Import ImportBox36
bodyModel[33].setRotationPoint(0F, -2F, 0F);
bodyModel[33].rotateAngleY = -0.78539816F;
bodyModel[34].addShapeBox(-1.5F, 24F, 6F, 3, 2, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0.5F, 0F, -0.5F, 0.5F, 0F, -0.5F, -0.5F, 0F, 0.5F, -0.5F, 0F, 0.5F); // Import ImportBox37
bodyModel[34].setRotationPoint(0F, -2F, 0F);
bodyModel[34].rotateAngleY = -2.35619449F;
bodyModel[35].addShapeBox(-1.5F, 24F, 5F, 3, 2, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0.5F, 0F, 0.5F, 0.5F, 0F, 0.5F, 0.5F, 0F, 0.5F, 0.5F, 0F, 0.5F); // Import ImportBox38
bodyModel[35].setRotationPoint(0F, -2F, 0F);
bodyModel[35].rotateAngleY = -2.35619449F;
bodyModel[36].addShapeBox(-1.5F, 24F, 4F, 3, 2, 1, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -0.5F, 0F, 0.5F, -0.5F, 0F, 0.5F, 0.5F, 0F, -0.5F, 0.5F, 0F, -0.5F); // Import ImportBox39
bodyModel[36].setRotationPoint(0F, -2F, 0F);
bodyModel[36].rotateAngleY = -2.35619449F;
bodyModel[37].addShapeBox(-1.5F, 24F, 6F, 3, 2, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0.5F, 0F, -0.5F, 0.5F, 0F, -0.5F, -0.5F, 0F, 0.5F, -0.5F, 0F, 0.5F); // Import ImportBox40
bodyModel[37].setRotationPoint(0F, -2F, 0F);
bodyModel[37].rotateAngleY = -3.92699081F;
bodyModel[38].addShapeBox(-1.5F, 24F, 5F, 3, 2, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0.5F, 0F, 0.5F, 0.5F, 0F, 0.5F, 0.5F, 0F, 0.5F, 0.5F, 0F, 0.5F); // Import ImportBox41
bodyModel[38].setRotationPoint(0F, -2F, 0F);
bodyModel[38].rotateAngleY = -3.92699081F;
bodyModel[39].addShapeBox(-1.5F, 24F, 4F, 3, 2, 1, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -0.5F, 0F, 0.5F, -0.5F, 0F, 0.5F, 0.5F, 0F, -0.5F, 0.5F, 0F, -0.5F); // Import ImportBox42
bodyModel[39].setRotationPoint(0F, -2F, 0F);
bodyModel[39].rotateAngleY = -3.92699081F;
bodyModel[40].addShapeBox(-1.5F, 24F, 6F, 3, 2, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0.5F, 0F, -0.5F, 0.5F, 0F, -0.5F, -0.5F, 0F, 0.5F, -0.5F, 0F, 0.5F); // Import ImportBox43
bodyModel[40].setRotationPoint(0F, -2F, 0F);
bodyModel[40].rotateAngleY = -5.49778714F;
bodyModel[41].addShapeBox(-1.5F, 24F, 5F, 3, 2, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0.5F, 0F, 0.5F, 0.5F, 0F, 0.5F, 0.5F, 0F, 0.5F, 0.5F, 0F, 0.5F); // Import ImportBox44
bodyModel[41].setRotationPoint(0F, -2F, 0F);
bodyModel[41].rotateAngleY = -5.49778714F;
bodyModel[42].addShapeBox(-1.5F, 24F, 4F, 3, 2, 1, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -0.5F, 0F, 0.5F, -0.5F, 0F, 0.5F, 0.5F, 0F, -0.5F, 0.5F, 0F, -0.5F); // Import ImportBox45
bodyModel[42].setRotationPoint(0F, -2F, 0F);
bodyModel[42].rotateAngleY = -5.49778714F;
bodyModel[43].addShapeBox(-2F, 21F, -1F, 4, 5, 2, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0.5F, 0F, 0.5F, 0.5F, 0F, 0.5F, 0.5F, 0F, 0.5F, 0.5F, 0F, 0.5F); // Import ImportBox46
bodyModel[43].setRotationPoint(0F, -2F, 0F);
bodyModel[43].rotateAngleY = -0.78539816F;
bodyModel[44].addShapeBox(-2F, 21F, -2F, 4, 5, 1, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -0.5F, 0F, 0.5F, -0.5F, 0F, 0.5F, 0.5F, 0F, -0.5F, 0.5F, 0F, -0.5F); // Import ImportBox47
bodyModel[44].setRotationPoint(0F, -2F, 0F);
bodyModel[44].rotateAngleY = -0.78539816F;
bodyModel[45].addShapeBox(-2F, 21F, 1F, 4, 5, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0.5F, 0F, -0.5F, 0.5F, 0F, -0.5F, -0.5F, 0F, 0.5F, -0.5F, 0F, 0.5F); // Import ImportBox48
bodyModel[45].setRotationPoint(0F, -2F, 0F);
bodyModel[45].rotateAngleY = -0.78539816F;
bodyModel[46].addShapeBox(-0.5F, 18F, 8F, 1, 6, 3, 0F, -0.2F, 0F, 0F, -0.2F, 0F, 0F, -0.2F, -4F, 0F, -0.2F, -4F, 0F, -0.2F, 0F, 0F, -0.2F, 0F, 0F, -0.2F, -1F, 0F, -0.2F, -1F, 0F); // Import ImportBox49
bodyModel[46].setRotationPoint(0F, -2F, 0F);
bodyModel[46].rotateAngleY = -5.49778714F;
bodyModel[47].addShapeBox(-0.5F, 18F, 8F, 1, 6, 3, 0F, -0.2F, 0F, 0F, -0.2F, 0F, 0F, -0.2F, -4F, 0F, -0.2F, -4F, 0F, -0.2F, 0F, 0F, -0.2F, 0F, 0F, -0.2F, -1F, 0F, -0.2F, -1F, 0F); // Import ImportBox50
bodyModel[47].setRotationPoint(0F, -2F, 0F);
bodyModel[47].rotateAngleY = -3.92699081F;
bodyModel[48].addShapeBox(-0.5F, 18F, 8F, 1, 6, 3, 0F, -0.2F, 0F, 0F, -0.2F, 0F, 0F, -0.2F, -4F, 0F, -0.2F, -4F, 0F, -0.2F, 0F, 0F, -0.2F, 0F, 0F, -0.2F, -1F, 0F, -0.2F, -1F, 0F); // Import ImportBox51
bodyModel[48].setRotationPoint(0F, -2F, 0F);
bodyModel[48].rotateAngleY = -0.78539816F;
bodyModel[49].addShapeBox(-0.5F, 18F, 8F, 1, 6, 3, 0F, -0.2F, 0F, 0F, -0.2F, 0F, 0F, -0.2F, -4F, 0F, -0.2F, -4F, 0F, -0.2F, 0F, 0F, -0.2F, 0F, 0F, -0.2F, -1F, 0F, -0.2F, -1F, 0F); // Import ImportBox52
bodyModel[49].setRotationPoint(0F, -2F, 0F);
bodyModel[49].rotateAngleY = -2.35619449F;
bodyModel[50].addShapeBox(-4F, -20F, -3F, 8, 12, 6, 0F, -1F, 0F, -1F, -1F, 0F, -1F, -1F, 0F, -1F, -1F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import ImportBox53
bodyModel[50].setRotationPoint(0F, -2F, 0F);
bodyModel[50].rotateAngleY = -0.78539816F;
bodyModel[51].addShapeBox(-4F, -20F, -4F, 8, 12, 3, 0F, -2F, 0F, -1F, -2F, 0F, -1F, -1F, 0F, -1F, -1F, 0F, -1F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F); // Import ImportBox54
bodyModel[51].setRotationPoint(0F, -2F, 0F);
bodyModel[51].rotateAngleY = -0.78539816F;
bodyModel[52].addShapeBox(-4F, -20F, 1F, 8, 12, 3, 0F, -1F, 0F, -1F, -1F, 0F, -1F, -2F, 0F, -1F, -2F, 0F, -1F, 0F, 0F, -2F, 0F, 0F, -2F, -1F, 0F, 0F, -1F, 0F, 0F); // Import ImportBox55
bodyModel[52].setRotationPoint(0F, -2F, 0F);
bodyModel[52].rotateAngleY = -0.78539816F;
bodyModel[53].addShapeBox(-1F, -10F, 3F, 2, 7, 2, 0F, 0F, 1F, 0F, 0F, 1F, 0F, -0.5F, 0F, 0F, -0.5F, 0F, 0F, 0F, 2F, 0F, 0F, 2F, 0F, -0.5F, 0F, 0F, -0.5F, 0F, 0F); // Import ImportBox56
bodyModel[53].setRotationPoint(0F, -2F, 0F);
bodyModel[53].rotateAngleY = -0.78539816F;
bodyModel[54].addShapeBox(-0.5F, -10F, 5F, 1, 7, 2, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import ImportBox57
bodyModel[54].setRotationPoint(0F, -2F, 0F);
bodyModel[54].rotateAngleY = -0.78539816F;
bodyModel[55].addShapeBox(-0.5F, -8F, 7F, 1, 5, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import ImportBox58
bodyModel[55].setRotationPoint(0F, -2F, 0F);
bodyModel[55].rotateAngleY = -0.78539816F;
bodyModel[56].addShapeBox(-1F, -10F, 3F, 2, 7, 2, 0F, 0F, 1F, 0F, 0F, 1F, 0F, -0.5F, 0F, 0F, -0.5F, 0F, 0F, 0F, 2F, 0F, 0F, 2F, 0F, -0.5F, 0F, 0F, -0.5F, 0F, 0F); // Import ImportBox59
bodyModel[56].setRotationPoint(0F, -2F, 0F);
bodyModel[56].rotateAngleY = -2.35619449F;
bodyModel[57].addShapeBox(-0.5F, -10F, 5F, 1, 7, 2, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import ImportBox60
bodyModel[57].setRotationPoint(0F, -2F, 0F);
bodyModel[57].rotateAngleY = -2.35619449F;
bodyModel[58].addShapeBox(-0.5F, -8F, 7F, 1, 5, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import ImportBox61
bodyModel[58].setRotationPoint(0F, -2F, 0F);
bodyModel[58].rotateAngleY = -2.35619449F;
bodyModel[59].addShapeBox(-1F, -10F, 3F, 2, 7, 2, 0F, 0F, 1F, 0F, 0F, 1F, 0F, -0.5F, 0F, 0F, -0.5F, 0F, 0F, 0F, 2F, 0F, 0F, 2F, 0F, -0.5F, 0F, 0F, -0.5F, 0F, 0F); // Import ImportBox62
bodyModel[59].setRotationPoint(0F, -2F, 0F);
bodyModel[59].rotateAngleY = -5.49778714F;
bodyModel[60].addShapeBox(-0.5F, -10F, 5F, 1, 7, 2, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import ImportBox63
bodyModel[60].setRotationPoint(0F, -2F, 0F);
bodyModel[60].rotateAngleY = -5.49778714F;
bodyModel[61].addShapeBox(-0.5F, -8F, 7F, 1, 5, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import ImportBox64
bodyModel[61].setRotationPoint(0F, -2F, 0F);
bodyModel[61].rotateAngleY = -5.49778714F;
bodyModel[62].addShapeBox(-1F, -10F, 3F, 2, 7, 2, 0F, 0F, 1F, 0F, 0F, 1F, 0F, -0.5F, 0F, 0F, -0.5F, 0F, 0F, 0F, 2F, 0F, 0F, 2F, 0F, -0.5F, 0F, 0F, -0.5F, 0F, 0F); // Import ImportBox65
bodyModel[62].setRotationPoint(0F, -2F, 0F);
bodyModel[62].rotateAngleY = -3.92699081F;
bodyModel[63].addShapeBox(-0.5F, -10F, 5F, 1, 7, 2, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import ImportBox66
bodyModel[63].setRotationPoint(0F, -2F, 0F);
bodyModel[63].rotateAngleY = -3.92699081F;
bodyModel[64].addShapeBox(-0.5F, -8F, 7F, 1, 5, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import ImportBox67
bodyModel[64].setRotationPoint(0F, -2F, 0F);
bodyModel[64].rotateAngleY = -3.92699081F;
bodyModel[65].addShapeBox(-3F, -26F, -2F, 6, 6, 4, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import ImportBox68
bodyModel[65].setRotationPoint(0F, -2F, 0F);
bodyModel[65].rotateAngleY = -0.78539816F;
bodyModel[66].addShapeBox(-3F, -26F, -3F, 6, 6, 2, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F); // Import ImportBox70
bodyModel[66].setRotationPoint(0F, -2F, 0F);
bodyModel[66].rotateAngleY = -0.78539816F;
bodyModel[67].addShapeBox(-3F, -26F, 1F, 6, 6, 2, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, -1F, 0F, 0F, -1F, 0F, 0F); // Import ImportBox71
bodyModel[67].setRotationPoint(0F, -2F, 0F);
bodyModel[67].rotateAngleY = -0.78539816F;
bodyModel[68].addShapeBox(-3F, -30F, -1F, 6, 4, 2, 0F, -1.5F, 0F, -0.5F, -1.5F, 0F, -0.5F, -1.5F, 0F, -0.5F, -1.5F, 0F, -0.5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import ImportBox72
bodyModel[68].setRotationPoint(0F, -2F, 0F);
bodyModel[68].rotateAngleY = -0.78539816F;
bodyModel[69].addShapeBox(-3F, -30F, -3F, 6, 4, 2, 0F, -2.5F, 0F, -1.5F, -2.5F, 0F, -1.5F, -1.5F, 0F, 0.5F, -1.5F, 0F, 0.5F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import ImportBox73
bodyModel[69].setRotationPoint(0F, -2F, 0F);
bodyModel[69].rotateAngleY = -0.78539816F;
bodyModel[70].addShapeBox(-3F, -30F, 1F, 6, 4, 2, 0F, -1.5F, 0F, 0.5F, -1.5F, 0F, 0.5F, -2.5F, 0F, -1.5F, -2.5F, 0F, -1.5F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F); // Import ImportBox74
bodyModel[70].setRotationPoint(0F, -2F, 0F);
bodyModel[70].rotateAngleY = -0.78539816F;
bodyModel[71].addShapeBox(-0.5F, -35F, -0.5F, 1, 6, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import ImportBox75
bodyModel[71].setRotationPoint(0F, -2F, 0F);
bodyModel[71].rotateAngleY = -0.78539816F;
}
@Override
public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5)
{
super.render(entity, f, f1, f2, f3, f4, f5);
this.setRotationAngles(f, f1, f2, f3, f4, f5, entity);
this.render(f5);
}
@Override
public void render(float f5)
{
render(bodyModel, f5);
}
private void render(ModelRendererTurbo[] models, float f)
{
for(ModelRendererTurbo model : models)
if(model != null)
model.render(f);
}
private void setRotation(ModelRenderer model, float x, float y, float z)
{
model.rotateAngleX = x;
model.rotateAngleY = y;
model.rotateAngleZ = z;
}
}
@@ -0,0 +1,8 @@
package defense.client.model.missile;
import net.minecraft.client.model.ModelBase;
public abstract class ModelMissileBase extends ModelBase
{
public void render(float size) {}
}
@@ -0,0 +1,240 @@
package defense.client.model.missile;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.entity.Entity;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@SideOnly(Side.CLIENT)
public class ModelNuclearMissile extends ModelMissileBase
{
// fields
ModelRenderer MAIN_MODULE;
ModelRenderer MOTOR_MODULE_1;
ModelRenderer MOTOR_MODULE_2;
ModelRenderer MOTOR_MODULE_3;
ModelRenderer MOTOR_MODULE_4;
ModelRenderer C1;
ModelRenderer C2;
ModelRenderer C3;
ModelRenderer C4;
ModelRenderer T1;
ModelRenderer T2;
ModelRenderer T3;
ModelRenderer T4;
ModelRenderer WING_1A;
ModelRenderer WING_2A;
ModelRenderer WING_1B;
ModelRenderer WING_2B;
ModelRenderer WING_3A;
ModelRenderer WING_3B;
ModelRenderer WING_4B;
ModelRenderer WING_4A;
ModelRenderer TOP;
ModelRenderer WARHEAD_1;
ModelRenderer WARHEAD_2;
ModelRenderer WARHEAD_3;
public ModelNuclearMissile()
{
textureWidth = 128;
textureHeight = 128;
MAIN_MODULE = new ModelRenderer(this, 0, 0);
MAIN_MODULE.addBox(0F, 0F, 0F, 8, 70, 8);
MAIN_MODULE.setRotationPoint(-4F, -63F, -4F);
MAIN_MODULE.setTextureSize(128, 128);
MAIN_MODULE.mirror = true;
setRotation(MAIN_MODULE, 0F, 0F, 0F);
MOTOR_MODULE_1 = new ModelRenderer(this, 0, 79);
MOTOR_MODULE_1.addBox(0F, 0F, 0F, 6, 20, 6);
MOTOR_MODULE_1.setRotationPoint(-8F, 0F, -8F);
MOTOR_MODULE_1.setTextureSize(128, 128);
MOTOR_MODULE_1.mirror = true;
setRotation(MOTOR_MODULE_1, 0F, 0F, 0F);
MOTOR_MODULE_2 = new ModelRenderer(this, 0, 79);
MOTOR_MODULE_2.addBox(0F, 0F, 0F, 6, 20, 6);
MOTOR_MODULE_2.setRotationPoint(-8F, 0F, 2F);
MOTOR_MODULE_2.setTextureSize(128, 128);
MOTOR_MODULE_2.mirror = true;
setRotation(MOTOR_MODULE_2, 0F, 0F, 0F);
MOTOR_MODULE_3 = new ModelRenderer(this, 0, 79);
MOTOR_MODULE_3.addBox(0F, 0F, 0F, 6, 20, 6);
MOTOR_MODULE_3.setRotationPoint(2F, 0F, -8F);
MOTOR_MODULE_3.setTextureSize(128, 128);
MOTOR_MODULE_3.mirror = true;
setRotation(MOTOR_MODULE_3, 0F, 0F, 0F);
MOTOR_MODULE_4 = new ModelRenderer(this, 0, 79);
MOTOR_MODULE_4.addBox(0F, 0F, 0F, 6, 20, 6);
MOTOR_MODULE_4.setRotationPoint(2F, 0F, 2F);
MOTOR_MODULE_4.setTextureSize(128, 128);
MOTOR_MODULE_4.mirror = true;
setRotation(MOTOR_MODULE_4, 0F, 0F, 0F);
C1 = new ModelRenderer(this, 0, 106);
C1.addBox(0F, 0F, 0F, 2, 1, 2);
C1.setRotationPoint(-6F, 20F, -6F);
C1.setTextureSize(128, 128);
C1.mirror = true;
setRotation(C1, 0F, 0F, 0F);
C2 = new ModelRenderer(this, 0, 106);
C2.addBox(0F, 0F, 0F, 2, 1, 2);
C2.setRotationPoint(-6F, 20F, 4F);
C2.setTextureSize(128, 128);
C2.mirror = true;
setRotation(C2, 0F, 0F, 0F);
C3 = new ModelRenderer(this, 0, 106);
C3.addBox(0F, 0F, 0F, 2, 1, 2);
C3.setRotationPoint(4F, 20F, -6F);
C3.setTextureSize(128, 128);
C3.mirror = true;
setRotation(C3, 0F, 0F, 0F);
C4 = new ModelRenderer(this, 0, 106);
C4.addBox(0F, 0F, 0F, 2, 1, 2);
C4.setRotationPoint(4F, 20F, 4F);
C4.setTextureSize(128, 128);
C4.mirror = true;
setRotation(C4, 0F, 0F, 0F);
T1 = new ModelRenderer(this, 0, 111);
T1.addBox(0F, 0F, 0F, 4, 3, 4);
T1.setRotationPoint(-7F, 21F, -7F);
T1.setTextureSize(128, 128);
T1.mirror = true;
setRotation(T1, 0F, 0F, 0F);
T2 = new ModelRenderer(this, 0, 111);
T2.addBox(0F, 0F, 0F, 4, 3, 4);
T2.setRotationPoint(-7F, 21F, 3F);
T2.setTextureSize(128, 128);
T2.mirror = true;
setRotation(T2, 0F, 0F, 0F);
T3 = new ModelRenderer(this, 0, 111);
T3.addBox(0F, 0F, 0F, 4, 3, 4);
T3.setRotationPoint(3F, 21F, -7F);
T3.setTextureSize(128, 128);
T3.mirror = true;
setRotation(T3, 0F, 0F, 0F);
T4 = new ModelRenderer(this, 0, 111);
T4.addBox(0F, 0F, 0F, 4, 3, 4);
T4.setRotationPoint(3F, 21F, 3F);
T4.setTextureSize(128, 128);
T4.mirror = true;
setRotation(T4, 0F, 0F, 0F);
WING_1A = new ModelRenderer(this, 43, 15);
WING_1A.addBox(-1F, 0F, 0F, 2, 12, 12);
WING_1A.setRotationPoint(0F, -10F, 0F);
WING_1A.setTextureSize(128, 128);
WING_1A.mirror = true;
setRotation(WING_1A, -0.7853982F, 0F, 0F);
WING_2A = new ModelRenderer(this, 43, 0);
WING_2A.addBox(0F, 0F, -1F, 12, 12, 2);
WING_2A.setRotationPoint(0F, -10F, 0F);
WING_2A.setTextureSize(128, 128);
WING_2A.mirror = true;
setRotation(WING_2A, 0F, 0F, 0.7853982F);
WING_1B = new ModelRenderer(this, 72, 28);
WING_1B.addBox(-1F, 0F, -8F, 2, 25, 16);
WING_1B.setRotationPoint(0F, -2F, 0F);
WING_1B.setTextureSize(128, 128);
WING_1B.mirror = true;
setRotation(WING_1B, 0F, 0F, 0F);
WING_2B = new ModelRenderer(this, 72, 0);
WING_2B.addBox(-8F, 0F, -1F, 16, 25, 2);
WING_2B.setRotationPoint(0F, -2F, 0F);
WING_2B.setTextureSize(128, 128);
WING_2B.mirror = true;
setRotation(WING_2B, 0F, 0F, 0F);
WING_3A = new ModelRenderer(this, 34, 55);
WING_3A.addBox(-1F, 0F, -8F, 2, 10, 16);
WING_3A.setRotationPoint(0F, -41F, 0F);
WING_3A.setTextureSize(128, 128);
WING_3A.mirror = true;
setRotation(WING_3A, 0F, 0F, 0F);
WING_3B = new ModelRenderer(this, 34, 82);
WING_3B.addBox(-1F, -6F, -6F, 2, 12, 12);
WING_3B.setRotationPoint(0F, -41F, 0F);
WING_3B.setTextureSize(128, 128);
WING_3B.mirror = true;
setRotation(WING_3B, 0.7853982F, 0F, 0F);
WING_4B = new ModelRenderer(this, 34, 41);
WING_4B.addBox(-8F, 0F, -1F, 16, 10, 2);
WING_4B.setRotationPoint(0F, -41F, 0F);
WING_4B.setTextureSize(128, 128);
WING_4B.mirror = true;
setRotation(WING_4B, 0F, 0F, 0F);
WING_4A = new ModelRenderer(this, 34, 107);
WING_4A.addBox(-6F, -6F, -1F, 12, 12, 2);
WING_4A.setRotationPoint(0F, -41F, 0F);
WING_4A.setTextureSize(128, 128);
WING_4A.mirror = true;
setRotation(WING_4A, 0F, 0F, -0.7853982F);
TOP = new ModelRenderer(this, 72, 70);
TOP.addBox(0F, 0F, 0F, 10, 10, 10);
TOP.setRotationPoint(-5F, -64F, -5F);
TOP.setTextureSize(128, 128);
TOP.mirror = true;
setRotation(TOP, 0F, 0F, 0F);
WARHEAD_1 = new ModelRenderer(this, 72, 91);
WARHEAD_1.addBox(0F, 0F, 0F, 8, 6, 8);
WARHEAD_1.setRotationPoint(-4F, -70F, -4F);
WARHEAD_1.setTextureSize(128, 128);
WARHEAD_1.mirror = true;
setRotation(WARHEAD_1, 0F, 0F, 0F);
WARHEAD_2 = new ModelRenderer(this, 72, 106);
WARHEAD_2.addBox(0F, 0F, 0F, 6, 6, 6);
WARHEAD_2.setRotationPoint(-3F, -76F, -3F);
WARHEAD_2.setTextureSize(128, 128);
WARHEAD_2.mirror = true;
setRotation(WARHEAD_2, 0F, 0F, 0F);
WARHEAD_3 = new ModelRenderer(this, 110, 91);
WARHEAD_3.addBox(0F, 0F, 0F, 4, 6, 4);
WARHEAD_3.setRotationPoint(-2F, -82F, -2F);
WARHEAD_3.setTextureSize(128, 128);
WARHEAD_3.mirror = true;
setRotation(WARHEAD_3, 0F, 0F, 0F);
}
@Override
public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5)
{
super.render(entity, f, f1, f2, f3, f4, f5);
this.setRotationAngles(f, f1, f2, f3, f4, f5, entity);
this.render(f5);
}
@Override
public void render(float f5)
{
MAIN_MODULE.render(f5);
MOTOR_MODULE_1.render(f5);
MOTOR_MODULE_2.render(f5);
MOTOR_MODULE_3.render(f5);
MOTOR_MODULE_4.render(f5);
C1.render(f5);
C2.render(f5);
C3.render(f5);
C4.render(f5);
T1.render(f5);
T2.render(f5);
T3.render(f5);
T4.render(f5);
WING_1A.render(f5);
WING_2A.render(f5);
WING_1B.render(f5);
WING_2B.render(f5);
WING_3A.render(f5);
WING_3B.render(f5);
WING_4B.render(f5);
WING_4A.render(f5);
TOP.render(f5);
WARHEAD_1.render(f5);
WARHEAD_2.render(f5);
WARHEAD_3.render(f5);
}
private void setRotation(ModelRenderer model, float x, float y, float z)
{
model.rotateAngleX = x;
model.rotateAngleY = y;
model.rotateAngleZ = z;
}
}
@@ -0,0 +1,264 @@
package defense.client.model.missile;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.entity.Entity;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@SideOnly(Side.CLIENT)
public class ModelRedMatterMissile extends ModelMissileBase
{
// fields
ModelRenderer Shape1;
ModelRenderer Shape1a;
ModelRenderer Shape2;
ModelRenderer Shape2a;
ModelRenderer Shape3;
ModelRenderer Shape4;
ModelRenderer Shape5;
ModelRenderer Shape6;
ModelRenderer Shape6a;
ModelRenderer Shape6b;
ModelRenderer Shape6c;
ModelRenderer Shape6d;
ModelRenderer Shape6e;
ModelRenderer Shape6f;
ModelRenderer Shape6g;
ModelRenderer Shape7;
ModelRenderer Shape8;
ModelRenderer Shape9;
ModelRenderer Shape10;
ModelRenderer Shape10a;
ModelRenderer Shape10b;
ModelRenderer Shape10c;
ModelRenderer Shape11d;
ModelRenderer Shape11e;
ModelRenderer Shape2z;
ModelRenderer Shape12;
ModelRenderer Shape13;
ModelRenderer Shape14;
public ModelRedMatterMissile()
{
textureWidth = 128;
textureHeight = 128;
Shape1 = new ModelRenderer(this, 27, 0);
Shape1.addBox(0F, 0F, 0F, 8, 10, 14);
Shape1.setRotationPoint(-8F, 14F, -2F);
Shape1.setTextureSize(128, 128);
Shape1.mirror = true;
setRotation(Shape1, 0F, 0.7853982F, 0F);
Shape1a = new ModelRenderer(this, 27, 0);
Shape1a.addBox(0F, 0F, 0F, 8, 10, 14);
Shape1a.setRotationPoint(2F, 14F, -8F);
Shape1a.setTextureSize(128, 128);
Shape1a.mirror = true;
setRotation(Shape1a, 0F, -0.7853982F, 0F);
Shape2 = new ModelRenderer(this, 36, 47);
Shape2.addBox(0F, 0F, 0F, 21, 11, 2);
Shape2.setRotationPoint(-8F, 13F, 7F);
Shape2.setTextureSize(128, 128);
Shape2.mirror = true;
setRotation(Shape2, 0F, 0.7853982F, 0F);
Shape2a = new ModelRenderer(this, 36, 47);
Shape2a.addBox(0F, 0F, 0F, 21, 11, 2);
Shape2a.setRotationPoint(-7F, 13F, -8F);
Shape2a.setTextureSize(128, 128);
Shape2a.mirror = true;
setRotation(Shape2a, 0F, -0.7853982F, 0F);
Shape3 = new ModelRenderer(this, 0, 0);
Shape3.addBox(0F, 0F, 0F, 6, 40, 6);
Shape3.setRotationPoint(-3F, -26F, -3F);
Shape3.setTextureSize(128, 128);
Shape3.mirror = true;
setRotation(Shape3, 0F, 0F, 0F);
Shape4 = new ModelRenderer(this, 27, 25);
Shape4.addBox(0F, 0F, 0F, 10, 10, 10);
Shape4.setRotationPoint(-5F, 4F, -5F);
Shape4.setTextureSize(128, 128);
Shape4.mirror = true;
setRotation(Shape4, 0F, 0F, 0F);
Shape5 = new ModelRenderer(this, 72, 31);
Shape5.addBox(0F, 0F, 0F, 8, 4, 8);
Shape5.setRotationPoint(-4F, -30F, -4F);
Shape5.setTextureSize(128, 128);
Shape5.mirror = true;
setRotation(Shape5, 0F, 0F, 0F);
Shape6 = new ModelRenderer(this, 89, 17);
Shape6.addBox(0F, 0F, 0F, 2, 6, 2);
Shape6.setRotationPoint(-1F, -35F, 4F);
Shape6.setTextureSize(128, 128);
Shape6.mirror = true;
setRotation(Shape6, 0F, 0F, 0F);
Shape6a = new ModelRenderer(this, 89, 17);
Shape6a.addBox(0F, 0F, 0F, 2, 6, 2);
Shape6a.setRotationPoint(4F, -35F, -1F);
Shape6a.setTextureSize(128, 128);
Shape6a.mirror = true;
setRotation(Shape6a, 0F, 0F, 0F);
Shape6b = new ModelRenderer(this, 89, 17);
Shape6b.addBox(0F, 0F, 0F, 2, 6, 2);
Shape6b.setRotationPoint(-6F, -35F, -1F);
Shape6b.setTextureSize(128, 128);
Shape6b.mirror = true;
setRotation(Shape6b, 0F, 0F, 0F);
Shape6c = new ModelRenderer(this, 89, 17);
Shape6c.addBox(0F, 0F, 0F, 2, 6, 2);
Shape6c.setRotationPoint(-1F, -35F, -6F);
Shape6c.setTextureSize(128, 128);
Shape6c.mirror = true;
setRotation(Shape6c, 0F, 0F, 0F);
Shape6d = new ModelRenderer(this, 103, 8);
Shape6d.addBox(0F, 0F, 0F, 1, 6, 2);
Shape6d.setRotationPoint(-2F, -39F, -1F);
Shape6d.setTextureSize(128, 128);
Shape6d.mirror = true;
setRotation(Shape6d, 0F, 0F, 0.6108652F);
Shape6e = new ModelRenderer(this, 103, 8);
Shape6e.addBox(0F, 0F, 0F, 1, 6, 2);
Shape6e.setRotationPoint(1F, -39F, -1F);
Shape6e.setTextureSize(128, 128);
Shape6e.mirror = true;
setRotation(Shape6e, 0F, 0F, -0.6108652F);
Shape6f = new ModelRenderer(this, 96, 8);
Shape6f.addBox(0F, 0F, 0F, 2, 6, 1);
Shape6f.setRotationPoint(-1F, -39F, -2F);
Shape6f.setTextureSize(128, 128);
Shape6f.mirror = true;
setRotation(Shape6f, -0.6108652F, 0F, 0F);
Shape6g = new ModelRenderer(this, 96, 8);
Shape6g.addBox(0F, 0F, 0F, 2, 6, 1);
Shape6g.setRotationPoint(-1F, -39F, 1F);
Shape6g.setTextureSize(128, 128);
Shape6g.mirror = true;
setRotation(Shape6g, 0.6108652F, 0F, 0F);
Shape7 = new ModelRenderer(this, 110, 0);
Shape7.addBox(0F, 0F, 0F, 4, 2, 4);
Shape7.setRotationPoint(-2F, -40F, -2F);
Shape7.setTextureSize(128, 128);
Shape7.mirror = true;
setRotation(Shape7, 0F, 0F, 0F);
Shape8 = new ModelRenderer(this, 84, 46);
Shape8.addBox(0F, 0F, 0F, 10, 5, 10);
Shape8.setRotationPoint(-5F, -34F, -5F);
Shape8.setTextureSize(128, 128);
Shape8.mirror = true;
setRotation(Shape8, 0F, 0F, 0F);
Shape9 = new ModelRenderer(this, 110, 8);
Shape9.addBox(0F, 0F, 0F, 2, 8, 2);
Shape9.setRotationPoint(-1F, -42F, -1F);
Shape9.setTextureSize(128, 128);
Shape9.mirror = true;
setRotation(Shape9, 0F, 0F, 0F);
Shape10 = new ModelRenderer(this, 72, 8);
Shape10.addBox(0F, 0F, 0F, 6, 6, 2);
Shape10.setRotationPoint(8F, -23F, 1F);
Shape10.setTextureSize(128, 128);
Shape10.mirror = false;
setRotation(Shape10, 0F, -3.141593F, -0.7853982F);
Shape10a = new ModelRenderer(this, 72, 17);
Shape10a.addBox(0F, 0F, 0F, 2, 6, 6);
Shape10a.setRotationPoint(-1F, -23F, -8F);
Shape10a.setTextureSize(128, 128);
Shape10a.mirror = false;
setRotation(Shape10a, 0.7853982F, 0F, 0F);
Shape10b = new ModelRenderer(this, 72, 8);
Shape10b.addBox(0F, 0F, 0F, 6, 6, 2);
Shape10b.setRotationPoint(-8F, -23F, -1F);
Shape10b.setTextureSize(128, 128);
Shape10b.mirror = false;
setRotation(Shape10b, 0F, 0F, -0.7853982F);
Shape10c = new ModelRenderer(this, 72, 8);
Shape10c.addBox(0F, 0F, 0F, 6, 6, 2);
Shape10c.setRotationPoint(-1F, -23F, 8F);
Shape10c.setTextureSize(128, 128);
Shape10c.mirror = false;
setRotation(Shape10c, 0F, 1.570796F, -0.7853982F);
Shape11d = new ModelRenderer(this, 72, 0);
Shape11d.addBox(0F, 0F, 0F, 16, 5, 2);
Shape11d.setRotationPoint(-8F, -23F, -1F);
Shape11d.setTextureSize(128, 128);
Shape11d.mirror = true;
setRotation(Shape11d, 0F, 0F, 0F);
Shape11e = new ModelRenderer(this, 72, 0);
Shape11e.addBox(0F, 0F, 0F, 16, 5, 2);
Shape11e.setRotationPoint(-1F, -23F, 8F);
Shape11e.setTextureSize(128, 128);
Shape11e.mirror = true;
setRotation(Shape11e, 0F, 1.570796F, 0F);
Shape2z = new ModelRenderer(this, 0, 103);
Shape2z.addBox(0F, 0F, 0F, 16, 10, 4);
Shape2z.setRotationPoint(-8F, 14F, -2F);
Shape2z.setTextureSize(128, 128);
Shape2z.mirror = true;
setRotation(Shape2z, 0F, 0F, 0F);
Shape12 = new ModelRenderer(this, 0, 76);
Shape12.addBox(0F, 0F, 0F, 4, 10, 16);
Shape12.setRotationPoint(-2F, 14F, -8F);
Shape12.setTextureSize(128, 128);
Shape12.mirror = true;
setRotation(Shape12, 0F, 0F, 0F);
Shape13 = new ModelRenderer(this, 0, 47);
Shape13.addBox(0F, 0F, 0F, 3, 14, 14);
Shape13.setRotationPoint(6F, 13F, -8F);
Shape13.setTextureSize(128, 128);
Shape13.mirror = true;
setRotation(Shape13, 0.7853982F, -0.7853982F, 0F);
Shape14 = new ModelRenderer(this, 0, 47);
Shape14.addBox(0F, 0F, 0F, 3, 14, 14);
Shape14.setRotationPoint(8F, 13F, 6F);
Shape14.setTextureSize(128, 128);
Shape14.mirror = true;
setRotation(Shape14, 0.7853982F, -2.356194F, 0F);
}
@Override
public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5)
{
super.render(entity, f, f1, f2, f3, f4, f5);
this.setRotationAngles(f, f1, f2, f3, f4, f5, entity);
this.render(f5);
}
@Override
public void render(float f5)
{
Shape1.render(f5);
Shape1a.render(f5);
Shape2.render(f5);
Shape2a.render(f5);
Shape3.render(f5);
Shape4.render(f5);
Shape5.render(f5);
Shape6.render(f5);
Shape6a.render(f5);
Shape6b.render(f5);
Shape6c.render(f5);
Shape6d.render(f5);
Shape6e.render(f5);
Shape6f.render(f5);
Shape6g.render(f5);
Shape7.render(f5);
Shape8.render(f5);
Shape9.render(f5);
Shape10.render(f5);
Shape10a.render(f5);
Shape10b.render(f5);
Shape10c.render(f5);
Shape11d.render(f5);
Shape11e.render(f5);
Shape2z.render(f5);
Shape12.render(f5);
Shape13.render(f5);
Shape14.render(f5);
}
private void setRotation(ModelRenderer model, float x, float y, float z)
{
model.rotateAngleX = x;
model.rotateAngleY = y;
model.rotateAngleZ = z;
}
}
@@ -0,0 +1,288 @@
package defense.client.model.missile;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.entity.Entity;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@SideOnly(Side.CLIENT)
public class ModelRegenMissile extends ModelMissileBase
{
// fields
ModelRenderer MAIN_MODULE;
ModelRenderer WING_B1;
ModelRenderer WING_B2;
ModelRenderer WING_B3;
ModelRenderer WING_B4;
ModelRenderer WING_BA1;
ModelRenderer WING_BB1;
ModelRenderer WING_BA2;
ModelRenderer WING_BB2;
ModelRenderer WING_TA1;
ModelRenderer WING_TB1;
ModelRenderer WING_TC3;
ModelRenderer WING_TD1;
ModelRenderer WING_TAC2;
ModelRenderer WING_TBD2;
ModelRenderer WING_TC1;
ModelRenderer WING_TA3;
ModelRenderer WING_TD3;
ModelRenderer WING_TB3;
ModelRenderer T_SUPPORT_1;
ModelRenderer T_SUPPORT_2;
ModelRenderer WARHEAD_SUPPORT_A1;
ModelRenderer WARHEAD_SUPPORT_B1;
ModelRenderer WARHEAD_SUPPORT_C1;
ModelRenderer WRHEAD_SUPPORT_D1;
ModelRenderer WARHEAD_SUPPORT_A2;
ModelRenderer WARHEAD_SUPPORT_C2;
ModelRenderer WARHEAD_SUPPORT_D2;
ModelRenderer WARHEAD_SUPPORT_B2;
ModelRenderer Shape8;
ModelRenderer Shape9;
public ModelRegenMissile()
{
textureWidth = 128;
textureHeight = 128;
MAIN_MODULE = new ModelRenderer(this, 0, 0);
MAIN_MODULE.addBox(-4F, 0F, -4F, 8, 64, 8);
MAIN_MODULE.setRotationPoint(0F, -40F, 0F);
MAIN_MODULE.setTextureSize(128, 128);
MAIN_MODULE.mirror = true;
setRotation(MAIN_MODULE, 0F, 0F, 0F);
WING_B1 = new ModelRenderer(this, 34, 19);
WING_B1.addBox(0F, 0F, 0F, 14, 10, 1);
WING_B1.setRotationPoint(-7F, 14F, 6F);
WING_B1.setTextureSize(128, 128);
WING_B1.mirror = true;
setRotation(WING_B1, 0F, 0F, 0F);
WING_B2 = new ModelRenderer(this, 34, 19);
WING_B2.addBox(0F, 0F, 0F, 14, 10, 1);
WING_B2.setRotationPoint(-7F, 14F, -7F);
WING_B2.setTextureSize(128, 128);
WING_B2.mirror = true;
setRotation(WING_B2, 0F, 0F, 0F);
WING_B3 = new ModelRenderer(this, 34, 31);
WING_B3.addBox(0F, 0F, 0F, 1, 10, 12);
WING_B3.setRotationPoint(-7F, 14F, -6F);
WING_B3.setTextureSize(128, 128);
WING_B3.mirror = true;
setRotation(WING_B3, 0F, 0F, 0F);
WING_B4 = new ModelRenderer(this, 34, 31);
WING_B4.addBox(0F, 0F, 0F, 1, 10, 12);
WING_B4.setRotationPoint(6F, 14F, -6F);
WING_B4.setTextureSize(128, 128);
WING_B4.mirror = true;
setRotation(WING_B4, 0F, 0F, 0F);
WING_BA1 = new ModelRenderer(this, 72, 0);
WING_BA1.addBox(-11F, 0F, -1F, 22, 12, 2);
WING_BA1.setRotationPoint(0F, 12F, 0F);
WING_BA1.setTextureSize(128, 128);
WING_BA1.mirror = true;
setRotation(WING_BA1, 0F, 0.7853982F, 0F);
WING_BB1 = new ModelRenderer(this, 72, 0);
WING_BB1.addBox(-11F, 0F, -1F, 22, 12, 2);
WING_BB1.setRotationPoint(0F, 12F, 0F);
WING_BB1.setTextureSize(128, 128);
WING_BB1.mirror = true;
setRotation(WING_BB1, 0F, -0.7853982F, 0F);
WING_BA2 = new ModelRenderer(this, 34, 0);
WING_BA2.addBox(-8F, -8F, -1F, 16, 16, 2);
WING_BA2.setRotationPoint(0F, 12F, 0F);
WING_BA2.setTextureSize(128, 128);
WING_BA2.mirror = true;
setRotation(WING_BA2, 0F, 0.7853982F, 0.7853982F);
WING_BB2 = new ModelRenderer(this, 34, 0);
WING_BB2.addBox(-8F, -8F, -1F, 16, 16, 2);
WING_BB2.setRotationPoint(0F, 12F, 0F);
WING_BB2.setTextureSize(128, 128);
WING_BB2.mirror = true;
setRotation(WING_BB2, 0F, -0.7853982F, 0.7853982F);
WING_TA1 = new ModelRenderer(this, 22, 74);
WING_TA1.addBox(0F, 0F, 0F, 2, 7, 5);
WING_TA1.setRotationPoint(-1F, -23F, 4F);
WING_TA1.setTextureSize(128, 128);
WING_TA1.mirror = true;
setRotation(WING_TA1, -0.5235988F, 0F, 0F);
WING_TB1 = new ModelRenderer(this, 0, 103);
WING_TB1.addBox(0F, 0F, 0F, 5, 8, 2);
WING_TB1.setRotationPoint(4F, -23F, -1F);
WING_TB1.setTextureSize(128, 128);
WING_TB1.mirror = true;
setRotation(WING_TB1, 0F, 0F, 0.5235988F);
WING_TC3 = new ModelRenderer(this, 0, 81);
WING_TC3.addBox(-1F, 0F, 0F, 2, 4, 5);
WING_TC3.setRotationPoint(0F, -35F, -4F);
WING_TC3.setTextureSize(128, 128);
WING_TC3.mirror = true;
setRotation(WING_TC3, -0.5235988F, 3.141593F, 0F);
WING_TD1 = new ModelRenderer(this, 0, 103);
WING_TD1.addBox(0F, 0F, -1F, 5, 8, 2);
WING_TD1.setRotationPoint(-4F, -23F, 0F);
WING_TD1.setTextureSize(128, 128);
WING_TD1.mirror = true;
setRotation(WING_TD1, 0F, 3.141593F, 0.5235988F);
WING_TAC2 = new ModelRenderer(this, 0, 74);
WING_TAC2.addBox(-1F, 0F, -8F, 2, 12, 16);
WING_TAC2.setRotationPoint(0F, -32F, 0F);
WING_TAC2.setTextureSize(128, 128);
WING_TAC2.mirror = true;
setRotation(WING_TAC2, 0F, 0F, 0F);
WING_TBD2 = new ModelRenderer(this, 0, 74);
WING_TBD2.addBox(-1F, 0F, -8F, 2, 12, 16);
WING_TBD2.setRotationPoint(0F, -32F, 0F);
WING_TBD2.setTextureSize(128, 128);
WING_TBD2.mirror = true;
setRotation(WING_TBD2, 0F, 1.570796F, 0F);
WING_TC1 = new ModelRenderer(this, 22, 74);
WING_TC1.addBox(-1F, 0F, 0F, 2, 8, 5);
WING_TC1.setRotationPoint(0F, -23F, -4F);
WING_TC1.setTextureSize(128, 128);
WING_TC1.mirror = true;
setRotation(WING_TC1, -0.5235988F, 3.141593F, 0F);
WING_TA3 = new ModelRenderer(this, 0, 81);
WING_TA3.addBox(-1F, 0F, 0F, 2, 4, 5);
WING_TA3.setRotationPoint(0F, -35F, 4F);
WING_TA3.setTextureSize(128, 128);
WING_TA3.mirror = true;
setRotation(WING_TA3, -0.5235988F, 0F, 0F);
WING_TD3 = new ModelRenderer(this, 0, 74);
WING_TD3.addBox(0F, 0F, -1F, 5, 4, 2);
WING_TD3.setRotationPoint(-4F, -35F, 0F);
WING_TD3.setTextureSize(128, 128);
WING_TD3.mirror = true;
setRotation(WING_TD3, 0F, 3.141593F, 0.5235988F);
WING_TB3 = new ModelRenderer(this, 0, 74);
WING_TB3.addBox(0F, 0F, 0F, 5, 4, 2);
WING_TB3.setRotationPoint(4F, -35F, -1F);
WING_TB3.setTextureSize(128, 128);
WING_TB3.mirror = true;
setRotation(WING_TB3, 0F, 0F, 0.5235988F);
T_SUPPORT_1 = new ModelRenderer(this, 72, 16);
T_SUPPORT_1.addBox(0F, 0F, 0F, 10, 1, 10);
T_SUPPORT_1.setRotationPoint(-5F, -37F, -5F);
T_SUPPORT_1.setTextureSize(128, 128);
T_SUPPORT_1.mirror = true;
setRotation(T_SUPPORT_1, 0F, 0F, 0F);
T_SUPPORT_2 = new ModelRenderer(this, 72, 16);
T_SUPPORT_2.addBox(0F, 0F, 0F, 10, 1, 10);
T_SUPPORT_2.setRotationPoint(-5F, -41F, -5F);
T_SUPPORT_2.setTextureSize(128, 128);
T_SUPPORT_2.mirror = true;
setRotation(T_SUPPORT_2, 0F, 0F, 0F);
WARHEAD_SUPPORT_A1 = new ModelRenderer(this, 90, 38);
WARHEAD_SUPPORT_A1.addBox(0F, 0F, 0F, 2, 6, 2);
WARHEAD_SUPPORT_A1.setRotationPoint(-5F, -47F, -1F);
WARHEAD_SUPPORT_A1.setTextureSize(128, 128);
WARHEAD_SUPPORT_A1.mirror = true;
setRotation(WARHEAD_SUPPORT_A1, 0F, 0F, 0F);
WARHEAD_SUPPORT_B1 = new ModelRenderer(this, 90, 38);
WARHEAD_SUPPORT_B1.addBox(0F, 0F, 0F, 2, 6, 2);
WARHEAD_SUPPORT_B1.setRotationPoint(-1F, -47F, 3F);
WARHEAD_SUPPORT_B1.setTextureSize(128, 128);
WARHEAD_SUPPORT_B1.mirror = true;
setRotation(WARHEAD_SUPPORT_B1, 0F, 0F, 0F);
WARHEAD_SUPPORT_C1 = new ModelRenderer(this, 90, 38);
WARHEAD_SUPPORT_C1.addBox(0F, 0F, 0F, 2, 6, 2);
WARHEAD_SUPPORT_C1.setRotationPoint(3F, -47F, -1F);
WARHEAD_SUPPORT_C1.setTextureSize(128, 128);
WARHEAD_SUPPORT_C1.mirror = true;
setRotation(WARHEAD_SUPPORT_C1, 0F, 0F, 0F);
WRHEAD_SUPPORT_D1 = new ModelRenderer(this, 90, 38);
WRHEAD_SUPPORT_D1.addBox(0F, 0F, 0F, 2, 6, 2);
WRHEAD_SUPPORT_D1.setRotationPoint(-1F, -47F, -5F);
WRHEAD_SUPPORT_D1.setTextureSize(128, 128);
WRHEAD_SUPPORT_D1.mirror = true;
setRotation(WRHEAD_SUPPORT_D1, 0F, 0F, 0F);
WARHEAD_SUPPORT_A2 = new ModelRenderer(this, 90, 38);
WARHEAD_SUPPORT_A2.addBox(0F, -6F, 0F, 2, 6, 2);
WARHEAD_SUPPORT_A2.setRotationPoint(-5F, -47F, -1F);
WARHEAD_SUPPORT_A2.setTextureSize(128, 128);
WARHEAD_SUPPORT_A2.mirror = true;
setRotation(WARHEAD_SUPPORT_A2, 0F, 0F, 0.5235988F);
WARHEAD_SUPPORT_C2 = new ModelRenderer(this, 90, 38);
WARHEAD_SUPPORT_C2.addBox(-2F, -6F, 0F, 2, 6, 2);
WARHEAD_SUPPORT_C2.setRotationPoint(5F, -47F, -1F);
WARHEAD_SUPPORT_C2.setTextureSize(128, 128);
WARHEAD_SUPPORT_C2.mirror = true;
setRotation(WARHEAD_SUPPORT_C2, 0F, 0F, -0.5235988F);
WARHEAD_SUPPORT_D2 = new ModelRenderer(this, 90, 38);
WARHEAD_SUPPORT_D2.addBox(0F, -6F, 0F, 2, 6, 2);
WARHEAD_SUPPORT_D2.setRotationPoint(-1F, -47F, -5F);
WARHEAD_SUPPORT_D2.setTextureSize(128, 128);
WARHEAD_SUPPORT_D2.mirror = true;
setRotation(WARHEAD_SUPPORT_D2, -0.5235988F, 0F, 0F);
WARHEAD_SUPPORT_B2 = new ModelRenderer(this, 90, 38);
WARHEAD_SUPPORT_B2.addBox(0F, -6F, -2F, 2, 6, 2);
WARHEAD_SUPPORT_B2.setRotationPoint(-1F, -47F, 5F);
WARHEAD_SUPPORT_B2.setTextureSize(128, 128);
WARHEAD_SUPPORT_B2.mirror = true;
setRotation(WARHEAD_SUPPORT_B2, 0.5235988F, 0F, 0F);
Shape8 = new ModelRenderer(this, 72, 32);
Shape8.addBox(-2F, 0F, -2F, 4, 4, 4);
Shape8.setRotationPoint(0F, -45F, 0F);
Shape8.setTextureSize(128, 128);
Shape8.mirror = true;
setRotation(Shape8, 0F, 0F, 0F);
Shape9 = new ModelRenderer(this, 90, 32);
Shape9.addBox(-1F, 0F, -1F, 2, 2, 2);
Shape9.setRotationPoint(0F, -48F, 0F);
Shape9.setTextureSize(128, 128);
Shape9.mirror = true;
setRotation(Shape9, 0F, 0F, 0F);
}
@Override
public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5)
{
super.render(entity, f, f1, f2, f3, f4, f5);
this.setRotationAngles(f, f1, f2, f3, f4, f5, entity);
this.render(f5);
}
@Override
public void render(float f5)
{
MAIN_MODULE.render(f5);
WING_B1.render(f5);
WING_B2.render(f5);
WING_B3.render(f5);
WING_B4.render(f5);
WING_BA1.render(f5);
WING_BB1.render(f5);
WING_BA2.render(f5);
WING_BB2.render(f5);
WING_TA1.render(f5);
WING_TB1.render(f5);
WING_TC3.render(f5);
WING_TD1.render(f5);
WING_TAC2.render(f5);
WING_TBD2.render(f5);
WING_TC1.render(f5);
WING_TA3.render(f5);
WING_TD3.render(f5);
WING_TB3.render(f5);
T_SUPPORT_1.render(f5);
T_SUPPORT_2.render(f5);
WARHEAD_SUPPORT_A1.render(f5);
WARHEAD_SUPPORT_B1.render(f5);
WARHEAD_SUPPORT_C1.render(f5);
WRHEAD_SUPPORT_D1.render(f5);
WARHEAD_SUPPORT_A2.render(f5);
WARHEAD_SUPPORT_C2.render(f5);
WARHEAD_SUPPORT_D2.render(f5);
WARHEAD_SUPPORT_B2.render(f5);
Shape8.render(f5);
Shape9.render(f5);
}
private void setRotation(ModelRenderer model, float x, float y, float z)
{
model.rotateAngleX = x;
model.rotateAngleY = y;
model.rotateAngleZ = z;
}
}
@@ -0,0 +1,337 @@
package defense.client.model.missile;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.entity.Entity;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import defense.client.tmt.ModelRendererTurbo;
@SideOnly(Side.CLIENT)
public class ModelRepulsiveMissile extends ModelMissileBase
{
// fields
ModelRendererTurbo[] bodyModel;
public ModelRepulsiveMissile()
{
int textureX = 32;
int textureY = 128;
bodyModel = new ModelRendererTurbo[58];
bodyModel[0] = new ModelRendererTurbo(this, 0, 0, textureX, textureY); // Import ImportImportBox0
bodyModel[1] = new ModelRendererTurbo(this, 0, 0, textureX, textureY); // Import ImportImportBox1
bodyModel[2] = new ModelRendererTurbo(this, 0, 0, textureX, textureY); // Import ImportImportBox2
bodyModel[3] = new ModelRendererTurbo(this, 0, 15, textureX, textureY); // Import ImportBox0
bodyModel[4] = new ModelRendererTurbo(this, 0, 15, textureX, textureY); // Import ImportBox1
bodyModel[5] = new ModelRendererTurbo(this, 0, 15, textureX, textureY); // Import ImportBox2
bodyModel[6] = new ModelRendererTurbo(this, 0, 23, textureX, textureY); // Import ImportBox3
bodyModel[7] = new ModelRendererTurbo(this, 0, 23, textureX, textureY); // Import ImportBox4
bodyModel[8] = new ModelRendererTurbo(this, 0, 23, textureX, textureY); // Import ImportBox5
bodyModel[9] = new ModelRendererTurbo(this, 0, 32, textureX, textureY); // Import ImportBox6
bodyModel[10] = new ModelRendererTurbo(this, 0, 47, textureX, textureY); // Import ImportBox7
bodyModel[11] = new ModelRendererTurbo(this, 0, 47, textureX, textureY); // Import ImportBox8
bodyModel[12] = new ModelRendererTurbo(this, 0, 61, textureX, textureY); // Import ImportBox9
bodyModel[13] = new ModelRendererTurbo(this, 0, 61, textureX, textureY); // Import ImportBox10
bodyModel[14] = new ModelRendererTurbo(this, 0, 61, textureX, textureY); // Import ImportBox11
bodyModel[15] = new ModelRendererTurbo(this, 0, 66, textureX, textureY); // Import ImportBox12
bodyModel[16] = new ModelRendererTurbo(this, 0, 66, textureX, textureY); // Import ImportBox13
bodyModel[17] = new ModelRendererTurbo(this, 0, 66, textureX, textureY); // Import ImportBox14
bodyModel[18] = new ModelRendererTurbo(this, 0, 69, textureX, textureY); // Import ImportBox15
bodyModel[19] = new ModelRendererTurbo(this, 0, 69, textureX, textureY); // Import ImportBox16
bodyModel[20] = new ModelRendererTurbo(this, 0, 69, textureX, textureY); // Import ImportBox17
bodyModel[21] = new ModelRendererTurbo(this, 0, 75, textureX, textureY); // Import ImportBox18
bodyModel[22] = new ModelRendererTurbo(this, 0, 75, textureX, textureY); // Import ImportBox19
bodyModel[23] = new ModelRendererTurbo(this, 0, 75, textureX, textureY); // Import ImportBox20
bodyModel[24] = new ModelRendererTurbo(this, 0, 82, textureX, textureY); // Import ImportBox21
bodyModel[25] = new ModelRendererTurbo(this, 0, 82, textureX, textureY); // Import ImportBox22
bodyModel[26] = new ModelRendererTurbo(this, 0, 82, textureX, textureY); // Import ImportBox23
bodyModel[27] = new ModelRendererTurbo(this, 0, 82, textureX, textureY); // Import ImportBox24
bodyModel[28] = new ModelRendererTurbo(this, 0, 91, textureX, textureY); // Box 0
bodyModel[29] = new ModelRendererTurbo(this, 0, 97, textureX, textureY); // Box 1
bodyModel[30] = new ModelRendererTurbo(this, 0, 97, textureX, textureY); // Box 2
bodyModel[31] = new ModelRendererTurbo(this, 0, 91, textureX, textureY); // Box 3
bodyModel[32] = new ModelRendererTurbo(this, 0, 97, textureX, textureY); // Box 4
bodyModel[33] = new ModelRendererTurbo(this, 0, 97, textureX, textureY); // Box 5
bodyModel[34] = new ModelRendererTurbo(this, 0, 101, textureX, textureY); // Box 6
bodyModel[35] = new ModelRendererTurbo(this, 0, 105, textureX, textureY); // Box 7
bodyModel[36] = new ModelRendererTurbo(this, 0, 109, textureX, textureY); // Box 8
bodyModel[37] = new ModelRendererTurbo(this, 0, 109, textureX, textureY); // Box 9
bodyModel[38] = new ModelRendererTurbo(this, 0, 109, textureX, textureY); // Box 10
bodyModel[39] = new ModelRendererTurbo(this, 0, 109, textureX, textureY); // Box 11
bodyModel[40] = new ModelRendererTurbo(this, 0, 109, textureX, textureY); // Box 12
bodyModel[41] = new ModelRendererTurbo(this, 0, 109, textureX, textureY); // Box 13
bodyModel[42] = new ModelRendererTurbo(this, 0, 109, textureX, textureY); // Box 14
bodyModel[43] = new ModelRendererTurbo(this, 0, 109, textureX, textureY); // Box 15
bodyModel[44] = new ModelRendererTurbo(this, 0, 101, textureX, textureY); // Box 16
bodyModel[45] = new ModelRendererTurbo(this, 0, 105, textureX, textureY); // Box 17
bodyModel[46] = new ModelRendererTurbo(this, 0, 109, textureX, textureY); // Box 18
bodyModel[47] = new ModelRendererTurbo(this, 0, 109, textureX, textureY); // Box 19
bodyModel[48] = new ModelRendererTurbo(this, 0, 109, textureX, textureY); // Box 20
bodyModel[49] = new ModelRendererTurbo(this, 0, 109, textureX, textureY); // Box 21
bodyModel[50] = new ModelRendererTurbo(this, 0, 101, textureX, textureY); // Box 22
bodyModel[51] = new ModelRendererTurbo(this, 0, 105, textureX, textureY); // Box 23
bodyModel[52] = new ModelRendererTurbo(this, 0, 109, textureX, textureY); // Box 24
bodyModel[53] = new ModelRendererTurbo(this, 0, 109, textureX, textureY); // Box 25
bodyModel[54] = new ModelRendererTurbo(this, 0, 109, textureX, textureY); // Box 26
bodyModel[55] = new ModelRendererTurbo(this, 0, 109, textureX, textureY); // Box 27
bodyModel[56] = new ModelRendererTurbo(this, 0, 101, textureX, textureY); // Box 28
bodyModel[57] = new ModelRendererTurbo(this, 0, 105, textureX, textureY); // Box 29
bodyModel[0].addBox(-3F, -1F, -1F, 6, 12, 2, 0F); // Import ImportImportBox0
bodyModel[0].setRotationPoint(0F, 7F, 0F);
bodyModel[0].rotateAngleY = 3.92699082F;
bodyModel[1].addShapeBox(-3F, -1F, -3F, 6, 12, 2, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import ImportImportBox1
bodyModel[1].setRotationPoint(0F, 7F, 0F);
bodyModel[1].rotateAngleY = 3.92699082F;
bodyModel[2].addShapeBox(-3F, -1F, 1F, 6, 12, 2, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F); // Import ImportImportBox2
bodyModel[2].setRotationPoint(0F, 7F, 0F);
bodyModel[2].rotateAngleY = 3.92699082F;
bodyModel[3].addShapeBox(-3F, -1F, -1F, 6, 6, 2, 0F, -1F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import ImportBox0
bodyModel[3].setRotationPoint(0F, 19F, 0F);
bodyModel[3].rotateAngleY = 3.92699082F;
bodyModel[4].addShapeBox(-3F, -1F, -3F, 6, 6, 2, 0F, -2F, 0F, -1F, -2F, 0F, -1F, -1F, 0F, 0F, -1F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import ImportBox1
bodyModel[4].setRotationPoint(0F, 19F, 0F);
bodyModel[4].rotateAngleY = 3.92699082F;
bodyModel[5].addShapeBox(-3F, -1F, 1F, 6, 6, 2, 0F, -1F, 0F, 0F, -1F, 0F, 0F, -2F, 0F, -1F, -2F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F); // Import ImportBox2
bodyModel[5].setRotationPoint(0F, 19F, 0F);
bodyModel[5].rotateAngleY = 3.92699082F;
bodyModel[6].addShapeBox(-3F, -1F, -3F, 6, 7, 2, 0F, -2F, 0F, -1F, -2F, 0F, -1F, -1F, 0F, 0F, -1F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import ImportBox3
bodyModel[6].setRotationPoint(0F, 0F, 0F);
bodyModel[6].rotateAngleY = 3.92699082F;
bodyModel[7].addShapeBox(-3F, -1F, -1F, 6, 7, 2, 0F, -1F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import ImportBox4
bodyModel[7].setRotationPoint(0F, 0F, 0F);
bodyModel[7].rotateAngleY = 3.92699082F;
bodyModel[8].addShapeBox(-3F, -1F, 1F, 6, 7, 2, 0F, -1F, 0F, 0F, -1F, 0F, 0F, -2F, 0F, -1F, -2F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F); // Import ImportBox5
bodyModel[8].setRotationPoint(0F, 0F, 0F);
bodyModel[8].rotateAngleY = 3.92699082F;
bodyModel[9].addShapeBox(-2F, -1F, -1F, 4, 13, 2, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import ImportBox6
bodyModel[9].setRotationPoint(0F, -13F, 0F);
bodyModel[9].rotateAngleY = 3.92699082F;
bodyModel[10].addShapeBox(-2F, -1F, -2F, 4, 13, 1, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import ImportBox7
bodyModel[10].setRotationPoint(0F, -13F, 0F);
bodyModel[10].rotateAngleY = 3.92699082F;
bodyModel[11].addShapeBox(-2F, -1F, 1F, 4, 13, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F); // Import ImportBox8
bodyModel[11].setRotationPoint(0F, -13F, 0F);
bodyModel[11].rotateAngleY = 3.92699082F;
bodyModel[12].addShapeBox(-3F, -1F, 1F, 6, 3, 2, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, -2F, 0F, -1F, -2F, 0F, -1F); // Import ImportBox9
bodyModel[12].setRotationPoint(0F, -16F, 0F);
bodyModel[12].rotateAngleY = 3.92699082F;
bodyModel[13].addShapeBox(-3F, -1F, -1F, 6, 3, 2, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F); // Import ImportBox10
bodyModel[13].setRotationPoint(0F, -16F, 0F);
bodyModel[13].rotateAngleY = 3.92699082F;
bodyModel[14].addShapeBox(-3F, -1F, -3F, 6, 3, 2, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, -1F, -2F, 0F, -1F, -1F, 0F, 0F, -1F, 0F, 0F); // Import ImportBox11
bodyModel[14].setRotationPoint(0F, -16F, 0F);
bodyModel[14].rotateAngleY = 3.92699082F;
bodyModel[15].addShapeBox(-3F, -1F, 1F, 6, 1, 2, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F); // Import ImportBox12
bodyModel[15].setRotationPoint(0F, -17F, 0F);
bodyModel[15].rotateAngleY = 3.92699082F;
bodyModel[16].addBox(-3F, -1F, -1F, 6, 1, 2, 0F); // Import ImportBox13
bodyModel[16].setRotationPoint(0F, -17F, 0F);
bodyModel[16].rotateAngleY = 3.92699082F;
bodyModel[17].addShapeBox(-3F, -1F, -3F, 6, 1, 2, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import ImportBox14
bodyModel[17].setRotationPoint(0F, -17F, 0F);
bodyModel[17].rotateAngleY = 3.92699082F;
bodyModel[18].addShapeBox(-3F, -1F, -1F, 6, 4, 2, 0F, -1.5F, 0F, -0.5F, -1.5F, 0F, -0.5F, -1.5F, 0F, -0.5F, -1.5F, 0F, -0.5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import ImportBox15
bodyModel[18].setRotationPoint(0F, -21F, 0F);
bodyModel[18].rotateAngleY = 3.92699082F;
bodyModel[19].addShapeBox(-3F, -1F, -3F, 6, 4, 2, 0F, -2.5F, 0F, -1.5F, -2.5F, 0F, -1.5F, -1.5F, 0F, 0.5F, -1.5F, 0F, 0.5F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import ImportBox16
bodyModel[19].setRotationPoint(0F, -21F, 0F);
bodyModel[19].rotateAngleY = 3.92699082F;
bodyModel[20].addShapeBox(-3F, -1F, 1F, 6, 4, 2, 0F, -1.5F, 0F, 0.5F, -1.5F, 0F, 0.5F, -2.5F, 0F, -1.5F, -2.5F, 0F, -1.5F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F); // Import ImportBox17
bodyModel[20].setRotationPoint(0F, -21F, 0F);
bodyModel[20].rotateAngleY = 3.92699082F;
bodyModel[21].addShapeBox(-1.5F, 0F, -0.5F, 3, 6, 1, 0F, -1F, 0F, -0.33F, -1F, 0F, -0.33F, -1F, 0F, -0.33F, -1F, 0F, -0.33F, 0F, -0.5F, 0F, 0F, -0.5F, 0F, 0F, -0.5F, 0F, 0F, -0.5F, 0F); // Import ImportBox18
bodyModel[21].setRotationPoint(0F, -27.5F, 0F);
bodyModel[21].rotateAngleY = 3.92699082F;
bodyModel[22].addShapeBox(-1.5F, 0F, -1.5F, 3, 6, 1, 0F, -1.33F, 0F, -1F, -1.33F, 0F, -1F, -1F, 0F, 0.33F, -1F, 0F, 0.33F, -1F, -0.5F, 0F, -1F, -0.5F, 0F, 0F, -0.5F, 0F, 0F, -0.5F, 0F); // Import ImportBox19
bodyModel[22].setRotationPoint(0F, -27.5F, 0F);
bodyModel[22].rotateAngleY = 3.92699082F;
bodyModel[23].addShapeBox(-1.5F, 0F, 0.5F, 3, 6, 1, 0F, -1F, 0F, 0.33F, -1F, 0F, 0.33F, -1.33F, 0F, -1F, -1.33F, 0F, -1F, 0F, -0.5F, 0F, 0F, -0.5F, 0F, -1F, -0.5F, 0F, -1F, -0.5F, 0F); // Import ImportBox20
bodyModel[23].setRotationPoint(0F, -27.5F, 0F);
bodyModel[23].rotateAngleY = 3.92699082F;
bodyModel[24].addShapeBox(-7F, -1F, -0.5F, 4, 8, 1, 0F, 0F, -5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import ImportBox21
bodyModel[24].setRotationPoint(0F, 11F, 0F);
bodyModel[24].rotateAngleY = 3.92699082F;
bodyModel[25].addShapeBox(-7F, -1F, -0.5F, 4, 8, 1, 0F, 0F, -5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import ImportBox22
bodyModel[25].setRotationPoint(0F, 11F, 0F);
bodyModel[25].rotateAngleY = 5.49778714F;
bodyModel[26].addShapeBox(-7F, -1F, -0.5F, 4, 8, 1, 0F, 0F, -5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import ImportBox23
bodyModel[26].setRotationPoint(0F, 11F, 0F);
bodyModel[26].rotateAngleY = 2.35619449F;
bodyModel[27].addShapeBox(-7F, -1F, -0.5F, 4, 8, 1, 0F, 0F, -5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import ImportBox24
bodyModel[27].setRotationPoint(0F, 11F, 0F);
bodyModel[27].rotateAngleY = 0.78539816F;
bodyModel[28].addShapeBox(-2.5F, -1F, -1.5F, 5, 3, 3, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 0
bodyModel[28].setRotationPoint(0F, -12F, 0F);
bodyModel[28].rotateAngleY = 3.92699082F;
bodyModel[29].addShapeBox(-2.5F, -1F, -2.5F, 5, 3, 1, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 1
bodyModel[29].setRotationPoint(0F, -12F, 0F);
bodyModel[29].rotateAngleY = 3.92699082F;
bodyModel[30].addShapeBox(-2.5F, -1F, 1.5F, 5, 3, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F); // Box 2
bodyModel[30].setRotationPoint(0F, -12F, 0F);
bodyModel[30].rotateAngleY = 3.92699082F;
bodyModel[31].addShapeBox(-2.5F, -1F, -1.5F, 5, 3, 3, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 3
bodyModel[31].setRotationPoint(0F, -5F, 0F);
bodyModel[31].rotateAngleY = 3.92699082F;
bodyModel[32].addShapeBox(-2.5F, -1F, 1.5F, 5, 3, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F); // Box 4
bodyModel[32].setRotationPoint(0F, -5F, 0F);
bodyModel[32].rotateAngleY = 3.92699082F;
bodyModel[33].addShapeBox(-2.5F, -1F, -2.5F, 5, 3, 1, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 5
bodyModel[33].setRotationPoint(0F, -5F, 0F);
bodyModel[33].rotateAngleY = 3.92699082F;
bodyModel[34].addShapeBox(2.5F, -1F, -0.5F, 5, 3, 1, 0F, 0F, 0F, 0F, 0F, -3F, -0.4F, 0F, -3F, -0.4F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 1F, -0.4F, 0F, 1F, -0.4F, 0F, 0F, 0F); // Box 6
bodyModel[34].setRotationPoint(0F, -12F, 0F);
bodyModel[34].rotateAngleY = 3.92699082F;
bodyModel[35].addShapeBox(2.5F, -1F, -0.5F, 3, 3, 1, 0F, 0F, 0F, 0F, 0F, -4F, -0.4F, 0F, -4F, -0.4F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 1.5F, -0.4F, -1F, 1.5F, -0.4F, 0F, 0F, 0F); // Box 7
bodyModel[35].setRotationPoint(0F, -5F, 0F);
bodyModel[35].rotateAngleY = 3.92699082F;
bodyModel[36].addShapeBox(2.5F, -1F, -0.5F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 8
bodyModel[36].setRotationPoint(0F, -11.8F, 0F);
bodyModel[36].rotateAngleY = 4.71238898F;
bodyModel[37].addShapeBox(2.5F, -1F, -0.5F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 9
bodyModel[37].setRotationPoint(0F, -10.2F, 0F);
bodyModel[37].rotateAngleY = 4.71238898F;
bodyModel[38].addShapeBox(2.5F, -1F, -0.5F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 10
bodyModel[38].setRotationPoint(0F, -3.2F, 0F);
bodyModel[38].rotateAngleY = 4.71238898F;
bodyModel[39].addShapeBox(2.5F, -1F, -0.5F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 11
bodyModel[39].setRotationPoint(0F, -4.8F, 0F);
bodyModel[39].rotateAngleY = 4.71238898F;
bodyModel[40].addShapeBox(2.5F, -1F, -0.5F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 12
bodyModel[40].setRotationPoint(0F, -3.2F, 0F);
bodyModel[40].rotateAngleY = 3.14159265F;
bodyModel[41].addShapeBox(2.5F, -1F, -0.5F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 13
bodyModel[41].setRotationPoint(0F, -4.8F, 0F);
bodyModel[41].rotateAngleY = 3.14159265F;
bodyModel[42].addShapeBox(2.5F, -1F, -0.5F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 14
bodyModel[42].setRotationPoint(0F, -11.8F, 0F);
bodyModel[42].rotateAngleY = 3.14159265F;
bodyModel[43].addShapeBox(2.5F, -1F, -0.5F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 15
bodyModel[43].setRotationPoint(0F, -10.2F, 0F);
bodyModel[43].rotateAngleY = 3.14159265F;
bodyModel[44].addShapeBox(2.5F, -1F, -0.5F, 5, 3, 1, 0F, 0F, 0F, 0F, 0F, -3F, -0.4F, 0F, -3F, -0.4F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 1F, -0.4F, 0F, 1F, -0.4F, 0F, 0F, 0F); // Box 16
bodyModel[44].setRotationPoint(0F, -12F, 0F);
bodyModel[44].rotateAngleY = 2.35619449F;
bodyModel[45].addShapeBox(2.5F, -1F, -0.5F, 3, 3, 1, 0F, 0F, 0F, 0F, 0F, -4F, -0.4F, 0F, -4F, -0.4F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 1.5F, -0.4F, -1F, 1.5F, -0.4F, 0F, 0F, 0F); // Box 17
bodyModel[45].setRotationPoint(0F, -5F, 0F);
bodyModel[45].rotateAngleY = 2.35619449F;
bodyModel[46].addShapeBox(2.5F, -1F, -0.5F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 18
bodyModel[46].setRotationPoint(0F, -3.2F, 0F);
bodyModel[46].rotateAngleY = 1.57079633F;
bodyModel[47].addShapeBox(2.5F, -1F, -0.5F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 19
bodyModel[47].setRotationPoint(0F, -4.8F, 0F);
bodyModel[47].rotateAngleY = 1.57079633F;
bodyModel[48].addShapeBox(2.5F, -1F, -0.5F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 20
bodyModel[48].setRotationPoint(0F, -11.8F, 0F);
bodyModel[48].rotateAngleY = 1.57079633F;
bodyModel[49].addShapeBox(2.5F, -1F, -0.5F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 21
bodyModel[49].setRotationPoint(0F, -10.2F, 0F);
bodyModel[49].rotateAngleY = 1.57079633F;
bodyModel[50].addShapeBox(2.5F, -1F, -0.5F, 5, 3, 1, 0F, 0F, 0F, 0F, 0F, -3F, -0.4F, 0F, -3F, -0.4F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 1F, -0.4F, 0F, 1F, -0.4F, 0F, 0F, 0F); // Box 22
bodyModel[50].setRotationPoint(0F, -12F, 0F);
bodyModel[50].rotateAngleY = 0.78539817F;
bodyModel[51].addShapeBox(2.5F, -1F, -0.5F, 3, 3, 1, 0F, 0F, 0F, 0F, 0F, -4F, -0.4F, 0F, -4F, -0.4F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 1.5F, -0.4F, -1F, 1.5F, -0.4F, 0F, 0F, 0F); // Box 23
bodyModel[51].setRotationPoint(0F, -5F, 0F);
bodyModel[51].rotateAngleY = 0.78539817F;
bodyModel[52].addShapeBox(2.5F, -1F, -0.5F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 24
bodyModel[52].setRotationPoint(0F, -3.2F, 0F);
bodyModel[53].addShapeBox(2.5F, -1F, -0.5F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 25
bodyModel[53].setRotationPoint(0F, -4.8F, 0F);
bodyModel[54].addShapeBox(2.5F, -1F, -0.5F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 26
bodyModel[54].setRotationPoint(0F, -11.8F, 0F);
bodyModel[55].addShapeBox(2.5F, -1F, -0.5F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 27
bodyModel[55].setRotationPoint(0F, -10.2F, 0F);
bodyModel[56].addShapeBox(2.5F, -1F, -0.5F, 5, 3, 1, 0F, 0F, 0F, 0F, 0F, -3F, -0.4F, 0F, -3F, -0.4F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 1F, -0.4F, 0F, 1F, -0.4F, 0F, 0F, 0F); // Box 28
bodyModel[56].setRotationPoint(0F, -12F, 0F);
bodyModel[56].rotateAngleY = -0.78539816F;
bodyModel[57].addShapeBox(2.5F, -1F, -0.5F, 3, 3, 1, 0F, 0F, 0F, 0F, 0F, -4F, -0.4F, 0F, -4F, -0.4F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 1.5F, -0.4F, -1F, 1.5F, -0.4F, 0F, 0F, 0F); // Box 29
bodyModel[57].setRotationPoint(0F, -5F, 0F);
bodyModel[57].rotateAngleY = -0.78539816F;
}
@Override
public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5)
{
super.render(entity, f, f1, f2, f3, f4, f5);
this.setRotationAngles(f, f1, f2, f3, f4, f5, entity);
this.render(f5);
}
@Override
public void render(float f5)
{
render(bodyModel, f5);
}
private void render(ModelRendererTurbo[] models, float f)
{
for(ModelRendererTurbo model : models)
if(model != null)
model.render(f);
}
private void setRotation(ModelRenderer model, float x, float y, float z)
{
model.rotateAngleX = x;
model.rotateAngleY = y;
model.rotateAngleZ = z;
}
}
@@ -0,0 +1,487 @@
package defense.client.model.missile;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.entity.Entity;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import defense.client.tmt.ModelRendererTurbo;
@SideOnly(Side.CLIENT)
public class ModelShrapnelMissile extends ModelMissileBase
{
// fields
ModelRendererTurbo[] bodyModel;
public ModelShrapnelMissile()
{
int textureX = 32;
int textureY = 128;
bodyModel = new ModelRendererTurbo[84];
bodyModel[0] = new ModelRendererTurbo(this, 0, 2, textureX, textureY); // Import ImportBox0
bodyModel[1] = new ModelRendererTurbo(this, 0, 2, textureX, textureY); // Import ImportBox1
bodyModel[2] = new ModelRendererTurbo(this, 0, 2, textureX, textureY); // Import ImportBox2
bodyModel[3] = new ModelRendererTurbo(this, 0, 17, textureX, textureY); // Import Box0
bodyModel[4] = new ModelRendererTurbo(this, 0, 17, textureX, textureY); // Import Box1
bodyModel[5] = new ModelRendererTurbo(this, 0, 17, textureX, textureY); // Import Box2
bodyModel[6] = new ModelRendererTurbo(this, 0, 25, textureX, textureY); // Import Box3
bodyModel[7] = new ModelRendererTurbo(this, 0, 25, textureX, textureY); // Import Box4
bodyModel[8] = new ModelRendererTurbo(this, 0, 25, textureX, textureY); // Import Box5
bodyModel[9] = new ModelRendererTurbo(this, 0, 33, textureX, textureY); // Import Box6
bodyModel[10] = new ModelRendererTurbo(this, 0, 50, textureX, textureY); // Import Box7
bodyModel[11] = new ModelRendererTurbo(this, 0, 50, textureX, textureY); // Import Box8
bodyModel[12] = new ModelRendererTurbo(this, 0, 66, textureX, textureY); // Import Box9
bodyModel[13] = new ModelRendererTurbo(this, 0, 66, textureX, textureY); // Import Box10
bodyModel[14] = new ModelRendererTurbo(this, 0, 66, textureX, textureY); // Import Box11
bodyModel[15] = new ModelRendererTurbo(this, 0, 70, textureX, textureY); // Import Box12
bodyModel[16] = new ModelRendererTurbo(this, 0, 70, textureX, textureY); // Import Box13
bodyModel[17] = new ModelRendererTurbo(this, 0, 70, textureX, textureY); // Import Box14
bodyModel[18] = new ModelRendererTurbo(this, 0, 79, textureX, textureY); // Import Box15
bodyModel[19] = new ModelRendererTurbo(this, 0, 79, textureX, textureY); // Import Box16
bodyModel[20] = new ModelRendererTurbo(this, 0, 79, textureX, textureY); // Import Box17
bodyModel[21] = new ModelRendererTurbo(this, 0, 83, textureX, textureY); // Import Box18
bodyModel[22] = new ModelRendererTurbo(this, 0, 83, textureX, textureY); // Import Box19
bodyModel[23] = new ModelRendererTurbo(this, 0, 83, textureX, textureY); // Import Box20
bodyModel[24] = new ModelRendererTurbo(this, 0, 85, textureX, textureY); // Import Box21
bodyModel[25] = new ModelRendererTurbo(this, 0, 85, textureX, textureY); // Import Box22
bodyModel[26] = new ModelRendererTurbo(this, 0, 85, textureX, textureY); // Import Box23
bodyModel[27] = new ModelRendererTurbo(this, 0, 85, textureX, textureY); // Import Box24
bodyModel[28] = new ModelRendererTurbo(this, 0, 0, textureX, textureY); // Box 0
bodyModel[29] = new ModelRendererTurbo(this, 0, 0, textureX, textureY); // Box 1
bodyModel[30] = new ModelRendererTurbo(this, 0, 0, textureX, textureY); // Box 2
bodyModel[31] = new ModelRendererTurbo(this, 0, 0, textureX, textureY); // Box 3
bodyModel[32] = new ModelRendererTurbo(this, 0, 0, textureX, textureY); // Box 4
bodyModel[33] = new ModelRendererTurbo(this, 0, 0, textureX, textureY); // Box 5
bodyModel[34] = new ModelRendererTurbo(this, 0, 0, textureX, textureY); // Box 6
bodyModel[35] = new ModelRendererTurbo(this, 0, 0, textureX, textureY); // Box 7
bodyModel[36] = new ModelRendererTurbo(this, 0, 0, textureX, textureY); // Box 8
bodyModel[37] = new ModelRendererTurbo(this, 0, 0, textureX, textureY); // Box 9
bodyModel[38] = new ModelRendererTurbo(this, 0, 0, textureX, textureY); // Box 10
bodyModel[39] = new ModelRendererTurbo(this, 0, 0, textureX, textureY); // Box 11
bodyModel[40] = new ModelRendererTurbo(this, 0, 0, textureX, textureY); // Box 12
bodyModel[41] = new ModelRendererTurbo(this, 0, 0, textureX, textureY); // Box 13
bodyModel[42] = new ModelRendererTurbo(this, 0, 0, textureX, textureY); // Box 14
bodyModel[43] = new ModelRendererTurbo(this, 0, 0, textureX, textureY); // Box 15
bodyModel[44] = new ModelRendererTurbo(this, 0, 0, textureX, textureY); // Box 16
bodyModel[45] = new ModelRendererTurbo(this, 0, 0, textureX, textureY); // Box 17
bodyModel[46] = new ModelRendererTurbo(this, 0, 0, textureX, textureY); // Box 18
bodyModel[47] = new ModelRendererTurbo(this, 0, 0, textureX, textureY); // Box 19
bodyModel[48] = new ModelRendererTurbo(this, 0, 0, textureX, textureY); // Box 20
bodyModel[49] = new ModelRendererTurbo(this, 0, 0, textureX, textureY); // Box 21
bodyModel[50] = new ModelRendererTurbo(this, 0, 0, textureX, textureY); // Box 22
bodyModel[51] = new ModelRendererTurbo(this, 0, 0, textureX, textureY); // Box 23
bodyModel[52] = new ModelRendererTurbo(this, 0, 0, textureX, textureY); // Box 32
bodyModel[53] = new ModelRendererTurbo(this, 0, 0, textureX, textureY); // Box 33
bodyModel[54] = new ModelRendererTurbo(this, 0, 0, textureX, textureY); // Box 34
bodyModel[55] = new ModelRendererTurbo(this, 0, 0, textureX, textureY); // Box 35
bodyModel[56] = new ModelRendererTurbo(this, 0, 0, textureX, textureY); // Box 36
bodyModel[57] = new ModelRendererTurbo(this, 0, 0, textureX, textureY); // Box 37
bodyModel[58] = new ModelRendererTurbo(this, 0, 0, textureX, textureY); // Box 38
bodyModel[59] = new ModelRendererTurbo(this, 0, 0, textureX, textureY); // Box 39
bodyModel[60] = new ModelRendererTurbo(this, 0, 0, textureX, textureY); // Box 40
bodyModel[61] = new ModelRendererTurbo(this, 0, 0, textureX, textureY); // Box 41
bodyModel[62] = new ModelRendererTurbo(this, 0, 0, textureX, textureY); // Box 42
bodyModel[63] = new ModelRendererTurbo(this, 0, 0, textureX, textureY); // Box 43
bodyModel[64] = new ModelRendererTurbo(this, 0, 0, textureX, textureY); // Box 44
bodyModel[65] = new ModelRendererTurbo(this, 0, 0, textureX, textureY); // Box 45
bodyModel[66] = new ModelRendererTurbo(this, 0, 0, textureX, textureY); // Box 46
bodyModel[67] = new ModelRendererTurbo(this, 0, 0, textureX, textureY); // Box 47
bodyModel[68] = new ModelRendererTurbo(this, 0, 94, textureX, textureY); // Box 48
bodyModel[69] = new ModelRendererTurbo(this, 0, 102, textureX, textureY); // Box 49
bodyModel[70] = new ModelRendererTurbo(this, 0, 102, textureX, textureY); // Box 50
bodyModel[71] = new ModelRendererTurbo(this, 0, 108, textureX, textureY); // Box 51
bodyModel[72] = new ModelRendererTurbo(this, 0, 108, textureX, textureY); // Box 52
bodyModel[73] = new ModelRendererTurbo(this, 0, 108, textureX, textureY); // Box 53
bodyModel[74] = new ModelRendererTurbo(this, 0, 108, textureX, textureY); // Box 54
bodyModel[75] = new ModelRendererTurbo(this, 0, 114, textureX, textureY); // Box 55
bodyModel[76] = new ModelRendererTurbo(this, 0, 114, textureX, textureY); // Box 56
bodyModel[77] = new ModelRendererTurbo(this, 0, 116, textureX, textureY); // Box 57
bodyModel[78] = new ModelRendererTurbo(this, 0, 114, textureX, textureY); // Box 58
bodyModel[79] = new ModelRendererTurbo(this, 0, 114, textureX, textureY); // Box 59
bodyModel[80] = new ModelRendererTurbo(this, 0, 116, textureX, textureY); // Box 60
bodyModel[81] = new ModelRendererTurbo(this, 0, 114, textureX, textureY); // Box 61
bodyModel[82] = new ModelRendererTurbo(this, 0, 114, textureX, textureY); // Box 62
bodyModel[83] = new ModelRendererTurbo(this, 0, 116, textureX, textureY); // Box 63
bodyModel[0].addBox(-3F, -1F, -1F, 6, 12, 2, 0F); // Import ImportBox0
bodyModel[0].setRotationPoint(0F, 7F, 0F);
bodyModel[0].rotateAngleY = 3.92699082F;
bodyModel[1].addShapeBox(-3F, -1F, -3F, 6, 12, 2, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import ImportBox1
bodyModel[1].setRotationPoint(0F, 7F, 0F);
bodyModel[1].rotateAngleY = 3.92699082F;
bodyModel[2].addShapeBox(-3F, -1F, 1F, 6, 12, 2, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F); // Import ImportBox2
bodyModel[2].setRotationPoint(0F, 7F, 0F);
bodyModel[2].rotateAngleY = 3.92699082F;
bodyModel[3].addShapeBox(-3F, -1F, -1F, 6, 6, 2, 0F, -1F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import Box0
bodyModel[3].setRotationPoint(0F, 19F, 0F);
bodyModel[3].rotateAngleY = 3.92699082F;
bodyModel[4].addShapeBox(-3F, -1F, -3F, 6, 6, 2, 0F, -2F, 0F, -1F, -2F, 0F, -1F, -1F, 0F, 0F, -1F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import Box1
bodyModel[4].setRotationPoint(0F, 19F, 0F);
bodyModel[4].rotateAngleY = 3.92699082F;
bodyModel[5].addShapeBox(-3F, -1F, 1F, 6, 6, 2, 0F, -1F, 0F, 0F, -1F, 0F, 0F, -2F, 0F, -1F, -2F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F); // Import Box2
bodyModel[5].setRotationPoint(0F, 19F, 0F);
bodyModel[5].rotateAngleY = 3.92699082F;
bodyModel[6].addShapeBox(-3F, -1F, -3F, 6, 6, 2, 0F, -2F, 0F, -1F, -2F, 0F, -1F, -1F, 0F, 0F, -1F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import Box3
bodyModel[6].setRotationPoint(0F, 1F, 0F);
bodyModel[6].rotateAngleY = 3.92699082F;
bodyModel[7].addShapeBox(-3F, -1F, -1F, 6, 6, 2, 0F, -1F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import Box4
bodyModel[7].setRotationPoint(0F, 1F, 0F);
bodyModel[7].rotateAngleY = 3.92699082F;
bodyModel[8].addShapeBox(-3F, -1F, 1F, 6, 6, 2, 0F, -1F, 0F, 0F, -1F, 0F, 0F, -2F, 0F, -1F, -2F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F); // Import Box5
bodyModel[8].setRotationPoint(0F, 1F, 0F);
bodyModel[8].rotateAngleY = 3.92699082F;
bodyModel[9].addShapeBox(-2F, -1F, -1F, 4, 15, 2, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import Box6
bodyModel[9].setRotationPoint(0F, -14F, 0F);
bodyModel[9].rotateAngleY = 3.92699082F;
bodyModel[10].addShapeBox(-2F, -1F, -2F, 4, 15, 1, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import Box7
bodyModel[10].setRotationPoint(0F, -14F, 0F);
bodyModel[10].rotateAngleY = 3.92699082F;
bodyModel[11].addShapeBox(-2F, -1F, 1F, 4, 15, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F); // Import Box8
bodyModel[11].setRotationPoint(0F, -14F, 0F);
bodyModel[11].rotateAngleY = 3.92699082F;
bodyModel[12].addShapeBox(-3F, -1F, 1F, 6, 2, 2, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, -2F, 0F, -1F, -2F, 0F, -1F); // Import Box9
bodyModel[12].setRotationPoint(0F, -16F, 0F);
bodyModel[12].rotateAngleY = 3.92699082F;
bodyModel[13].addShapeBox(-3F, -1F, -1F, 6, 2, 2, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F); // Import Box10
bodyModel[13].setRotationPoint(0F, -16F, 0F);
bodyModel[13].rotateAngleY = 3.92699082F;
bodyModel[14].addShapeBox(-3F, -1F, -3F, 6, 2, 2, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, -1F, -2F, 0F, -1F, -1F, 0F, 0F, -1F, 0F, 0F); // Import Box11
bodyModel[14].setRotationPoint(0F, -16F, 0F);
bodyModel[14].rotateAngleY = 3.92699082F;
bodyModel[15].addShapeBox(-3F, -1F, 1F, 6, 7, 2, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F); // Import Box12
bodyModel[15].setRotationPoint(0F, -23F, 0F);
bodyModel[15].rotateAngleY = 3.92699082F;
bodyModel[16].addBox(-3F, -1F, -1F, 6, 7, 2, 0F); // Import Box13
bodyModel[16].setRotationPoint(0F, -23F, 0F);
bodyModel[16].rotateAngleY = 3.92699082F;
bodyModel[17].addShapeBox(-3F, -1F, -3F, 6, 7, 2, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import Box14
bodyModel[17].setRotationPoint(0F, -23F, 0F);
bodyModel[17].rotateAngleY = 3.92699082F;
bodyModel[18].addShapeBox(-3F, -1F, -1F, 6, 2, 2, 0F, -1.5F, 0F, -0.5F, -1.5F, 0F, -0.5F, -1.5F, 0F, -0.5F, -1.5F, 0F, -0.5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import Box15
bodyModel[18].setRotationPoint(0F, -25F, 0F);
bodyModel[18].rotateAngleY = 3.92699082F;
bodyModel[19].addShapeBox(-3F, -1F, -3F, 6, 2, 2, 0F, -2.5F, 0F, -1.5F, -2.5F, 0F, -1.5F, -1.5F, 0F, 0.5F, -1.5F, 0F, 0.5F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import Box16
bodyModel[19].setRotationPoint(0F, -25F, 0F);
bodyModel[19].rotateAngleY = 3.92699082F;
bodyModel[20].addShapeBox(-3F, -1F, 1F, 6, 2, 2, 0F, -1.5F, 0F, 0.5F, -1.5F, 0F, 0.5F, -2.5F, 0F, -1.5F, -2.5F, 0F, -1.5F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F); // Import Box17
bodyModel[20].setRotationPoint(0F, -25F, 0F);
bodyModel[20].rotateAngleY = 3.92699082F;
bodyModel[21].addShapeBox(-1.5F, 0F, -0.5F, 3, 1, 1, 0F, -1F, 0F, -0.33F, -1F, 0F, -0.33F, -1F, 0F, -0.33F, -1F, 0F, -0.33F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import Box18
bodyModel[21].setRotationPoint(0F, -27F, 0F);
bodyModel[21].rotateAngleY = 3.92699082F;
bodyModel[22].addShapeBox(-1.5F, 0F, -1.5F, 3, 1, 1, 0F, -1.33F, 0F, -1F, -1.33F, 0F, -1F, -1F, 0F, 0.33F, -1F, 0F, 0.33F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import Box19
bodyModel[22].setRotationPoint(0F, -27F, 0F);
bodyModel[22].rotateAngleY = 3.92699082F;
bodyModel[23].addShapeBox(-1.5F, 0F, 0.5F, 3, 1, 1, 0F, -1F, 0F, 0.33F, -1F, 0F, 0.33F, -1.33F, 0F, -1F, -1.33F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F); // Import Box20
bodyModel[23].setRotationPoint(0F, -27F, 0F);
bodyModel[23].rotateAngleY = 3.92699082F;
bodyModel[24].addShapeBox(-7F, -1F, -0.5F, 4, 8, 1, 0F, 0F, -5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import Box21
bodyModel[24].setRotationPoint(0F, 11F, 0F);
bodyModel[24].rotateAngleY = 3.92699082F;
bodyModel[25].addShapeBox(-7F, -1F, -0.5F, 4, 8, 1, 0F, 0F, -5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import Box22
bodyModel[25].setRotationPoint(0F, 11F, 0F);
bodyModel[25].rotateAngleY = 5.49778714F;
bodyModel[26].addShapeBox(-7F, -1F, -0.5F, 4, 8, 1, 0F, 0F, -5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import Box23
bodyModel[26].setRotationPoint(0F, 11F, 0F);
bodyModel[26].rotateAngleY = 2.35619449F;
bodyModel[27].addShapeBox(-7F, -1F, -0.5F, 4, 8, 1, 0F, 0F, -5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Import Box24
bodyModel[27].setRotationPoint(0F, 11F, 0F);
bodyModel[27].rotateAngleY = 0.78539816F;
bodyModel[28].addShapeBox(-3.7F, -1F, -0.5F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 0
bodyModel[28].setRotationPoint(0F, -22F, 0F);
bodyModel[28].rotateAngleY = 3.92699082F;
bodyModel[29].addShapeBox(-3.5F, -1F, -0.5F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 1
bodyModel[29].setRotationPoint(0F, -22F, 0F);
bodyModel[29].rotateAngleY = 4.71238898F;
bodyModel[30].addShapeBox(-3.7F, -1F, -0.5F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 2
bodyModel[30].setRotationPoint(0F, -22F, 0F);
bodyModel[30].rotateAngleY = 5.49778714F;
bodyModel[31].addShapeBox(-3.5F, -1F, -0.5F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 3
bodyModel[31].setRotationPoint(0F, -22F, 0F);
bodyModel[31].rotateAngleY = 6.2831853F;
bodyModel[32].addShapeBox(-3.7F, -1F, -0.5F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 4
bodyModel[32].setRotationPoint(0F, -22F, 0F);
bodyModel[32].rotateAngleY = 0.78539816F;
bodyModel[33].addShapeBox(-3.5F, -1F, -0.5F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 5
bodyModel[33].setRotationPoint(0F, -22F, 0F);
bodyModel[33].rotateAngleY = 1.57079632F;
bodyModel[34].addShapeBox(-3.7F, -1F, -0.5F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 6
bodyModel[34].setRotationPoint(0F, -22F, 0F);
bodyModel[34].rotateAngleY = 2.35619449F;
bodyModel[35].addShapeBox(-3.5F, -1F, -0.5F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 7
bodyModel[35].setRotationPoint(0F, -22F, 0F);
bodyModel[35].rotateAngleY = 3.14159265F;
bodyModel[36].addShapeBox(-3.7F, -1F, -0.5F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 8
bodyModel[36].setRotationPoint(0F, -20F, 0F);
bodyModel[36].rotateAngleY = 2.35619449F;
bodyModel[37].addShapeBox(-3.5F, -1F, -0.5F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 9
bodyModel[37].setRotationPoint(0F, -20F, 0F);
bodyModel[37].rotateAngleY = 3.14159265F;
bodyModel[38].addShapeBox(-3.5F, -1F, -0.5F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 10
bodyModel[38].setRotationPoint(0F, -20F, 0F);
bodyModel[38].rotateAngleY = 1.57079632F;
bodyModel[39].addShapeBox(-3.7F, -1F, -0.5F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 11
bodyModel[39].setRotationPoint(0F, -20F, 0F);
bodyModel[39].rotateAngleY = 0.78539816F;
bodyModel[40].addShapeBox(-3.5F, -1F, -0.5F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 12
bodyModel[40].setRotationPoint(0F, -20F, 0F);
bodyModel[40].rotateAngleY = 6.2831853F;
bodyModel[41].addShapeBox(-3.7F, -1F, -0.5F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 13
bodyModel[41].setRotationPoint(0F, -20F, 0F);
bodyModel[41].rotateAngleY = 5.49778714F;
bodyModel[42].addShapeBox(-3.5F, -1F, -0.5F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 14
bodyModel[42].setRotationPoint(0F, -20F, 0F);
bodyModel[42].rotateAngleY = 4.71238898F;
bodyModel[43].addShapeBox(-3.7F, -1F, -0.5F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 15
bodyModel[43].setRotationPoint(0F, -20F, 0F);
bodyModel[43].rotateAngleY = 3.92699082F;
bodyModel[44].addShapeBox(-3.7F, -1F, -0.5F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 16
bodyModel[44].setRotationPoint(0F, -18F, 0F);
bodyModel[44].rotateAngleY = 2.35619449F;
bodyModel[45].addShapeBox(-3.5F, -1F, -0.5F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 17
bodyModel[45].setRotationPoint(0F, -18F, 0F);
bodyModel[45].rotateAngleY = 3.14159265F;
bodyModel[46].addShapeBox(-3.5F, -1F, -0.5F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 18
bodyModel[46].setRotationPoint(0F, -18F, 0F);
bodyModel[46].rotateAngleY = 1.57079632F;
bodyModel[47].addShapeBox(-3.7F, -1F, -0.5F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 19
bodyModel[47].setRotationPoint(0F, -18F, 0F);
bodyModel[47].rotateAngleY = 0.78539816F;
bodyModel[48].addShapeBox(-3.5F, -1F, -0.5F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 20
bodyModel[48].setRotationPoint(0F, -18F, 0F);
bodyModel[48].rotateAngleY = 6.2831853F;
bodyModel[49].addShapeBox(-3.7F, -1F, -0.5F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 21
bodyModel[49].setRotationPoint(0F, -18F, 0F);
bodyModel[49].rotateAngleY = 5.49778714F;
bodyModel[50].addShapeBox(-3.5F, -1F, -0.5F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 22
bodyModel[50].setRotationPoint(0F, -18F, 0F);
bodyModel[50].rotateAngleY = 4.71238898F;
bodyModel[51].addShapeBox(-3.7F, -1F, -0.5F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 23
bodyModel[51].setRotationPoint(0F, -18F, 0F);
bodyModel[51].rotateAngleY = 3.92699082F;
bodyModel[52].addShapeBox(-3.5F, -1F, -0.5F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 32
bodyModel[52].setRotationPoint(0F, -23F, 0F);
bodyModel[52].rotateAngleY = 2.35619449F;
bodyModel[52].rotateAngleZ = 0.48869219F;
bodyModel[53].addShapeBox(-3.3F, -1F, -0.5F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 33
bodyModel[53].setRotationPoint(0F, -23F, 0F);
bodyModel[53].rotateAngleY = 3.14159265F;
bodyModel[53].rotateAngleZ = 0.48869219F;
bodyModel[54].addShapeBox(-3.3F, -1F, -0.5F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 34
bodyModel[54].setRotationPoint(0F, -23F, 0F);
bodyModel[54].rotateAngleY = 1.57079632F;
bodyModel[54].rotateAngleZ = 0.48869219F;
bodyModel[55].addShapeBox(-3.5F, -1F, -0.5F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 35
bodyModel[55].setRotationPoint(0F, -23F, 0F);
bodyModel[55].rotateAngleY = 0.78539816F;
bodyModel[55].rotateAngleZ = 0.48869219F;
bodyModel[56].addShapeBox(-3.3F, -1F, -0.5F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 36
bodyModel[56].setRotationPoint(0F, -23F, 0F);
bodyModel[56].rotateAngleY = 6.2831853F;
bodyModel[56].rotateAngleZ = 0.48869219F;
bodyModel[57].addShapeBox(-3.5F, -1F, -0.5F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 37
bodyModel[57].setRotationPoint(0F, -23F, 0F);
bodyModel[57].rotateAngleY = 5.49778714F;
bodyModel[57].rotateAngleZ = 0.48869219F;
bodyModel[58].addShapeBox(-3.3F, -1F, -0.5F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 38
bodyModel[58].setRotationPoint(0F, -23F, 0F);
bodyModel[58].rotateAngleY = 4.71238898F;
bodyModel[58].rotateAngleZ = 0.48869219F;
bodyModel[59].addShapeBox(-3.5F, -1F, -0.5F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 39
bodyModel[59].setRotationPoint(0F, -23F, 0F);
bodyModel[59].rotateAngleY = 3.92699082F;
bodyModel[59].rotateAngleZ = 0.48869219F;
bodyModel[60].addShapeBox(-2.8F, -1F, -0.5F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 40
bodyModel[60].setRotationPoint(0F, -24F, 0F);
bodyModel[60].rotateAngleY = 2.35619449F;
bodyModel[60].rotateAngleZ = 0.82030475F;
bodyModel[61].addShapeBox(-2.8F, -1F, -0.5F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 41
bodyModel[61].setRotationPoint(0F, -24F, 0F);
bodyModel[61].rotateAngleY = 3.14159265F;
bodyModel[61].rotateAngleZ = 0.82030475F;
bodyModel[62].addShapeBox(-2.8F, -1F, -0.5F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 42
bodyModel[62].setRotationPoint(0F, -24F, 0F);
bodyModel[62].rotateAngleY = 1.57079632F;
bodyModel[62].rotateAngleZ = 0.82030475F;
bodyModel[63].addShapeBox(-2.8F, -1F, -0.5F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 43
bodyModel[63].setRotationPoint(0F, -24F, 0F);
bodyModel[63].rotateAngleY = 0.78539816F;
bodyModel[63].rotateAngleZ = 0.82030475F;
bodyModel[64].addShapeBox(-2.8F, -1F, -0.5F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 44
bodyModel[64].setRotationPoint(0F, -24F, 0F);
bodyModel[64].rotateAngleY = 6.2831853F;
bodyModel[64].rotateAngleZ = 0.82030475F;
bodyModel[65].addShapeBox(-2.8F, -1F, -0.5F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 45
bodyModel[65].setRotationPoint(0F, -24F, 0F);
bodyModel[65].rotateAngleY = 5.49778714F;
bodyModel[65].rotateAngleZ = 0.82030475F;
bodyModel[66].addShapeBox(-2.8F, -1F, -0.5F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 46
bodyModel[66].setRotationPoint(0F, -24F, 0F);
bodyModel[66].rotateAngleY = 4.71238898F;
bodyModel[66].rotateAngleZ = 0.82030475F;
bodyModel[67].addShapeBox(-2.8F, -1F, -0.5F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 47
bodyModel[67].setRotationPoint(0F, -24F, 0F);
bodyModel[67].rotateAngleY = 3.92699082F;
bodyModel[67].rotateAngleZ = 0.82030475F;
bodyModel[68].addShapeBox(-2.5F, -1F, -1.5F, 5, 5, 3, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 48
bodyModel[68].setRotationPoint(0F, -7F, 0F);
bodyModel[68].rotateAngleY = 3.92699082F;
bodyModel[69].addShapeBox(-2.5F, -1F, -2.5F, 5, 5, 1, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 49
bodyModel[69].setRotationPoint(0F, -7F, 0F);
bodyModel[69].rotateAngleY = 3.92699082F;
bodyModel[70].addShapeBox(-2.5F, -1F, 1.5F, 5, 5, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F); // Box 50
bodyModel[70].setRotationPoint(0F, -7F, 0F);
bodyModel[70].rotateAngleY = 3.92699082F;
bodyModel[71].addShapeBox(2.5F, -1F, -0.5F, 7, 5, 1, 0F, 0F, 0F, 0F, 0F, -1F, -0.4F, 0F, -1F, -0.4F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -3F, -0.4F, 0F, -3F, -0.4F, 0F, 0F, 0F); // Box 51
bodyModel[71].setRotationPoint(0F, -7F, 0F);
bodyModel[71].rotateAngleY = 3.92699082F;
bodyModel[72].addShapeBox(2.5F, -1F, -0.5F, 7, 5, 1, 0F, 0F, 0F, 0F, 0F, -1F, -0.4F, 0F, -1F, -0.4F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -3F, -0.4F, 0F, -3F, -0.4F, 0F, 0F, 0F); // Box 52
bodyModel[72].setRotationPoint(0F, -7F, 0F);
bodyModel[72].rotateAngleY = 5.49778714F;
bodyModel[73].addShapeBox(2.5F, -1F, -0.5F, 7, 5, 1, 0F, 0F, 0F, 0F, 0F, -1F, -0.4F, 0F, -1F, -0.4F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -3F, -0.4F, 0F, -3F, -0.4F, 0F, 0F, 0F); // Box 53
bodyModel[73].setRotationPoint(0F, -7F, 0F);
bodyModel[73].rotateAngleY = 2.35619449F;
bodyModel[74].addShapeBox(2.5F, -1F, -0.5F, 7, 5, 1, 0F, 0F, 0F, 0F, 0F, -1F, -0.4F, 0F, -1F, -0.4F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -3F, -0.4F, 0F, -3F, -0.4F, 0F, 0F, 0F); // Box 54
bodyModel[74].setRotationPoint(0F, -7F, 0F);
bodyModel[74].rotateAngleY = 0.78539817F;
bodyModel[75].addShapeBox(-2.5F, -1F, -2.5F, 5, 1, 1, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 55
bodyModel[75].setRotationPoint(0F, -9F, 0F);
bodyModel[75].rotateAngleY = 3.92699082F;
bodyModel[76].addShapeBox(-2.5F, -1F, 1.5F, 5, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F); // Box 56
bodyModel[76].setRotationPoint(0F, -9F, 0F);
bodyModel[76].rotateAngleY = 3.92699082F;
bodyModel[77].addShapeBox(-2.5F, -1F, -1.5F, 5, 1, 3, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 57
bodyModel[77].setRotationPoint(0F, -9F, 0F);
bodyModel[77].rotateAngleY = 3.92699082F;
bodyModel[78].addShapeBox(-2.5F, -1F, -2.5F, 5, 1, 1, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 58
bodyModel[78].setRotationPoint(0F, -11F, 0F);
bodyModel[78].rotateAngleY = 3.92699082F;
bodyModel[79].addShapeBox(-2.5F, -1F, 1.5F, 5, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F); // Box 59
bodyModel[79].setRotationPoint(0F, -11F, 0F);
bodyModel[79].rotateAngleY = 3.92699082F;
bodyModel[80].addShapeBox(-2.5F, -1F, -1.5F, 5, 1, 3, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 60
bodyModel[80].setRotationPoint(0F, -11F, 0F);
bodyModel[80].rotateAngleY = 3.92699082F;
bodyModel[81].addShapeBox(-2.5F, -1F, -2.5F, 5, 1, 1, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 61
bodyModel[81].setRotationPoint(0F, -13F, 0F);
bodyModel[81].rotateAngleY = 3.92699082F;
bodyModel[82].addShapeBox(-2.5F, -1F, 1.5F, 5, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F); // Box 62
bodyModel[82].setRotationPoint(0F, -13F, 0F);
bodyModel[82].rotateAngleY = 3.92699082F;
bodyModel[83].addShapeBox(-2.5F, -1F, -1.5F, 5, 1, 3, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 63
bodyModel[83].setRotationPoint(0F, -13F, 0F);
bodyModel[83].rotateAngleY = 3.92699082F;
}
@Override
public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5)
{
super.render(entity, f, f1, f2, f3, f4, f5);
this.setRotationAngles(f, f1, f2, f3, f4, f5, entity);
this.render(f5);
}
@Override
public void render(float f5)
{
render(bodyModel, f5);
}
private void render(ModelRendererTurbo[] models, float f)
{
for(ModelRendererTurbo model : models)
if(model != null)
model.render(f);
}
private void setRotation(ModelRenderer model, float x, float y, float z)
{
model.rotateAngleX = x;
model.rotateAngleY = y;
model.rotateAngleZ = z;
}
}
@@ -0,0 +1,239 @@
package defense.client.model.missile;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.entity.Entity;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@SideOnly(Side.CLIENT)
public class ModelSonicMissile extends ModelMissileBase
{
// fields
ModelRenderer Shape1;
ModelRenderer Shape2;
ModelRenderer Shape2a;
ModelRenderer Shape2b;
ModelRenderer Shape2c;
ModelRenderer Shape3;
ModelRenderer Shape3a;
ModelRenderer Shape3b;
ModelRenderer Shape3c;
ModelRenderer Shape4;
ModelRenderer Shape4a;
ModelRenderer Shape4b;
ModelRenderer Shape4c;
ModelRenderer Shape5;
ModelRenderer Shape5a;
ModelRenderer Shape4d;
ModelRenderer Shape4e;
ModelRenderer Shape4f;
ModelRenderer Shape4g;
ModelRenderer Shape6;
ModelRenderer Shape6a;
ModelRenderer Shape7a;
ModelRenderer Shape7;
ModelRenderer Shape7b;
ModelRenderer Shape7c;
public ModelSonicMissile()
{
textureWidth = 128;
textureHeight = 128;
Shape1 = new ModelRenderer(this, 0, 0);
Shape1.addBox(-4F, 0F, -4F, 8, 64, 8);
Shape1.setRotationPoint(0F, -40F, 0F);
Shape1.setTextureSize(128, 128);
Shape1.mirror = true;
setRotation(Shape1, 0F, 0F, 0F);
Shape2 = new ModelRenderer(this, 34, 19);
Shape2.addBox(0F, 0F, 0F, 14, 10, 1);
Shape2.setRotationPoint(-7F, 14F, 6F);
Shape2.setTextureSize(128, 128);
Shape2.mirror = true;
setRotation(Shape2, 0F, 0F, 0F);
Shape2a = new ModelRenderer(this, 34, 19);
Shape2a.addBox(0F, 0F, 0F, 14, 10, 1);
Shape2a.setRotationPoint(-7F, 14F, -7F);
Shape2a.setTextureSize(128, 128);
Shape2a.mirror = true;
setRotation(Shape2a, 0F, 0F, 0F);
Shape2b = new ModelRenderer(this, 34, 31);
Shape2b.addBox(0F, 0F, 0F, 1, 10, 12);
Shape2b.setRotationPoint(-7F, 14F, -6F);
Shape2b.setTextureSize(128, 128);
Shape2b.mirror = true;
setRotation(Shape2b, 0F, 0F, 0F);
Shape2c = new ModelRenderer(this, 34, 31);
Shape2c.addBox(0F, 0F, 0F, 1, 10, 12);
Shape2c.setRotationPoint(6F, 14F, -6F);
Shape2c.setTextureSize(128, 128);
Shape2c.mirror = true;
setRotation(Shape2c, 0F, 0F, 0F);
Shape3 = new ModelRenderer(this, 72, 0);
Shape3.addBox(-11F, 0F, -1F, 22, 12, 2);
Shape3.setRotationPoint(0F, 12F, 0F);
Shape3.setTextureSize(128, 128);
Shape3.mirror = true;
setRotation(Shape3, 0F, 0.7853982F, 0F);
Shape3a = new ModelRenderer(this, 72, 0);
Shape3a.addBox(-11F, 0F, -1F, 22, 12, 2);
Shape3a.setRotationPoint(0F, 12F, 0F);
Shape3a.setTextureSize(128, 128);
Shape3a.mirror = true;
setRotation(Shape3a, 0F, -0.7853982F, 0F);
Shape3b = new ModelRenderer(this, 34, 0);
Shape3b.addBox(-8F, -8F, -1F, 16, 16, 2);
Shape3b.setRotationPoint(0F, 12F, 0F);
Shape3b.setTextureSize(128, 128);
Shape3b.mirror = true;
setRotation(Shape3b, 0F, 0.7853982F, 0.7853982F);
Shape3c = new ModelRenderer(this, 34, 0);
Shape3c.addBox(-8F, -8F, -1F, 16, 16, 2);
Shape3c.setRotationPoint(0F, 12F, 0F);
Shape3c.setTextureSize(128, 128);
Shape3c.mirror = true;
setRotation(Shape3c, 0F, -0.7853982F, 0.7853982F);
Shape4 = new ModelRenderer(this, 22, 74);
Shape4.addBox(0F, 0F, 0F, 2, 7, 5);
Shape4.setRotationPoint(-1F, -23F, 4F);
Shape4.setTextureSize(128, 128);
Shape4.mirror = true;
setRotation(Shape4, -0.5235988F, 0F, 0F);
Shape4a = new ModelRenderer(this, 0, 103);
Shape4a.addBox(0F, 0F, 0F, 5, 8, 2);
Shape4a.setRotationPoint(4F, -23F, -1F);
Shape4a.setTextureSize(128, 128);
Shape4a.mirror = true;
setRotation(Shape4a, 0F, 0F, 0.5235988F);
Shape4b = new ModelRenderer(this, 0, 81);
Shape4b.addBox(-1F, 0F, 0F, 2, 4, 5);
Shape4b.setRotationPoint(0F, -35F, -4F);
Shape4b.setTextureSize(128, 128);
Shape4b.mirror = true;
setRotation(Shape4b, -0.5235988F, 3.141593F, 0F);
Shape4c = new ModelRenderer(this, 0, 103);
Shape4c.addBox(0F, 0F, -1F, 5, 8, 2);
Shape4c.setRotationPoint(-4F, -23F, 0F);
Shape4c.setTextureSize(128, 128);
Shape4c.mirror = true;
setRotation(Shape4c, 0F, 3.141593F, 0.5235988F);
Shape5 = new ModelRenderer(this, 0, 74);
Shape5.addBox(-1F, 0F, -8F, 2, 12, 16);
Shape5.setRotationPoint(0F, -32F, 0F);
Shape5.setTextureSize(128, 128);
Shape5.mirror = true;
setRotation(Shape5, 0F, 0F, 0F);
Shape5a = new ModelRenderer(this, 0, 74);
Shape5a.addBox(-1F, 0F, -8F, 2, 12, 16);
Shape5a.setRotationPoint(0F, -32F, 0F);
Shape5a.setTextureSize(128, 128);
Shape5a.mirror = true;
setRotation(Shape5a, 0F, 1.570796F, 0F);
Shape4d = new ModelRenderer(this, 22, 74);
Shape4d.addBox(-1F, 0F, 0F, 2, 8, 5);
Shape4d.setRotationPoint(0F, -23F, -4F);
Shape4d.setTextureSize(128, 128);
Shape4d.mirror = true;
setRotation(Shape4d, -0.5235988F, 3.141593F, 0F);
Shape4e = new ModelRenderer(this, 0, 81);
Shape4e.addBox(-1F, 0F, 0F, 2, 4, 5);
Shape4e.setRotationPoint(0F, -35F, 4F);
Shape4e.setTextureSize(128, 128);
Shape4e.mirror = true;
setRotation(Shape4e, -0.5235988F, 0F, 0F);
Shape4f = new ModelRenderer(this, 0, 74);
Shape4f.addBox(0F, 0F, -1F, 5, 4, 2);
Shape4f.setRotationPoint(-4F, -35F, 0F);
Shape4f.setTextureSize(128, 128);
Shape4f.mirror = true;
setRotation(Shape4f, 0F, 3.141593F, 0.5235988F);
Shape4g = new ModelRenderer(this, 0, 74);
Shape4g.addBox(0F, 0F, 0F, 5, 4, 2);
Shape4g.setRotationPoint(4F, -35F, -1F);
Shape4g.setTextureSize(128, 128);
Shape4g.mirror = true;
setRotation(Shape4g, 0F, 0F, 0.5235988F);
Shape6 = new ModelRenderer(this, 72, 16);
Shape6.addBox(0F, 0F, 0F, 10, 1, 10);
Shape6.setRotationPoint(-5F, -37F, -5F);
Shape6.setTextureSize(128, 128);
Shape6.mirror = true;
setRotation(Shape6, 0F, 0F, 0F);
Shape6a = new ModelRenderer(this, 72, 16);
Shape6a.addBox(0F, 0F, 0F, 10, 1, 10);
Shape6a.setRotationPoint(-5F, -41F, -5F);
Shape6a.setTextureSize(128, 128);
Shape6a.mirror = true;
setRotation(Shape6a, 0F, 0F, 0F);
Shape7a = new ModelRenderer(this, 95, 115);
Shape7a.addBox(0F, 0F, 0F, 8, 4, 8);
Shape7a.setRotationPoint(-4F, -45F, -4F);
Shape7a.setTextureSize(128, 128);
Shape7a.mirror = true;
setRotation(Shape7a, 0F, 0F, 0F);
Shape7 = new ModelRenderer(this, 95, 103);
Shape7.addBox(0F, 0F, 0F, 6, 4, 6);
Shape7.setRotationPoint(-3F, -49F, -3F);
Shape7.setTextureSize(128, 128);
Shape7.mirror = true;
setRotation(Shape7, 0F, 0F, 0F);
Shape7b = new ModelRenderer(this, 69, 109);
Shape7b.addBox(-1F, 0F, -5F, 2, 8, 10);
Shape7b.setRotationPoint(0F, -48F, 0F);
Shape7b.setTextureSize(128, 128);
Shape7b.mirror = true;
setRotation(Shape7b, 0F, 0.7853982F, 0F);
Shape7c = new ModelRenderer(this, 69, 109);
Shape7c.addBox(-1F, 0F, -5F, 2, 8, 10);
Shape7c.setRotationPoint(0F, -48F, 0F);
Shape7c.setTextureSize(128, 128);
Shape7c.mirror = true;
setRotation(Shape7c, 0F, -0.7853982F, 0F);
}
@Override
public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5)
{
super.render(entity, f, f1, f2, f3, f4, f5);
this.setRotationAngles(f, f1, f2, f3, f4, f5, entity);
this.render(f5);
}
@Override
public void render(float f5)
{
Shape1.render(f5);
Shape2.render(f5);
Shape2a.render(f5);
Shape2b.render(f5);
Shape2c.render(f5);
Shape3.render(f5);
Shape3a.render(f5);
Shape3b.render(f5);
Shape3c.render(f5);
Shape4.render(f5);
Shape4a.render(f5);
Shape4b.render(f5);
Shape4c.render(f5);
Shape5.render(f5);
Shape5a.render(f5);
Shape4d.render(f5);
Shape4e.render(f5);
Shape4f.render(f5);
Shape4g.render(f5);
Shape6.render(f5);
Shape6a.render(f5);
Shape7a.render(f5);
Shape7.render(f5);
Shape7b.render(f5);
Shape7c.render(f5);
}
private void setRotation(ModelRenderer model, float x, float y, float z)
{
model.rotateAngleX = x;
model.rotateAngleY = y;
model.rotateAngleZ = z;
}
}
@@ -0,0 +1,336 @@
package defense.client.model.missile;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.entity.Entity;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@SideOnly(Side.CLIENT)
public class ModelThermobaricMissile extends ModelMissileBase
{
// fields
ModelRenderer A;
ModelRenderer B;
ModelRenderer C;
ModelRenderer D;
ModelRenderer E;
ModelRenderer F;
ModelRenderer G;
ModelRenderer H;
ModelRenderer I;
ModelRenderer J;
ModelRenderer K;
ModelRenderer L;
ModelRenderer M;
ModelRenderer N;
ModelRenderer O;
ModelRenderer P;
ModelRenderer Q;
ModelRenderer R;
ModelRenderer S;
ModelRenderer T;
ModelRenderer U;
ModelRenderer V;
ModelRenderer W;
ModelRenderer X;
ModelRenderer Y;
ModelRenderer Z;
ModelRenderer AA;
ModelRenderer AB;
ModelRenderer AC;
ModelRenderer AD;
ModelRenderer AE;
ModelRenderer AF;
ModelRenderer AG;
ModelRenderer AH;
ModelRenderer AI;
ModelRenderer AJ;
ModelRenderer AK;
public ModelThermobaricMissile()
{
textureWidth = 128;
textureHeight = 128;
A = new ModelRenderer(this, 0, 0);
A.addBox(-4F, 0F, -4F, 8, 64, 8);
A.setRotationPoint(0F, -40F, 0F);
A.setTextureSize(128, 128);
A.mirror = true;
setRotation(A, 0F, 0F, 0F);
B = new ModelRenderer(this, 34, 19);
B.addBox(0F, 0F, 0F, 14, 10, 1);
B.setRotationPoint(-7F, 14F, 6F);
B.setTextureSize(128, 128);
B.mirror = true;
setRotation(B, 0F, 0F, 0F);
C = new ModelRenderer(this, 34, 19);
C.addBox(0F, 0F, 0F, 14, 10, 1);
C.setRotationPoint(-7F, 14F, -7F);
C.setTextureSize(128, 128);
C.mirror = true;
setRotation(C, 0F, 0F, 0F);
D = new ModelRenderer(this, 34, 31);
D.addBox(0F, 0F, 0F, 1, 10, 12);
D.setRotationPoint(-7F, 14F, -6F);
D.setTextureSize(128, 128);
D.mirror = true;
setRotation(D, 0F, 0F, 0F);
E = new ModelRenderer(this, 34, 31);
E.addBox(0F, 0F, 0F, 1, 10, 12);
E.setRotationPoint(6F, 14F, -6F);
E.setTextureSize(128, 128);
E.mirror = true;
setRotation(E, 0F, 0F, 0F);
F = new ModelRenderer(this, 72, 0);
F.addBox(-11F, 0F, -1F, 22, 12, 2);
F.setRotationPoint(0F, 12F, 0F);
F.setTextureSize(128, 128);
F.mirror = true;
setRotation(F, 0F, 0.7853982F, 0F);
G = new ModelRenderer(this, 72, 0);
G.addBox(-11F, 0F, -1F, 22, 12, 2);
G.setRotationPoint(0F, 12F, 0F);
G.setTextureSize(128, 128);
G.mirror = true;
setRotation(G, 0F, -0.7853982F, 0F);
H = new ModelRenderer(this, 34, 0);
H.addBox(-8F, -8F, -1F, 16, 16, 2);
H.setRotationPoint(0F, 12F, 0F);
H.setTextureSize(128, 128);
H.mirror = true;
setRotation(H, 0F, 0.7853982F, 0.7853982F);
I = new ModelRenderer(this, 34, 0);
I.addBox(-8F, -8F, -1F, 16, 16, 2);
I.setRotationPoint(0F, 12F, 0F);
I.setTextureSize(128, 128);
I.mirror = true;
setRotation(I, 0F, -0.7853982F, 0.7853982F);
J = new ModelRenderer(this, 22, 74);
J.addBox(0F, 0F, 0F, 2, 7, 5);
J.setRotationPoint(-1F, -23F, 4F);
J.setTextureSize(128, 128);
J.mirror = true;
setRotation(J, -0.5235988F, 0F, 0F);
K = new ModelRenderer(this, 0, 103);
K.addBox(0F, 0F, 0F, 5, 8, 2);
K.setRotationPoint(4F, -23F, -1F);
K.setTextureSize(128, 128);
K.mirror = true;
setRotation(K, 0F, 0F, 0.5235988F);
L = new ModelRenderer(this, 0, 81);
L.addBox(-1F, 0F, 0F, 2, 4, 5);
L.setRotationPoint(0F, -35F, -4F);
L.setTextureSize(128, 128);
L.mirror = true;
setRotation(L, -0.5235988F, 3.141593F, 0F);
M = new ModelRenderer(this, 0, 103);
M.addBox(0F, 0F, -1F, 5, 8, 2);
M.setRotationPoint(-4F, -23F, 0F);
M.setTextureSize(128, 128);
M.mirror = true;
setRotation(M, 0F, 3.141593F, 0.5235988F);
N = new ModelRenderer(this, 0, 74);
N.addBox(-1F, 0F, -8F, 2, 12, 16);
N.setRotationPoint(0F, -32F, 0F);
N.setTextureSize(128, 128);
N.mirror = true;
setRotation(N, 0F, 0F, 0F);
O = new ModelRenderer(this, 0, 74);
O.addBox(-1F, 0F, -8F, 2, 12, 16);
O.setRotationPoint(0F, -32F, 0F);
O.setTextureSize(128, 128);
O.mirror = true;
setRotation(O, 0F, 1.570796F, 0F);
P = new ModelRenderer(this, 22, 74);
P.addBox(-1F, 0F, 0F, 2, 8, 5);
P.setRotationPoint(0F, -23F, -4F);
P.setTextureSize(128, 128);
P.mirror = true;
setRotation(P, -0.5235988F, 3.141593F, 0F);
Q = new ModelRenderer(this, 0, 81);
Q.addBox(-1F, 0F, 0F, 2, 4, 5);
Q.setRotationPoint(0F, -35F, 4F);
Q.setTextureSize(128, 128);
Q.mirror = true;
setRotation(Q, -0.5235988F, 0F, 0F);
R = new ModelRenderer(this, 0, 74);
R.addBox(0F, 0F, -1F, 5, 4, 2);
R.setRotationPoint(-4F, -35F, 0F);
R.setTextureSize(128, 128);
R.mirror = true;
setRotation(R, 0F, 3.141593F, 0.5235988F);
S = new ModelRenderer(this, 0, 74);
S.addBox(0F, 0F, 0F, 5, 4, 2);
S.setRotationPoint(4F, -35F, -1F);
S.setTextureSize(128, 128);
S.mirror = true;
setRotation(S, 0F, 0F, 0.5235988F);
T = new ModelRenderer(this, 72, 16);
T.addBox(0F, 0F, 0F, 10, 1, 10);
T.setRotationPoint(-5F, -37F, -5F);
T.setTextureSize(128, 128);
T.mirror = true;
setRotation(T, 0F, 0F, 0F);
U = new ModelRenderer(this, 72, 16);
U.addBox(0F, 0F, 0F, 10, 1, 10);
U.setRotationPoint(-5F, -41F, -5F);
U.setTextureSize(128, 128);
U.mirror = true;
setRotation(U, 0F, 0F, 0F);
V = new ModelRenderer(this, 72, 113);
V.addBox(1F, 0F, -2F, 3, 6, 4);
V.setRotationPoint(0F, -47F, 0F);
V.setTextureSize(128, 128);
V.mirror = true;
setRotation(V, 0F, 0F, 0F);
W = new ModelRenderer(this, 72, 113);
W.addBox(1F, 0F, -2F, 3, 6, 4);
W.setRotationPoint(0F, -47F, 0F);
W.setTextureSize(128, 128);
W.mirror = true;
setRotation(W, 0F, 2.094395F, 0F);
X = new ModelRenderer(this, 72, 113);
X.addBox(1F, 0F, -2F, 3, 6, 4);
X.setRotationPoint(0F, -47F, 0F);
X.setTextureSize(128, 128);
X.mirror = true;
setRotation(X, 0F, 1.047198F, 0F);
Y = new ModelRenderer(this, 72, 113);
Y.addBox(1F, 0F, -2F, 3, 6, 4);
Y.setRotationPoint(0F, -47F, 0F);
Y.setTextureSize(128, 128);
Y.mirror = true;
setRotation(Y, 0F, 3.141593F, 0F);
Z = new ModelRenderer(this, 72, 113);
Z.addBox(1F, 0F, -2F, 3, 6, 4);
Z.setRotationPoint(0F, -47F, 0F);
Z.setTextureSize(128, 128);
Z.mirror = true;
setRotation(Z, 0F, -1.047198F, 0F);
AA = new ModelRenderer(this, 72, 113);
AA.addBox(1F, 0F, -2F, 3, 6, 4);
AA.setRotationPoint(0F, -47F, 0F);
AA.setTextureSize(128, 128);
AA.mirror = true;
setRotation(AA, 0F, -2.094395F, 0F);
AB = new ModelRenderer(this, 72, 102);
AB.addBox(-6F, 0F, -1F, 12, 6, 2);
AB.setRotationPoint(0F, -47F, 0F);
AB.setTextureSize(128, 128);
AB.mirror = true;
setRotation(AB, 0F, -2.094395F, 0F);
AC = new ModelRenderer(this, 72, 102);
AC.addBox(-6F, 0F, -1F, 12, 6, 2);
AC.setRotationPoint(0F, -47F, 0F);
AC.setTextureSize(128, 128);
AC.mirror = true;
setRotation(AC, 0F, 0F, 0F);
AD = new ModelRenderer(this, 72, 102);
AD.addBox(-6F, 0F, -1F, 12, 6, 2);
AD.setRotationPoint(0F, -47F, 0F);
AD.setTextureSize(128, 128);
AD.mirror = true;
setRotation(AD, 0F, -1.047198F, 0F);
AE = new ModelRenderer(this, 89, 113);
AE.addBox(-5F, 0F, -1F, 2, 6, 2);
AE.setRotationPoint(0F, -51F, 0F);
AE.setTextureSize(128, 128);
AE.mirror = true;
setRotation(AE, 0F, -2.094395F, 0.2617994F);
AF = new ModelRenderer(this, 89, 113);
AF.addBox(-5F, 0F, -1F, 2, 6, 2);
AF.setRotationPoint(0F, -51F, 0F);
AF.setTextureSize(128, 128);
AF.mirror = true;
setRotation(AF, 0F, 0F, 0.2617994F);
AG = new ModelRenderer(this, 89, 113);
AG.addBox(-5F, 0F, -1F, 2, 6, 2);
AG.setRotationPoint(0F, -51F, 0F);
AG.setTextureSize(128, 128);
AG.mirror = true;
setRotation(AG, 0F, -1.047198F, 0.2617994F);
AH = new ModelRenderer(this, 89, 113);
AH.addBox(-5F, 0F, -1F, 2, 6, 2);
AH.setRotationPoint(0F, -51F, 0F);
AH.setTextureSize(128, 128);
AH.mirror = true;
setRotation(AH, 0F, 1.047198F, 0.2617994F);
AI = new ModelRenderer(this, 89, 113);
AI.addBox(-5F, 0F, -1F, 2, 6, 2);
AI.setRotationPoint(0F, -51F, 0F);
AI.setTextureSize(128, 128);
AI.mirror = true;
setRotation(AI, 0F, 2.094395F, 0.2617994F);
AJ = new ModelRenderer(this, 89, 113);
AJ.addBox(-5F, 0F, -1F, 2, 6, 2);
AJ.setRotationPoint(0F, -51F, 0F);
AJ.setTextureSize(128, 128);
AJ.mirror = true;
setRotation(AJ, 0F, 3.141593F, 0.2617994F);
AK = new ModelRenderer(this, 51, 106);
AK.addBox(-2F, 0F, -2F, 4, 11, 4);
AK.setRotationPoint(0F, -58F, 0F);
AK.setTextureSize(128, 128);
AK.mirror = true;
setRotation(AK, 0F, 0F, 0F);
}
@Override
public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5)
{
super.render(entity, f, f1, f2, f3, f4, f5);
this.setRotationAngles(f, f1, f2, f3, f4, f5, entity);
this.render(f5);
}
@Override
public void render(float f5)
{
A.render(f5);
B.render(f5);
C.render(f5);
D.render(f5);
E.render(f5);
F.render(f5);
G.render(f5);
H.render(f5);
I.render(f5);
J.render(f5);
K.render(f5);
L.render(f5);
M.render(f5);
N.render(f5);
O.render(f5);
P.render(f5);
Q.render(f5);
R.render(f5);
S.render(f5);
T.render(f5);
U.render(f5);
V.render(f5);
W.render(f5);
X.render(f5);
Y.render(f5);
Z.render(f5);
AA.render(f5);
AB.render(f5);
AC.render(f5);
AD.render(f5);
AE.render(f5);
AF.render(f5);
AG.render(f5);
AH.render(f5);
AI.render(f5);
AJ.render(f5);
AK.render(f5);
}
private void setRotation(ModelRenderer model, float x, float y, float z)
{
model.rotateAngleX = x;
model.rotateAngleY = y;
model.rotateAngleZ = z;
}
}
@@ -0,0 +1,111 @@
package defense.client.model.tile;
import net.minecraft.client.model.ModelBase;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.entity.Entity;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@SideOnly(Side.CLIENT)
public class ModelCruiseLauncherBase extends ModelBase
{
// fields
ModelRenderer SUPPORT_1;
ModelRenderer SUPPORT_2;
ModelRenderer SUPPORT_3;
ModelRenderer SUPPORT_4;
ModelRenderer SUPPORT_5;
ModelRenderer SUPPORT_6;
ModelRenderer MAIN_BODY;
ModelRenderer MAIN_SUPPORT;
ModelRenderer TORQUE_ROT;
public ModelCruiseLauncherBase()
{
textureWidth = 128;
textureHeight = 128;
SUPPORT_1 = new ModelRenderer(this, 0, 0);
SUPPORT_1.addBox(-1F, 0F, -21F, 2, 1, 42);
SUPPORT_1.setRotationPoint(0F, 21F, 0F);
SUPPORT_1.setTextureSize(128, 128);
SUPPORT_1.mirror = true;
setRotation(SUPPORT_1, 0F, 0.7853982F, 0F);
SUPPORT_2 = new ModelRenderer(this, 0, 0);
SUPPORT_2.addBox(-1F, 0F, -21F, 2, 1, 42);
SUPPORT_2.setRotationPoint(0F, 21F, 0F);
SUPPORT_2.setTextureSize(128, 128);
SUPPORT_2.mirror = true;
setRotation(SUPPORT_2, 0F, 2.356194F, 0F);
SUPPORT_3 = new ModelRenderer(this, 0, 28);
SUPPORT_3.addBox(0F, 0F, 0F, 4, 3, 4);
SUPPORT_3.setRotationPoint(-16F, 21F, -16F);
SUPPORT_3.setTextureSize(128, 128);
SUPPORT_3.mirror = true;
setRotation(SUPPORT_3, 0F, 0F, 0F);
SUPPORT_4 = new ModelRenderer(this, 0, 28);
SUPPORT_4.addBox(0F, 0F, 0F, 4, 3, 4);
SUPPORT_4.setRotationPoint(12F, 21F, -16F);
SUPPORT_4.setTextureSize(128, 128);
SUPPORT_4.mirror = true;
setRotation(SUPPORT_4, 0F, 0F, 0F);
SUPPORT_5 = new ModelRenderer(this, 0, 28);
SUPPORT_5.addBox(0F, 0F, 0F, 4, 3, 4);
SUPPORT_5.setRotationPoint(12F, 21F, 12F);
SUPPORT_5.setTextureSize(128, 128);
SUPPORT_5.mirror = true;
setRotation(SUPPORT_5, 0F, 0F, 0F);
SUPPORT_6 = new ModelRenderer(this, 0, 28);
SUPPORT_6.addBox(0F, 0F, 0F, 4, 3, 4);
SUPPORT_6.setRotationPoint(-16F, 21F, 12F);
SUPPORT_6.setTextureSize(128, 128);
SUPPORT_6.mirror = true;
setRotation(SUPPORT_6, 0F, 0F, 0F);
MAIN_BODY = new ModelRenderer(this, 0, 46);
MAIN_BODY.addBox(0F, 0F, 0F, 6, 4, 6);
MAIN_BODY.setRotationPoint(-3F, 20F, -3F);
MAIN_BODY.setTextureSize(128, 128);
MAIN_BODY.mirror = true;
setRotation(MAIN_BODY, 0F, 0F, 0F);
MAIN_SUPPORT = new ModelRenderer(this, 0, 59);
MAIN_SUPPORT.addBox(0F, 0F, 0F, 4, 2, 4);
MAIN_SUPPORT.setRotationPoint(-2F, 18F, -2F);
MAIN_SUPPORT.setTextureSize(128, 128);
MAIN_SUPPORT.mirror = true;
setRotation(MAIN_SUPPORT, 0F, 0F, 0F);
TORQUE_ROT = new ModelRenderer(this, 0, 68);
TORQUE_ROT.addBox(-1F, -4F, -1F, 2, 4, 2);
TORQUE_ROT.setRotationPoint(0F, 18F, 0F);
TORQUE_ROT.setTextureSize(128, 128);
TORQUE_ROT.mirror = true;
setRotation(TORQUE_ROT, 0F, 0.7853982F, 0F);
}
public void render(float f5)
{
SUPPORT_1.render(f5);
SUPPORT_2.render(f5);
SUPPORT_3.render(f5);
SUPPORT_4.render(f5);
SUPPORT_5.render(f5);
SUPPORT_6.render(f5);
MAIN_BODY.render(f5);
MAIN_SUPPORT.render(f5);
TORQUE_ROT.render(f5);
}
private void setRotation(ModelRenderer model, float x, float y, float z)
{
model.rotateAngleX = x;
model.rotateAngleY = y;
model.rotateAngleZ = z;
}
@Override
public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity)
{
super.setRotationAngles(f, f1, f2, f3, f4, f5, entity);
}
}
@@ -0,0 +1,94 @@
package defense.client.model.tile;
import net.minecraft.client.model.ModelBase;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.entity.Entity;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@SideOnly(Side.CLIENT)
public class ModelCruiseLauncherTurret extends ModelBase
{
ModelRenderer CLAMP_1_ROT;
ModelRenderer CLAMP_2_ROT;
ModelRenderer COUNTERBALANCE_1_ROT;
ModelRenderer COUNTERBALANCE_2_ROT;
ModelRenderer RAIL_1_ROT;
ModelRenderer RAIL_2_ROT;
ModelRenderer TORQUE_SUPPORT_ROT;
public ModelCruiseLauncherTurret()
{
textureWidth = 128;
textureHeight = 128;
CLAMP_1_ROT = new ModelRenderer(this, 20, 0);
CLAMP_1_ROT.addBox(-1F, -1F, -17F, 6, 6, 1);
CLAMP_1_ROT.setRotationPoint(0F, 13F, 0F);
CLAMP_1_ROT.setTextureSize(128, 128);
CLAMP_1_ROT.mirror = true;
setRotation(CLAMP_1_ROT, 0F, 0F, -2.356194F);
CLAMP_2_ROT = new ModelRenderer(this, 20, 0);
CLAMP_2_ROT.addBox(-1F, -1F, 0F, 6, 6, 1);
CLAMP_2_ROT.setRotationPoint(0F, 13F, 0F);
CLAMP_2_ROT.setTextureSize(128, 128);
CLAMP_2_ROT.mirror = true;
setRotation(CLAMP_2_ROT, 0F, 0F, -2.356194F);
COUNTERBALANCE_1_ROT = new ModelRenderer(this, 84, 0);
COUNTERBALANCE_1_ROT.addBox(1F, -4F, 1F, 4, 4, 8);
COUNTERBALANCE_1_ROT.setRotationPoint(0F, 14F, 0F);
COUNTERBALANCE_1_ROT.setTextureSize(128, 128);
COUNTERBALANCE_1_ROT.mirror = true;
setRotation(COUNTERBALANCE_1_ROT, 0F, 0F, 0F);
COUNTERBALANCE_2_ROT = new ModelRenderer(this, 84, 0);
COUNTERBALANCE_2_ROT.addBox(-5F, -4F, 1F, 4, 4, 8);
COUNTERBALANCE_2_ROT.setRotationPoint(0F, 14F, 0F);
COUNTERBALANCE_2_ROT.setTextureSize(128, 128);
COUNTERBALANCE_2_ROT.mirror = true;
setRotation(COUNTERBALANCE_2_ROT, 0F, 0F, 0F);
RAIL_1_ROT = new ModelRenderer(this, 65, 13);
RAIL_1_ROT.addBox(-5F, -1F, -17F, 4, 1, 18);
RAIL_1_ROT.setRotationPoint(0F, 14F, 0F);
RAIL_1_ROT.setTextureSize(128, 128);
RAIL_1_ROT.mirror = true;
setRotation(RAIL_1_ROT, 0F, 0F, 0.7853982F);
RAIL_2_ROT = new ModelRenderer(this, 65, 13);
RAIL_2_ROT.addBox(-5F, 0F, -17F, 4, 1, 18);
RAIL_2_ROT.setRotationPoint(0F, 14F, 0F);
RAIL_2_ROT.setTextureSize(128, 128);
RAIL_2_ROT.mirror = true;
setRotation(RAIL_2_ROT, 0F, 0F, 2.356194F);
TORQUE_SUPPORT_ROT = new ModelRenderer(this, 47, 17);
TORQUE_SUPPORT_ROT.addBox(-2F, 0F, -2F, 4, 2, 4);
TORQUE_SUPPORT_ROT.setRotationPoint(0F, 13F, 0F);
TORQUE_SUPPORT_ROT.setTextureSize(128, 128);
TORQUE_SUPPORT_ROT.mirror = true;
setRotation(TORQUE_SUPPORT_ROT, 0F, 0F, 0F);
}
public void render(float f5)
{
CLAMP_1_ROT.render(f5);
CLAMP_2_ROT.render(f5);
COUNTERBALANCE_1_ROT.render(f5);
COUNTERBALANCE_2_ROT.render(f5);
RAIL_1_ROT.render(f5);
RAIL_2_ROT.render(f5);
TORQUE_SUPPORT_ROT.render(f5);
}
private void setRotation(ModelRenderer model, float x, float y, float z)
{
model.rotateAngleX = x;
model.rotateAngleY = y;
model.rotateAngleZ = z;
}
@Override
public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity)
{
super.setRotationAngles(f, f1, f2, f3, f4, f5, entity);
}
}
@@ -0,0 +1,138 @@
package defense.client.model.tile;
import net.minecraft.client.model.ModelBase;
import net.minecraft.client.model.ModelRenderer;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@SideOnly(Side.CLIENT)
public class ModelEmpTower extends ModelBase
{
// fields
ModelRenderer Base;
ModelRenderer Support;
ModelRenderer Turret_Support;
ModelRenderer Main_Coil;
ModelRenderer Support_Beam_A1;
ModelRenderer Support_Beam_B1;
ModelRenderer Support_Beam_C1;
ModelRenderer Support_Beam_D1;
ModelRenderer Support_Beam_DB1;
ModelRenderer Support_Beam_CA1;
ModelRenderer Support_Beam_CA2;
ModelRenderer Support_Beam_DB2;
public ModelEmpTower()
{
textureWidth = 128;
textureHeight = 128;
Base = new ModelRenderer(this, 0, 0);
Base.addBox(0F, 0F, 0F, 16, 6, 16);
Base.setRotationPoint(-8F, 18F, -8F);
Base.setTextureSize(128, 128);
Base.mirror = true;
setRotation(Base, 0F, 0F, 0F);
Support = new ModelRenderer(this, 0, 24);
Support.addBox(0F, 0F, 0F, 10, 8, 10);
Support.setRotationPoint(-5F, 10F, -5F);
Support.setTextureSize(128, 128);
Support.mirror = true;
setRotation(Support, 0F, 0F, 0F);
Turret_Support = new ModelRenderer(this, 0, 44);
Turret_Support.addBox(-7F, 0F, -7F, 14, 1, 14);
Turret_Support.setRotationPoint(0F, 9F, 0F);
Turret_Support.setTextureSize(128, 128);
Turret_Support.mirror = true;
setRotation(Turret_Support, 0F, 0.7853982F, 0F);
Main_Coil = new ModelRenderer(this, 66, 0);
Main_Coil.addBox(-2F, 0F, -2F, 4, 11, 4);
Main_Coil.setRotationPoint(0F, -5F, 0F);
Main_Coil.setTextureSize(128, 128);
Main_Coil.mirror = true;
setRotation(Main_Coil, 0F, 0F, 0F);
Support_Beam_A1 = new ModelRenderer(this, 66, 16);
Support_Beam_A1.addBox(8F, 0F, -1F, 1, 18, 2);
Support_Beam_A1.setRotationPoint(0F, -8F, 0F);
Support_Beam_A1.setTextureSize(128, 128);
Support_Beam_A1.mirror = true;
setRotation(Support_Beam_A1, 0F, 0F, 0F);
Support_Beam_B1 = new ModelRenderer(this, 73, 16);
Support_Beam_B1.addBox(-1F, 0F, -9F, 2, 18, 1);
Support_Beam_B1.setRotationPoint(0F, -8F, 0F);
Support_Beam_B1.setTextureSize(128, 128);
Support_Beam_B1.mirror = true;
setRotation(Support_Beam_B1, 0F, 0F, 0F);
Support_Beam_C1 = new ModelRenderer(this, 66, 16);
Support_Beam_C1.addBox(-9F, 0F, -1F, 1, 18, 2);
Support_Beam_C1.setRotationPoint(0F, -8F, 0F);
Support_Beam_C1.setTextureSize(128, 128);
Support_Beam_C1.mirror = true;
setRotation(Support_Beam_C1, 0F, 0F, 0F);
Support_Beam_D1 = new ModelRenderer(this, 73, 16);
Support_Beam_D1.addBox(-1F, 0F, 8F, 2, 18, 1);
Support_Beam_D1.setRotationPoint(0F, -8F, 0F);
Support_Beam_D1.setTextureSize(128, 128);
Support_Beam_D1.mirror = true;
setRotation(Support_Beam_D1, 0F, 0F, 0F);
Support_Beam_DB1 = new ModelRenderer(this, 85, 0);
Support_Beam_DB1.addBox(-1F, 0F, -8F, 2, 1, 16);
Support_Beam_DB1.setRotationPoint(0F, 3F, 0F);
Support_Beam_DB1.setTextureSize(128, 128);
Support_Beam_DB1.mirror = true;
setRotation(Support_Beam_DB1, 0F, 0F, 0F);
Support_Beam_CA1 = new ModelRenderer(this, 85, 19);
Support_Beam_CA1.addBox(-8F, 0F, -1F, 16, 1, 2);
Support_Beam_CA1.setRotationPoint(0F, 3F, 0F);
Support_Beam_CA1.setTextureSize(128, 128);
Support_Beam_CA1.mirror = true;
setRotation(Support_Beam_CA1, 0F, 0F, 0F);
Support_Beam_CA2 = new ModelRenderer(this, 85, 19);
Support_Beam_CA2.addBox(-8F, 0F, -1F, 16, 1, 2);
Support_Beam_CA2.setRotationPoint(0F, -3F, 0F);
Support_Beam_CA2.setTextureSize(128, 128);
Support_Beam_CA2.mirror = true;
setRotation(Support_Beam_CA2, 0F, 0F, 0F);
Support_Beam_DB2 = new ModelRenderer(this, 85, 0);
Support_Beam_DB2.addBox(-1F, 0F, -8F, 2, 1, 16);
Support_Beam_DB2.setRotationPoint(0F, -3F, 0F);
Support_Beam_DB2.setTextureSize(128, 128);
Support_Beam_DB2.mirror = true;
setRotation(Support_Beam_DB2, 0F, 0F, 0F);
}
public void render(float rotation, float f5)
{
Base.render(f5);
Support.render(f5);
// Rotatables
Turret_Support.rotateAngleY = -rotation;
Turret_Support.render(f5);
Main_Coil.rotateAngleY = -rotation;
Main_Coil.render(f5);
Support_Beam_A1.rotateAngleY = rotation;
Support_Beam_A1.render(f5);
Support_Beam_B1.rotateAngleY = rotation;
Support_Beam_B1.render(f5);
Support_Beam_C1.rotateAngleY = rotation;
Support_Beam_C1.render(f5);
Support_Beam_D1.rotateAngleY = rotation;
Support_Beam_D1.render(f5);
Support_Beam_DB1.rotateAngleY = rotation;
Support_Beam_DB1.render(f5);
Support_Beam_CA1.rotateAngleY = rotation;
Support_Beam_CA1.render(f5);
Support_Beam_CA2.rotateAngleY = rotation;
Support_Beam_CA2.render(f5);
Support_Beam_DB2.rotateAngleY = rotation;
Support_Beam_DB2.render(f5);
}
private void setRotation(ModelRenderer model, float x, float y, float z)
{
model.rotateAngleX = x;
model.rotateAngleY = y;
model.rotateAngleZ = z;
}
}
@@ -0,0 +1,94 @@
package defense.client.model.tile;
import net.minecraft.client.model.ModelBase;
import net.minecraft.client.model.ModelRenderer;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import defense.client.tmt.ModelRendererTurbo;
@SideOnly(Side.CLIENT)
public class ModelLauncherBaseT1 extends ModelBase
{
// fields
ModelRendererTurbo[] bodyModel;
public ModelLauncherBaseT1()
{
int textureX = 512;
int textureY = 512;
bodyModel = new ModelRendererTurbo[13];
bodyModel[0] = new ModelRendererTurbo(this, 0, 0, textureX, textureY); // Box 0
bodyModel[1] = new ModelRendererTurbo(this, 0, 44, textureX, textureY); // Box 1
bodyModel[2] = new ModelRendererTurbo(this, 0, 39, textureX, textureY); // Box 2
bodyModel[3] = new ModelRendererTurbo(this, 0, 39, textureX, textureY); // Box 3
bodyModel[4] = new ModelRendererTurbo(this, 0, 44, textureX, textureY); // Box 4
bodyModel[5] = new ModelRendererTurbo(this, 0, 52, textureX, textureY); // Box 5
bodyModel[6] = new ModelRendererTurbo(this, 0, 52, textureX, textureY); // Box 6
bodyModel[7] = new ModelRendererTurbo(this, 0, 61, textureX, textureY); // Box 7
bodyModel[8] = new ModelRendererTurbo(this, 0, 71, textureX, textureY); // Box 8
bodyModel[9] = new ModelRendererTurbo(this, 0, 71, textureX, textureY); // Box 9
bodyModel[10] = new ModelRendererTurbo(this, 0, 75, textureX, textureY); // Box 10
bodyModel[11] = new ModelRendererTurbo(this, 0, 89, textureX, textureY); // Box 11
bodyModel[12] = new ModelRendererTurbo(this, 0, 89, textureX, textureY); // Box 12
bodyModel[0].addBox(0F, 0F, 0F, 10, 2, 8, 0F); // Box 0
bodyModel[0].setRotationPoint(-5F, 22F, -4F);
bodyModel[1].addShapeBox(0F, 0F, 0F, 4, 2, 3, 0F, -1F, -1F, 0F, -1F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 1
bodyModel[1].setRotationPoint(-2F, 22F, -8F);
bodyModel[2].addShapeBox(0F, 0F, 0F, 10, 2, 1, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 2
bodyModel[2].setRotationPoint(-5F, 22F, -5F);
bodyModel[3].addShapeBox(0F, 0F, 0F, 10, 2, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F); // Box 3
bodyModel[3].setRotationPoint(-5F, 22F, 4F);
bodyModel[4].addShapeBox(0F, 0F, 0F, 4, 2, 3, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, -1F, 0F, -1F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F); // Box 4
bodyModel[4].setRotationPoint(-2F, 22F, 5F);
bodyModel[5].addShapeBox(0F, 0F, 0F, 3, 2, 4, 0F, 0F, -1F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F); // Box 5
bodyModel[5].setRotationPoint(-8F, 22F, -2F);
bodyModel[6].addShapeBox(0F, 0F, 0F, 3, 2, 4, 0F, 0F, 0F, 0F, 0F, -1F, -1F, 0F, -1F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F); // Box 6
bodyModel[6].setRotationPoint(5F, 22F, -2F);
bodyModel[7].addBox(0F, 0F, 0F, 8, 1, 6, 0F); // Box 7
bodyModel[7].setRotationPoint(-4F, 21F, -3F);
bodyModel[8].addShapeBox(0F, 0F, 0F, 8, 1, 1, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 8
bodyModel[8].setRotationPoint(-4F, 21F, -4F);
bodyModel[9].addShapeBox(0F, 0F, 0F, 8, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F); // Box 9
bodyModel[9].setRotationPoint(-4F, 21F, 3F);
bodyModel[10].addBox(0F, 0F, 0F, 12, 1, 10, 0F); // Box 10
bodyModel[10].setRotationPoint(-6F, 20F, -5F);
bodyModel[11].addShapeBox(0F, 0F, 0F, 12, 1, 1, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 11
bodyModel[11].setRotationPoint(-6F, 20F, -6F);
bodyModel[12].addShapeBox(0F, 0F, 0F, 12, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F); // Box 12
bodyModel[12].setRotationPoint(-6F, 20F, 5F);
}
public void render(float f5)
{
render(bodyModel, f5);
}
private void render(ModelRendererTurbo[] models, float f)
{
for(ModelRendererTurbo model : models)
if(model != null)
model.render(f);
}
private void setRotation(ModelRenderer model, float x, float y, float z)
{
model.rotateAngleX = x;
model.rotateAngleY = y;
model.rotateAngleZ = z;
}
}
@@ -0,0 +1,62 @@
package defense.client.model.tile;
import net.minecraft.client.model.ModelBase;
import net.minecraft.client.model.ModelRenderer;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@SideOnly(Side.CLIENT)
public class ModelLauncherBaseT2 extends ModelBase
{
// fields
ModelRenderer Shape1;
ModelRenderer Shape6;
ModelRenderer Shape2;
ModelRenderer Shape3;
public ModelLauncherBaseT2()
{
textureWidth = 128;
textureHeight = 128;
Shape1 = new ModelRenderer(this, 0, 111);
Shape1.addBox(0F, 0F, 0F, 16, 1, 16);
Shape1.setRotationPoint(-8F, 23F, -8F);
Shape1.setTextureSize(128, 128);
Shape1.mirror = true;
setRotation(Shape1, 0F, 0F, 0F);
Shape6 = new ModelRenderer(this, 0, 111);
Shape6.addBox(0F, 0F, 0F, 16, 1, 16);
Shape6.setRotationPoint(-8F, 19F, -8F);
Shape6.setTextureSize(128, 128);
Shape6.mirror = true;
setRotation(Shape6, 0F, 0F, 0F);
Shape2 = new ModelRenderer(this, 63, 0);
Shape2.addBox(0F, 0F, 0F, 2, 4, 2);
Shape2.setRotationPoint(-8F, 20F, -1F);
Shape2.setTextureSize(128, 128);
Shape2.mirror = true;
setRotation(Shape2, 0F, 0F, 0F);
Shape3 = new ModelRenderer(this, 63, 0);
Shape3.addBox(0F, 0F, 0F, 2, 4, 2);
Shape3.setRotationPoint(6F, 20F, -1F);
Shape3.setTextureSize(128, 128);
Shape3.mirror = true;
setRotation(Shape3, 0F, 0F, 0F);
}
public void render(float f5)
{
Shape1.render(f5);
Shape6.render(f5);
Shape2.render(f5);
Shape3.render(f5);
}
private void setRotation(ModelRenderer model, float x, float y, float z)
{
model.rotateAngleX = x;
model.rotateAngleY = y;
model.rotateAngleZ = z;
}
}
@@ -0,0 +1,46 @@
package defense.client.model.tile;
import net.minecraft.client.model.ModelBase;
import net.minecraft.client.model.ModelRenderer;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@SideOnly(Side.CLIENT)
public class ModelLauncherBaseT3 extends ModelBase
{
// fields
ModelRenderer Shape12;
ModelRenderer Shape13;
public ModelLauncherBaseT3()
{
textureWidth = 256;
textureHeight = 256;
Shape12 = new ModelRenderer(this, 0, 80);
Shape12.addBox(0F, 0F, 0F, 11, 6, 6);
Shape12.setRotationPoint(-5F, 18F, -6F);
Shape12.setTextureSize(256, 256);
Shape12.mirror = true;
setRotation(Shape12, 0F, 0F, 0F);
Shape13 = new ModelRenderer(this, 0, 80);
Shape13.addBox(0F, 0F, 0F, 11, 6, 6);
Shape13.setRotationPoint(-5F, 18F, 1F);
Shape13.setTextureSize(256, 256);
Shape13.mirror = true;
setRotation(Shape13, 0F, 0F, 0F);
}
public void render(float f5)
{
Shape12.render(f5);
Shape13.render(f5);
}
private void setRotation(ModelRenderer model, float x, float y, float z)
{
model.rotateAngleX = x;
model.rotateAngleY = y;
model.rotateAngleZ = z;
}
}
@@ -0,0 +1,467 @@
package defense.client.model.tile;
import net.minecraft.client.model.ModelBase;
import net.minecraft.client.model.ModelRenderer;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import defense.client.tmt.ModelRendererTurbo;
@SideOnly(Side.CLIENT)
public class ModelLauncherFrame extends ModelBase
{
// fields
ModelRendererTurbo[] bodyModel;
public ModelLauncherFrame()
{
int textureX = 512;
int textureY = 512;
bodyModel = new ModelRendererTurbo[106];
bodyModel[0] = new ModelRendererTurbo(this, 50, 0, textureX, textureY); // Box 0
bodyModel[1] = new ModelRendererTurbo(this, 50, 52, textureX, textureY); // Box 1
bodyModel[2] = new ModelRendererTurbo(this, 50, 100, textureX, textureY); // Box 2
bodyModel[3] = new ModelRendererTurbo(this, 50, 100, textureX, textureY); // Box 3
bodyModel[4] = new ModelRendererTurbo(this, 50, 107, textureX, textureY); // Box 4
bodyModel[5] = new ModelRendererTurbo(this, 50, 122, textureX, textureY); // Box 5
bodyModel[6] = new ModelRendererTurbo(this, 50, 122, textureX, textureY); // Box 6
bodyModel[7] = new ModelRendererTurbo(this, 50, 0, textureX, textureY); // Box 7
bodyModel[8] = new ModelRendererTurbo(this, 50, 100, textureX, textureY); // Box 8
bodyModel[9] = new ModelRendererTurbo(this, 50, 100, textureX, textureY); // Box 9
bodyModel[10] = new ModelRendererTurbo(this, 50, 0, textureX, textureY); // Box 10
bodyModel[11] = new ModelRendererTurbo(this, 50, 100, textureX, textureY); // Box 11
bodyModel[12] = new ModelRendererTurbo(this, 50, 100, textureX, textureY); // Box 12
bodyModel[13] = new ModelRendererTurbo(this, 50, 122, textureX, textureY); // Box 13
bodyModel[14] = new ModelRendererTurbo(this, 50, 107, textureX, textureY); // Box 14
bodyModel[15] = new ModelRendererTurbo(this, 50, 122, textureX, textureY); // Box 15
bodyModel[16] = new ModelRendererTurbo(this, 50, 0, textureX, textureY); // Box 16
bodyModel[17] = new ModelRendererTurbo(this, 50, 100, textureX, textureY); // Box 17
bodyModel[18] = new ModelRendererTurbo(this, 50, 100, textureX, textureY); // Box 18
bodyModel[19] = new ModelRendererTurbo(this, 50, 122, textureX, textureY); // Box 19
bodyModel[20] = new ModelRendererTurbo(this, 50, 107, textureX, textureY); // Box 20
bodyModel[21] = new ModelRendererTurbo(this, 50, 122, textureX, textureY); // Box 21
bodyModel[22] = new ModelRendererTurbo(this, 50, 129, textureX, textureY); // Box 22
bodyModel[23] = new ModelRendererTurbo(this, 50, 129, textureX, textureY); // Box 23
bodyModel[24] = new ModelRendererTurbo(this, 50, 129, textureX, textureY); // Box 24
bodyModel[25] = new ModelRendererTurbo(this, 50, 129, textureX, textureY); // Box 25
bodyModel[26] = new ModelRendererTurbo(this, 50, 179, textureX, textureY); // Box 26
bodyModel[27] = new ModelRendererTurbo(this, 50, 179, textureX, textureY); // Box 27
bodyModel[28] = new ModelRendererTurbo(this, 50, 191, textureX, textureY); // Box 28
bodyModel[29] = new ModelRendererTurbo(this, 50, 191, textureX, textureY); // Box 29
bodyModel[30] = new ModelRendererTurbo(this, 50, 179, textureX, textureY); // Box 30
bodyModel[31] = new ModelRendererTurbo(this, 50, 179, textureX, textureY); // Box 31
bodyModel[32] = new ModelRendererTurbo(this, 50, 191, textureX, textureY); // Box 32
bodyModel[33] = new ModelRendererTurbo(this, 50, 179, textureX, textureY); // Box 33
bodyModel[34] = new ModelRendererTurbo(this, 50, 179, textureX, textureY); // Box 34
bodyModel[35] = new ModelRendererTurbo(this, 50, 191, textureX, textureY); // Box 35
bodyModel[36] = new ModelRendererTurbo(this, 50, 179, textureX, textureY); // Box 36
bodyModel[37] = new ModelRendererTurbo(this, 50, 179, textureX, textureY); // Box 37
bodyModel[38] = new ModelRendererTurbo(this, 50, 198, textureX, textureY); // Box 38
bodyModel[39] = new ModelRendererTurbo(this, 50, 205, textureX, textureY); // Box 39
bodyModel[40] = new ModelRendererTurbo(this, 50, 205, textureX, textureY); // Box 40
bodyModel[41] = new ModelRendererTurbo(this, 50, 205, textureX, textureY); // Box 41
bodyModel[42] = new ModelRendererTurbo(this, 50, 198, textureX, textureY); // Box 42
bodyModel[43] = new ModelRendererTurbo(this, 50, 205, textureX, textureY); // Box 43
bodyModel[44] = new ModelRendererTurbo(this, 50, 205, textureX, textureY); // Box 44
bodyModel[45] = new ModelRendererTurbo(this, 50, 198, textureX, textureY); // Box 45
bodyModel[46] = new ModelRendererTurbo(this, 50, 205, textureX, textureY); // Box 46
bodyModel[47] = new ModelRendererTurbo(this, 50, 198, textureX, textureY); // Box 47
bodyModel[48] = new ModelRendererTurbo(this, 50, 205, textureX, textureY); // Box 48
bodyModel[49] = new ModelRendererTurbo(this, 50, 205, textureX, textureY); // Box 49
bodyModel[50] = new ModelRendererTurbo(this, 50, 191, textureX, textureY); // Box 50
bodyModel[51] = new ModelRendererTurbo(this, 50, 179, textureX, textureY); // Box 51
bodyModel[52] = new ModelRendererTurbo(this, 50, 179, textureX, textureY); // Box 52
bodyModel[53] = new ModelRendererTurbo(this, 50, 179, textureX, textureY); // Box 53
bodyModel[54] = new ModelRendererTurbo(this, 50, 191, textureX, textureY); // Box 54
bodyModel[55] = new ModelRendererTurbo(this, 50, 179, textureX, textureY); // Box 55
bodyModel[56] = new ModelRendererTurbo(this, 50, 179, textureX, textureY); // Box 56
bodyModel[57] = new ModelRendererTurbo(this, 50, 191, textureX, textureY); // Box 57
bodyModel[58] = new ModelRendererTurbo(this, 50, 179, textureX, textureY); // Box 58
bodyModel[59] = new ModelRendererTurbo(this, 50, 191, textureX, textureY); // Box 59
bodyModel[60] = new ModelRendererTurbo(this, 50, 179, textureX, textureY); // Box 60
bodyModel[61] = new ModelRendererTurbo(this, 50, 179, textureX, textureY); // Box 61
bodyModel[62] = new ModelRendererTurbo(this, 50, 198, textureX, textureY); // Box 62
bodyModel[63] = new ModelRendererTurbo(this, 50, 205, textureX, textureY); // Box 63
bodyModel[64] = new ModelRendererTurbo(this, 50, 205, textureX, textureY); // Box 64
bodyModel[65] = new ModelRendererTurbo(this, 50, 205, textureX, textureY); // Box 65
bodyModel[66] = new ModelRendererTurbo(this, 50, 198, textureX, textureY); // Box 66
bodyModel[67] = new ModelRendererTurbo(this, 50, 205, textureX, textureY); // Box 67
bodyModel[68] = new ModelRendererTurbo(this, 50, 205, textureX, textureY); // Box 68
bodyModel[69] = new ModelRendererTurbo(this, 50, 198, textureX, textureY); // Box 69
bodyModel[70] = new ModelRendererTurbo(this, 50, 205, textureX, textureY); // Box 70
bodyModel[71] = new ModelRendererTurbo(this, 50, 198, textureX, textureY); // Box 71
bodyModel[72] = new ModelRendererTurbo(this, 50, 205, textureX, textureY); // Box 72
bodyModel[73] = new ModelRendererTurbo(this, 50, 205, textureX, textureY); // Box 73
bodyModel[74] = new ModelRendererTurbo(this, 50, 210, textureX, textureY); // Box 74
bodyModel[75] = new ModelRendererTurbo(this, 50, 210, textureX, textureY); // Box 75
bodyModel[76] = new ModelRendererTurbo(this, 50, 210, textureX, textureY); // Box 76
bodyModel[77] = new ModelRendererTurbo(this, 50, 210, textureX, textureY); // Box 77
bodyModel[78] = new ModelRendererTurbo(this, 50, 210, textureX, textureY); // Box 78
bodyModel[79] = new ModelRendererTurbo(this, 50, 210, textureX, textureY); // Box 79
bodyModel[80] = new ModelRendererTurbo(this, 50, 210, textureX, textureY); // Box 80
bodyModel[81] = new ModelRendererTurbo(this, 50, 210, textureX, textureY); // Box 81
bodyModel[82] = new ModelRendererTurbo(this, 50, 210, textureX, textureY); // Box 82
bodyModel[83] = new ModelRendererTurbo(this, 50, 210, textureX, textureY); // Box 83
bodyModel[84] = new ModelRendererTurbo(this, 50, 210, textureX, textureY); // Box 84
bodyModel[85] = new ModelRendererTurbo(this, 50, 210, textureX, textureY); // Box 85
bodyModel[86] = new ModelRendererTurbo(this, 50, 210, textureX, textureY); // Box 86
bodyModel[87] = new ModelRendererTurbo(this, 50, 210, textureX, textureY); // Box 87
bodyModel[88] = new ModelRendererTurbo(this, 50, 210, textureX, textureY); // Box 88
bodyModel[89] = new ModelRendererTurbo(this, 50, 210, textureX, textureY); // Box 89
bodyModel[90] = new ModelRendererTurbo(this, 50, 198, textureX, textureY); // Box 90
bodyModel[91] = new ModelRendererTurbo(this, 50, 210, textureX, textureY); // Box 91
bodyModel[92] = new ModelRendererTurbo(this, 50, 179, textureX, textureY); // Box 92
bodyModel[93] = new ModelRendererTurbo(this, 50, 179, textureX, textureY); // Box 93
bodyModel[94] = new ModelRendererTurbo(this, 50, 191, textureX, textureY); // Box 94
bodyModel[95] = new ModelRendererTurbo(this, 50, 205, textureX, textureY); // Box 95
bodyModel[96] = new ModelRendererTurbo(this, 50, 205, textureX, textureY); // Box 96
bodyModel[97] = new ModelRendererTurbo(this, 50, 210, textureX, textureY); // Box 97
bodyModel[98] = new ModelRendererTurbo(this, 50, 191, textureX, textureY); // Box 98
bodyModel[99] = new ModelRendererTurbo(this, 50, 179, textureX, textureY); // Box 99
bodyModel[100] = new ModelRendererTurbo(this, 50, 179, textureX, textureY); // Box 100
bodyModel[101] = new ModelRendererTurbo(this, 50, 198, textureX, textureY); // Box 101
bodyModel[102] = new ModelRendererTurbo(this, 50, 210, textureX, textureY); // Box 102
bodyModel[103] = new ModelRendererTurbo(this, 50, 205, textureX, textureY); // Box 103
bodyModel[104] = new ModelRendererTurbo(this, 50, 205, textureX, textureY); // Box 104
bodyModel[105] = new ModelRendererTurbo(this, 50, 210, textureX, textureY); // Box 105
bodyModel[0].addBox(0F, 0F, 0F, 16, 2, 12, 0F); // Box 0
bodyModel[0].setRotationPoint(-8F, 21F, -6F);
bodyModel[1].addBox(0F, 0F, 0F, 1, 44, 1, 0F); // Box 1
bodyModel[1].setRotationPoint(-0.5F, -32F, -0.5F);
bodyModel[2].addShapeBox(0F, 0F, 0F, 16, 2, 2, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 2
bodyModel[2].setRotationPoint(-8F, 21F, -8F);
bodyModel[3].addShapeBox(0F, 0F, 0F, 16, 2, 2, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F); // Box 3
bodyModel[3].setRotationPoint(-8F, 21F, 6F);
bodyModel[4].addBox(0F, 0F, 0F, 14, 1, 10, 0F); // Box 4
bodyModel[4].setRotationPoint(-7F, 20F, -5F);
bodyModel[5].addShapeBox(0F, 0F, 0F, 14, 1, 2, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 5
bodyModel[5].setRotationPoint(-7F, 20F, -7F);
bodyModel[6].addShapeBox(0F, 0F, 0F, 14, 1, 2, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F); // Box 6
bodyModel[6].setRotationPoint(-7F, 20F, 5F);
bodyModel[7].addBox(0F, 0F, 0F, 16, 2, 12, 0F); // Box 7
bodyModel[7].setRotationPoint(-8F, 18F, -6F);
bodyModel[8].addShapeBox(0F, 0F, 0F, 16, 2, 2, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 8
bodyModel[8].setRotationPoint(-8F, 18F, -8F);
bodyModel[9].addShapeBox(0F, 0F, 0F, 16, 2, 2, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F); // Box 9
bodyModel[9].setRotationPoint(-8F, 18F, 6F);
bodyModel[10].addBox(0F, 0F, 0F, 16, 2, 12, 0F); // Box 10
bodyModel[10].setRotationPoint(-8F, 15F, -6F);
bodyModel[11].addShapeBox(0F, 0F, 0F, 16, 2, 2, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 11
bodyModel[11].setRotationPoint(-8F, 15F, -8F);
bodyModel[12].addShapeBox(0F, 0F, 0F, 16, 2, 2, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F); // Box 12
bodyModel[12].setRotationPoint(-8F, 15F, 6F);
bodyModel[13].addShapeBox(0F, 0F, 0F, 14, 1, 2, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 13
bodyModel[13].setRotationPoint(-7F, 17F, -7F);
bodyModel[14].addBox(0F, 0F, 0F, 14, 1, 10, 0F); // Box 14
bodyModel[14].setRotationPoint(-7F, 17F, -5F);
bodyModel[15].addShapeBox(0F, 0F, 0F, 14, 1, 2, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F); // Box 15
bodyModel[15].setRotationPoint(-7F, 17F, 5F);
bodyModel[16].addBox(0F, 0F, 0F, 16, 2, 12, 0F); // Box 16
bodyModel[16].setRotationPoint(-8F, 12F, -6F);
bodyModel[17].addShapeBox(0F, 0F, 0F, 16, 2, 2, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 17
bodyModel[17].setRotationPoint(-8F, 12F, -8F);
bodyModel[18].addShapeBox(0F, 0F, 0F, 16, 2, 2, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F); // Box 18
bodyModel[18].setRotationPoint(-8F, 12F, 6F);
bodyModel[19].addShapeBox(0F, 0F, 0F, 14, 1, 2, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 19
bodyModel[19].setRotationPoint(-7F, 14F, -7F);
bodyModel[20].addBox(0F, 0F, 0F, 14, 1, 10, 0F); // Box 20
bodyModel[20].setRotationPoint(-7F, 14F, -5F);
bodyModel[21].addShapeBox(0F, 0F, 0F, 14, 1, 2, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F); // Box 21
bodyModel[21].setRotationPoint(-7F, 14F, 5F);
bodyModel[22].addBox(0F, 0F, 0F, 2, 44, 2, 0F); // Box 22
bodyModel[22].setRotationPoint(-6F, -32F, -6F);
bodyModel[23].addBox(0F, 0F, 0F, 2, 44, 2, 0F); // Box 23
bodyModel[23].setRotationPoint(-6F, -32F, 4F);
bodyModel[24].addBox(0F, 0F, 0F, 2, 44, 2, 0F); // Box 24
bodyModel[24].setRotationPoint(4F, -32F, 4F);
bodyModel[25].addBox(0F, 0F, 0F, 2, 44, 2, 0F); // Box 25
bodyModel[25].setRotationPoint(4F, -32F, -6F);
bodyModel[26].addShapeBox(0F, 0F, 0F, 1, 1, 8, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -8F, 0F, 0F, -8F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 8F, 0F, 0F, 8F, 0F); // Box 26
bodyModel[26].setRotationPoint(-5.5F, -32F, -4F);
bodyModel[27].addShapeBox(0F, 0F, 0F, 1, 1, 8, 0F, 0F, -8F, 0F, 0F, -8F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 8F, 0F, 0F, 8F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 27
bodyModel[27].setRotationPoint(-5.5F, -32F, -4F);
bodyModel[28].addShapeBox(0F, 0F, 0F, 1, 2, 2, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F); // Box 28
bodyModel[28].setRotationPoint(-5.5F, -28.5F, -1F);
bodyModel[29].addShapeBox(0F, 0F, 0F, 1, 2, 2, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F); // Box 29
bodyModel[29].setRotationPoint(-5.5F, -19.5F, -1F);
bodyModel[30].addShapeBox(0F, 0F, 0F, 1, 1, 8, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -8F, 0F, 0F, -8F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 8F, 0F, 0F, 8F, 0F); // Box 30
bodyModel[30].setRotationPoint(-5.5F, -23F, -4F);
bodyModel[31].addShapeBox(0F, 0F, 0F, 1, 1, 8, 0F, 0F, -8F, 0F, 0F, -8F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 8F, 0F, 0F, 8F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 31
bodyModel[31].setRotationPoint(-5.5F, -23F, -4F);
bodyModel[32].addShapeBox(0F, 0F, 0F, 1, 2, 2, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F); // Box 32
bodyModel[32].setRotationPoint(-5.5F, -10.5F, -1F);
bodyModel[33].addShapeBox(0F, 0F, 0F, 1, 1, 8, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -8F, 0F, 0F, -8F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 8F, 0F, 0F, 8F, 0F); // Box 33
bodyModel[33].setRotationPoint(-5.5F, -14F, -4F);
bodyModel[34].addShapeBox(0F, 0F, 0F, 1, 1, 8, 0F, 0F, -8F, 0F, 0F, -8F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 8F, 0F, 0F, 8F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 34
bodyModel[34].setRotationPoint(-5.5F, -14F, -4F);
bodyModel[35].addShapeBox(0F, 0F, 0F, 1, 2, 2, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F); // Box 35
bodyModel[35].setRotationPoint(-5.5F, -1.5F, -1F);
bodyModel[36].addShapeBox(0F, 0F, 0F, 1, 1, 8, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -8F, 0F, 0F, -8F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 8F, 0F, 0F, 8F, 0F); // Box 36
bodyModel[36].setRotationPoint(-5.5F, -5F, -4F);
bodyModel[37].addShapeBox(0F, 0F, 0F, 1, 1, 8, 0F, 0F, -8F, 0F, 0F, -8F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 8F, 0F, 0F, 8F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 37
bodyModel[37].setRotationPoint(-5.5F, -5F, -4F);
bodyModel[38].addShapeBox(0F, 0F, 0F, 2, 2, 1, 0F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F); // Box 38
bodyModel[38].setRotationPoint(-1F, -1.5F, -5.5F);
bodyModel[39].addShapeBox(0F, 0F, 0F, 8, 1, 1, 0F, 0F, -8F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -8F, 0F, 0F, 8F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 8F, 0F); // Box 39
bodyModel[39].setRotationPoint(-4F, -5F, -5.5F);
bodyModel[40].addShapeBox(0F, 0F, 0F, 8, 1, 1, 0F, 0F, 0F, 0F, 0F, -8F, 0F, 0F, -8F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 8F, 0F, 0F, 8F, 0F, 0F, 0F, 0F); // Box 40
bodyModel[40].setRotationPoint(-4F, -5F, -5.5F);
bodyModel[41].addShapeBox(0F, 0F, 0F, 8, 1, 1, 0F, 0F, -8F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -8F, 0F, 0F, 8F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 8F, 0F); // Box 41
bodyModel[41].setRotationPoint(-4F, -14F, -5.5F);
bodyModel[42].addShapeBox(0F, 0F, 0F, 2, 2, 1, 0F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F); // Box 42
bodyModel[42].setRotationPoint(-1F, -10.5F, -5.5F);
bodyModel[43].addShapeBox(0F, 0F, 0F, 8, 1, 1, 0F, 0F, 0F, 0F, 0F, -8F, 0F, 0F, -8F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 8F, 0F, 0F, 8F, 0F, 0F, 0F, 0F); // Box 43
bodyModel[43].setRotationPoint(-4F, -14F, -5.5F);
bodyModel[44].addShapeBox(0F, 0F, 0F, 8, 1, 1, 0F, 0F, 0F, 0F, 0F, -8F, 0F, 0F, -8F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 8F, 0F, 0F, 8F, 0F, 0F, 0F, 0F); // Box 44
bodyModel[44].setRotationPoint(-4F, -23F, -5.5F);
bodyModel[45].addShapeBox(0F, 0F, 0F, 2, 2, 1, 0F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F); // Box 45
bodyModel[45].setRotationPoint(-1F, -19.5F, -5.5F);
bodyModel[46].addShapeBox(0F, 0F, 0F, 8, 1, 1, 0F, 0F, -8F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -8F, 0F, 0F, 8F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 8F, 0F); // Box 46
bodyModel[46].setRotationPoint(-4F, -23F, -5.5F);
bodyModel[47].addShapeBox(0F, 0F, 0F, 2, 2, 1, 0F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F); // Box 47
bodyModel[47].setRotationPoint(-1F, -28.5F, -5.5F);
bodyModel[48].addShapeBox(0F, 0F, 0F, 8, 1, 1, 0F, 0F, 0F, 0F, 0F, -8F, 0F, 0F, -8F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 8F, 0F, 0F, 8F, 0F, 0F, 0F, 0F); // Box 48
bodyModel[48].setRotationPoint(-4F, -32F, -5.5F);
bodyModel[49].addShapeBox(0F, 0F, 0F, 8, 1, 1, 0F, 0F, -8F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -8F, 0F, 0F, 8F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 8F, 0F); // Box 49
bodyModel[49].setRotationPoint(-4F, -32F, -5.5F);
bodyModel[50].addShapeBox(0F, 0F, 0F, 1, 2, 2, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F); // Box 50
bodyModel[50].setRotationPoint(4.5F, -1.5F, -1F);
bodyModel[51].addShapeBox(0F, 0F, 0F, 1, 1, 8, 0F, 0F, -8F, 0F, 0F, -8F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 8F, 0F, 0F, 8F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 51
bodyModel[51].setRotationPoint(4.5F, -5F, -4F);
bodyModel[52].addShapeBox(0F, 0F, 0F, 1, 1, 8, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -8F, 0F, 0F, -8F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 8F, 0F, 0F, 8F, 0F); // Box 52
bodyModel[52].setRotationPoint(4.5F, -5F, -4F);
bodyModel[53].addShapeBox(0F, 0F, 0F, 1, 1, 8, 0F, 0F, -8F, 0F, 0F, -8F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 8F, 0F, 0F, 8F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 53
bodyModel[53].setRotationPoint(4.5F, -14F, -4F);
bodyModel[54].addShapeBox(0F, 0F, 0F, 1, 2, 2, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F); // Box 54
bodyModel[54].setRotationPoint(4.5F, -10.5F, -1F);
bodyModel[55].addShapeBox(0F, 0F, 0F, 1, 1, 8, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -8F, 0F, 0F, -8F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 8F, 0F, 0F, 8F, 0F); // Box 55
bodyModel[55].setRotationPoint(4.5F, -14F, -4F);
bodyModel[56].addShapeBox(0F, 0F, 0F, 1, 1, 8, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -8F, 0F, 0F, -8F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 8F, 0F, 0F, 8F, 0F); // Box 56
bodyModel[56].setRotationPoint(4.5F, -23F, -4F);
bodyModel[57].addShapeBox(0F, 0F, 0F, 1, 2, 2, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F); // Box 57
bodyModel[57].setRotationPoint(4.5F, -19.5F, -1F);
bodyModel[58].addShapeBox(0F, 0F, 0F, 1, 1, 8, 0F, 0F, -8F, 0F, 0F, -8F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 8F, 0F, 0F, 8F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 58
bodyModel[58].setRotationPoint(4.5F, -23F, -4F);
bodyModel[59].addShapeBox(0F, 0F, 0F, 1, 2, 2, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F); // Box 59
bodyModel[59].setRotationPoint(4.5F, -28.5F, -1F);
bodyModel[60].addShapeBox(0F, 0F, 0F, 1, 1, 8, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -8F, 0F, 0F, -8F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 8F, 0F, 0F, 8F, 0F); // Box 60
bodyModel[60].setRotationPoint(4.5F, -32F, -4F);
bodyModel[61].addShapeBox(0F, 0F, 0F, 1, 1, 8, 0F, 0F, -8F, 0F, 0F, -8F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 8F, 0F, 0F, 8F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 61
bodyModel[61].setRotationPoint(4.5F, -32F, -4F);
bodyModel[62].addShapeBox(0F, 0F, 0F, 2, 2, 1, 0F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F); // Box 62
bodyModel[62].setRotationPoint(-1F, -1.5F, 4.5F);
bodyModel[63].addShapeBox(0F, 0F, 0F, 8, 1, 1, 0F, 0F, 0F, 0F, 0F, -8F, 0F, 0F, -8F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 8F, 0F, 0F, 8F, 0F, 0F, 0F, 0F); // Box 63
bodyModel[63].setRotationPoint(-4F, -5F, 4.5F);
bodyModel[64].addShapeBox(0F, 0F, 0F, 8, 1, 1, 0F, 0F, -8F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -8F, 0F, 0F, 8F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 8F, 0F); // Box 64
bodyModel[64].setRotationPoint(-4F, -5F, 4.5F);
bodyModel[65].addShapeBox(0F, 0F, 0F, 8, 1, 1, 0F, 0F, 0F, 0F, 0F, -8F, 0F, 0F, -8F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 8F, 0F, 0F, 8F, 0F, 0F, 0F, 0F); // Box 65
bodyModel[65].setRotationPoint(-4F, -14F, 4.5F);
bodyModel[66].addShapeBox(0F, 0F, 0F, 2, 2, 1, 0F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F); // Box 66
bodyModel[66].setRotationPoint(-1F, -10.5F, 4.5F);
bodyModel[67].addShapeBox(0F, 0F, 0F, 8, 1, 1, 0F, 0F, -8F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -8F, 0F, 0F, 8F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 8F, 0F); // Box 67
bodyModel[67].setRotationPoint(-4F, -14F, 4.5F);
bodyModel[68].addShapeBox(0F, 0F, 0F, 8, 1, 1, 0F, 0F, -8F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -8F, 0F, 0F, 8F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 8F, 0F); // Box 68
bodyModel[68].setRotationPoint(-4F, -23F, 4.5F);
bodyModel[69].addShapeBox(0F, 0F, 0F, 2, 2, 1, 0F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F); // Box 69
bodyModel[69].setRotationPoint(-1F, -19.5F, 4.5F);
bodyModel[70].addShapeBox(0F, 0F, 0F, 8, 1, 1, 0F, 0F, 0F, 0F, 0F, -8F, 0F, 0F, -8F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 8F, 0F, 0F, 8F, 0F, 0F, 0F, 0F); // Box 70
bodyModel[70].setRotationPoint(-4F, -23F, 4.5F);
bodyModel[71].addShapeBox(0F, 0F, 0F, 2, 2, 1, 0F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F); // Box 71
bodyModel[71].setRotationPoint(-1F, -28.5F, 4.5F);
bodyModel[72].addShapeBox(0F, 0F, 0F, 8, 1, 1, 0F, 0F, -8F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -8F, 0F, 0F, 8F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 8F, 0F); // Box 72
bodyModel[72].setRotationPoint(-4F, -32F, 4.5F);
bodyModel[73].addShapeBox(0F, 0F, 0F, 8, 1, 1, 0F, 0F, 0F, 0F, 0F, -8F, 0F, 0F, -8F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 8F, 0F, 0F, 8F, 0F, 0F, 0F, 0F); // Box 73
bodyModel[73].setRotationPoint(-4F, -32F, 4.5F);
bodyModel[74].addShapeBox(0F, 0F, 0F, 1, 1, 4, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 74
bodyModel[74].setRotationPoint(-0.5F, -28F, -4.5F);
bodyModel[75].addShapeBox(0F, 0F, 0F, 1, 1, 4, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 75
bodyModel[75].setRotationPoint(-0.5F, -19F, -4.5F);
bodyModel[76].addShapeBox(0F, 0F, 0F, 1, 1, 4, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 76
bodyModel[76].setRotationPoint(-0.5F, -10F, -4.5F);
bodyModel[77].addShapeBox(0F, 0F, 0F, 1, 1, 4, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 77
bodyModel[77].setRotationPoint(-0.5F, -1F, -4.5F);
bodyModel[78].addShapeBox(0F, 0F, 0F, 4, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 78
bodyModel[78].setRotationPoint(0.5F, -1F, -0.5F);
bodyModel[79].addShapeBox(0F, 0F, 0F, 4, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 79
bodyModel[79].setRotationPoint(0.5F, -10F, -0.5F);
bodyModel[80].addShapeBox(0F, 0F, 0F, 4, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 80
bodyModel[80].setRotationPoint(0.5F, -19F, -0.5F);
bodyModel[81].addShapeBox(0F, 0F, 0F, 4, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 81
bodyModel[81].setRotationPoint(0.5F, -28F, -0.5F);
bodyModel[82].addShapeBox(0F, 0F, 0F, 1, 1, 4, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 82
bodyModel[82].setRotationPoint(-0.5F, -1F, 0.5F);
bodyModel[83].addShapeBox(0F, 0F, 0F, 1, 1, 4, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 83
bodyModel[83].setRotationPoint(-0.5F, -10F, 0.5F);
bodyModel[84].addShapeBox(0F, 0F, 0F, 1, 1, 4, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 84
bodyModel[84].setRotationPoint(-0.5F, -19F, 0.5F);
bodyModel[85].addShapeBox(0F, 0F, 0F, 1, 1, 4, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 85
bodyModel[85].setRotationPoint(-0.5F, -28F, 0.5F);
bodyModel[86].addShapeBox(0F, 0F, 0F, 4, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 86
bodyModel[86].setRotationPoint(-4.5F, -1F, -0.5F);
bodyModel[87].addShapeBox(0F, 0F, 0F, 4, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 87
bodyModel[87].setRotationPoint(-4.5F, -10F, -0.5F);
bodyModel[88].addShapeBox(0F, 0F, 0F, 4, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 88
bodyModel[88].setRotationPoint(-4.5F, -19F, -0.5F);
bodyModel[89].addShapeBox(0F, 0F, 0F, 4, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 89
bodyModel[89].setRotationPoint(-4.5F, -28F, -0.5F);
bodyModel[90].addShapeBox(0F, 0F, 0F, 2, 2, 1, 0F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F); // Box 90
bodyModel[90].setRotationPoint(-1F, 7.5F, 4.5F);
bodyModel[91].addShapeBox(0F, 0F, 0F, 1, 1, 4, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 91
bodyModel[91].setRotationPoint(-0.5F, 8F, 0.5F);
bodyModel[92].addShapeBox(0F, 0F, 0F, 1, 1, 8, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -8F, 0F, 0F, -8F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 8F, 0F, 0F, 8F, 0F); // Box 92
bodyModel[92].setRotationPoint(4.5F, 4F, -4F);
bodyModel[93].addShapeBox(0F, 0F, 0F, 1, 1, 8, 0F, 0F, -8F, 0F, 0F, -8F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 8F, 0F, 0F, 8F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 93
bodyModel[93].setRotationPoint(4.5F, 4F, -4F);
bodyModel[94].addShapeBox(0F, 0F, 0F, 1, 2, 2, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F); // Box 94
bodyModel[94].setRotationPoint(4.5F, 7.5F, -1F);
bodyModel[95].addShapeBox(0F, 0F, 0F, 8, 1, 1, 0F, 0F, 0F, 0F, 0F, -8F, 0F, 0F, -8F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 8F, 0F, 0F, 8F, 0F, 0F, 0F, 0F); // Box 95
bodyModel[95].setRotationPoint(-4F, 4F, 4.5F);
bodyModel[96].addShapeBox(0F, 0F, 0F, 8, 1, 1, 0F, 0F, -8F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -8F, 0F, 0F, 8F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 8F, 0F); // Box 96
bodyModel[96].setRotationPoint(-4F, 4F, 4.5F);
bodyModel[97].addShapeBox(0F, 0F, 0F, 4, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 97
bodyModel[97].setRotationPoint(-4.5F, 8F, -0.5F);
bodyModel[98].addShapeBox(0F, 0F, 0F, 1, 2, 2, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F); // Box 98
bodyModel[98].setRotationPoint(-5.5F, 7.5F, -1F);
bodyModel[99].addShapeBox(0F, 0F, 0F, 1, 1, 8, 0F, 0F, -8F, 0F, 0F, -8F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 8F, 0F, 0F, 8F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 99
bodyModel[99].setRotationPoint(-5.5F, 4F, -4F);
bodyModel[100].addShapeBox(0F, 0F, 0F, 1, 1, 8, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -8F, 0F, 0F, -8F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 8F, 0F, 0F, 8F, 0F); // Box 100
bodyModel[100].setRotationPoint(-5.5F, 4F, -4F);
bodyModel[101].addShapeBox(0F, 0F, 0F, 2, 2, 1, 0F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F, 0F, 0F, 0.2F); // Box 101
bodyModel[101].setRotationPoint(-1F, 7.5F, -5.5F);
bodyModel[102].addShapeBox(0F, 0F, 0F, 1, 1, 4, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 102
bodyModel[102].setRotationPoint(-0.5F, 8F, -4.5F);
bodyModel[103].addShapeBox(0F, 0F, 0F, 8, 1, 1, 0F, 0F, 0F, 0F, 0F, -8F, 0F, 0F, -8F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 8F, 0F, 0F, 8F, 0F, 0F, 0F, 0F); // Box 103
bodyModel[103].setRotationPoint(-4F, 4F, -5.5F);
bodyModel[104].addShapeBox(0F, 0F, 0F, 8, 1, 1, 0F, 0F, -8F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -8F, 0F, 0F, 8F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 8F, 0F); // Box 104
bodyModel[104].setRotationPoint(-4F, 4F, -5.5F);
bodyModel[105].addShapeBox(0F, 0F, 0F, 4, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 105
bodyModel[105].setRotationPoint(0.5F, 8F, -0.5F);
}
public void render(float f5)
{
render(bodyModel, f5);
}
private void render(ModelRendererTurbo[] models, float f)
{
for(ModelRendererTurbo model : models)
if(model != null)
model.render(f);
}
private void setRotation(ModelRenderer model, float x, float y, float z)
{
model.rotateAngleX = x;
model.rotateAngleY = y;
model.rotateAngleZ = z;
}
}
@@ -0,0 +1,630 @@
package defense.client.model.tile;
import net.minecraft.client.model.ModelBase;
import net.minecraft.client.model.ModelRenderer;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import defense.client.tmt.ModelRendererTurbo;
@SideOnly(Side.CLIENT)
public class ModelLauncherRailT1 extends ModelBase
{
// fields
// fields
ModelRendererTurbo[] noseModel;
public ModelLauncherRailT1()
{
int textureX = 512;
int textureY = 512;
noseModel = new ModelRendererTurbo[144];
noseModel[0] = new ModelRendererTurbo(this, 0, 94, textureX, textureY); // Box 13
noseModel[1] = new ModelRendererTurbo(this, 0, 105, textureX, textureY); // Box 14
noseModel[2] = new ModelRendererTurbo(this, 0, 119, textureX, textureY); // Box 15
noseModel[3] = new ModelRendererTurbo(this, 0, 132, textureX, textureY); // Box 16
noseModel[4] = new ModelRendererTurbo(this, 0, 145, textureX, textureY); // Box 21
noseModel[5] = new ModelRendererTurbo(this, 0, 154, textureX, textureY); // Box 22
noseModel[6] = new ModelRendererTurbo(this, 0, 160, textureX, textureY); // Box 23
noseModel[7] = new ModelRendererTurbo(this, 0, 160, textureX, textureY); // Box 24
noseModel[8] = new ModelRendererTurbo(this, 0, 165, textureX, textureY); // Box 25
noseModel[9] = new ModelRendererTurbo(this, 0, 172, textureX, textureY); // Box 26
noseModel[10] = new ModelRendererTurbo(this, 0, 183, textureX, textureY); // Box 27
noseModel[11] = new ModelRendererTurbo(this, 0, 194, textureX, textureY); // Box 28
noseModel[12] = new ModelRendererTurbo(this, 0, 226, textureX, textureY); // Box 29
noseModel[13] = new ModelRendererTurbo(this, 0, 257, textureX, textureY); // Box 30
noseModel[14] = new ModelRendererTurbo(this, 0, 257, textureX, textureY); // Box 31
noseModel[15] = new ModelRendererTurbo(this, 0, 257, textureX, textureY); // Box 32
noseModel[16] = new ModelRendererTurbo(this, 0, 257, textureX, textureY); // Box 33
noseModel[17] = new ModelRendererTurbo(this, 0, 257, textureX, textureY); // Box 34
noseModel[18] = new ModelRendererTurbo(this, 0, 257, textureX, textureY); // Box 35
noseModel[19] = new ModelRendererTurbo(this, 0, 257, textureX, textureY); // Box 36
noseModel[20] = new ModelRendererTurbo(this, 0, 257, textureX, textureY); // Box 37
noseModel[21] = new ModelRendererTurbo(this, 0, 257, textureX, textureY); // Box 38
noseModel[22] = new ModelRendererTurbo(this, 0, 257, textureX, textureY); // Box 39
noseModel[23] = new ModelRendererTurbo(this, 0, 94, textureX, textureY); // Box 40
noseModel[24] = new ModelRendererTurbo(this, 0, 105, textureX, textureY); // Box 41
noseModel[25] = new ModelRendererTurbo(this, 0, 119, textureX, textureY); // Box 42
noseModel[26] = new ModelRendererTurbo(this, 0, 132, textureX, textureY); // Box 43
noseModel[27] = new ModelRendererTurbo(this, 0, 145, textureX, textureY); // Box 44
noseModel[28] = new ModelRendererTurbo(this, 0, 154, textureX, textureY); // Box 45
noseModel[29] = new ModelRendererTurbo(this, 0, 160, textureX, textureY); // Box 46
noseModel[30] = new ModelRendererTurbo(this, 0, 160, textureX, textureY); // Box 47
noseModel[31] = new ModelRendererTurbo(this, 0, 165, textureX, textureY); // Box 48
noseModel[32] = new ModelRendererTurbo(this, 0, 172, textureX, textureY); // Box 49
noseModel[33] = new ModelRendererTurbo(this, 0, 183, textureX, textureY); // Box 50
noseModel[34] = new ModelRendererTurbo(this, 0, 194, textureX, textureY); // Box 51
noseModel[35] = new ModelRendererTurbo(this, 0, 226, textureX, textureY); // Box 52
noseModel[36] = new ModelRendererTurbo(this, 0, 257, textureX, textureY); // Box 53
noseModel[37] = new ModelRendererTurbo(this, 0, 257, textureX, textureY); // Box 54
noseModel[38] = new ModelRendererTurbo(this, 0, 257, textureX, textureY); // Box 55
noseModel[39] = new ModelRendererTurbo(this, 0, 257, textureX, textureY); // Box 56
noseModel[40] = new ModelRendererTurbo(this, 0, 257, textureX, textureY); // Box 57
noseModel[41] = new ModelRendererTurbo(this, 0, 257, textureX, textureY); // Box 58
noseModel[42] = new ModelRendererTurbo(this, 0, 257, textureX, textureY); // Box 59
noseModel[43] = new ModelRendererTurbo(this, 0, 257, textureX, textureY); // Box 60
noseModel[44] = new ModelRendererTurbo(this, 0, 257, textureX, textureY); // Box 61
noseModel[45] = new ModelRendererTurbo(this, 0, 257, textureX, textureY); // Box 62
noseModel[46] = new ModelRendererTurbo(this, 0, 266, textureX, textureY); // Box 63
noseModel[47] = new ModelRendererTurbo(this, 0, 275, textureX, textureY); // Box 64
noseModel[48] = new ModelRendererTurbo(this, 0, 284, textureX, textureY); // Box 65
noseModel[49] = new ModelRendererTurbo(this, 0, 291, textureX, textureY); // Box 66
noseModel[50] = new ModelRendererTurbo(this, 0, 291, textureX, textureY); // Box 67
noseModel[51] = new ModelRendererTurbo(this, 0, 291, textureX, textureY); // Box 68
noseModel[52] = new ModelRendererTurbo(this, 0, 296, textureX, textureY); // Box 70
noseModel[53] = new ModelRendererTurbo(this, 0, 296, textureX, textureY); // Box 71
noseModel[54] = new ModelRendererTurbo(this, 0, 296, textureX, textureY); // Box 72
noseModel[55] = new ModelRendererTurbo(this, 0, 296, textureX, textureY); // Box 73
noseModel[56] = new ModelRendererTurbo(this, 0, 296, textureX, textureY); // Box 74
noseModel[57] = new ModelRendererTurbo(this, 0, 300, textureX, textureY); // Box 75
noseModel[58] = new ModelRendererTurbo(this, 0, 300, textureX, textureY); // Box 76
noseModel[59] = new ModelRendererTurbo(this, 0, 296, textureX, textureY); // Box 77
noseModel[60] = new ModelRendererTurbo(this, 0, 296, textureX, textureY); // Box 78
noseModel[61] = new ModelRendererTurbo(this, 0, 296, textureX, textureY); // Box 79
noseModel[62] = new ModelRendererTurbo(this, 0, 296, textureX, textureY); // Box 80
noseModel[63] = new ModelRendererTurbo(this, 0, 296, textureX, textureY); // Box 81
noseModel[64] = new ModelRendererTurbo(this, 0, 266, textureX, textureY); // Box 82
noseModel[65] = new ModelRendererTurbo(this, 0, 284, textureX, textureY); // Box 83
noseModel[66] = new ModelRendererTurbo(this, 0, 275, textureX, textureY); // Box 84
noseModel[67] = new ModelRendererTurbo(this, 0, 291, textureX, textureY); // Box 85
noseModel[68] = new ModelRendererTurbo(this, 0, 291, textureX, textureY); // Box 86
noseModel[69] = new ModelRendererTurbo(this, 0, 291, textureX, textureY); // Box 87
noseModel[70] = new ModelRendererTurbo(this, 0, 340, textureX, textureY); // Box 88
noseModel[71] = new ModelRendererTurbo(this, 0, 371, textureX, textureY); // Box 89
noseModel[72] = new ModelRendererTurbo(this, 0, 371, textureX, textureY); // Box 90
noseModel[73] = new ModelRendererTurbo(this, 0, 371, textureX, textureY); // Box 91
noseModel[74] = new ModelRendererTurbo(this, 0, 371, textureX, textureY); // Box 92
noseModel[75] = new ModelRendererTurbo(this, 0, 371, textureX, textureY); // Box 93
noseModel[76] = new ModelRendererTurbo(this, 0, 371, textureX, textureY); // Box 94
noseModel[77] = new ModelRendererTurbo(this, 0, 371, textureX, textureY); // Box 95
noseModel[78] = new ModelRendererTurbo(this, 0, 371, textureX, textureY); // Box 96
noseModel[79] = new ModelRendererTurbo(this, 0, 340, textureX, textureY); // Box 97
noseModel[80] = new ModelRendererTurbo(this, 0, 371, textureX, textureY); // Box 98
noseModel[81] = new ModelRendererTurbo(this, 0, 371, textureX, textureY); // Box 99
noseModel[82] = new ModelRendererTurbo(this, 0, 371, textureX, textureY); // Box 100
noseModel[83] = new ModelRendererTurbo(this, 0, 371, textureX, textureY); // Box 101
noseModel[84] = new ModelRendererTurbo(this, 0, 371, textureX, textureY); // Box 102
noseModel[85] = new ModelRendererTurbo(this, 0, 371, textureX, textureY); // Box 103
noseModel[86] = new ModelRendererTurbo(this, 0, 371, textureX, textureY); // Box 104
noseModel[87] = new ModelRendererTurbo(this, 0, 371, textureX, textureY); // Box 105
noseModel[88] = new ModelRendererTurbo(this, 0, 375, textureX, textureY); // Box 107
noseModel[89] = new ModelRendererTurbo(this, 0, 375, textureX, textureY); // Box 108
noseModel[90] = new ModelRendererTurbo(this, 0, 375, textureX, textureY); // Box 109
noseModel[91] = new ModelRendererTurbo(this, 0, 375, textureX, textureY); // Box 110
noseModel[92] = new ModelRendererTurbo(this, 0, 375, textureX, textureY); // Box 111
noseModel[93] = new ModelRendererTurbo(this, 0, 375, textureX, textureY); // Box 112
noseModel[94] = new ModelRendererTurbo(this, 0, 375, textureX, textureY); // Box 113
noseModel[95] = new ModelRendererTurbo(this, 0, 375, textureX, textureY); // Box 114
noseModel[96] = new ModelRendererTurbo(this, 0, 375, textureX, textureY); // Box 115
noseModel[97] = new ModelRendererTurbo(this, 0, 375, textureX, textureY); // Box 116
noseModel[98] = new ModelRendererTurbo(this, 0, 375, textureX, textureY); // Box 117
noseModel[99] = new ModelRendererTurbo(this, 0, 375, textureX, textureY); // Box 118
noseModel[100] = new ModelRendererTurbo(this, 0, 375, textureX, textureY); // Box 119
noseModel[101] = new ModelRendererTurbo(this, 0, 375, textureX, textureY); // Box 120
noseModel[102] = new ModelRendererTurbo(this, 0, 375, textureX, textureY); // Box 121
noseModel[103] = new ModelRendererTurbo(this, 0, 375, textureX, textureY); // Box 122
noseModel[104] = new ModelRendererTurbo(this, 0, 384, textureX, textureY); // Box 123
noseModel[105] = new ModelRendererTurbo(this, 0, 392, textureX, textureY); // Box 124
noseModel[106] = new ModelRendererTurbo(this, 0, 399, textureX, textureY); // Box 125
noseModel[107] = new ModelRendererTurbo(this, 0, 406, textureX, textureY); // Box 126
noseModel[108] = new ModelRendererTurbo(this, 0, 406, textureX, textureY); // Box 127
noseModel[109] = new ModelRendererTurbo(this, 0, 406, textureX, textureY); // Box 128
noseModel[110] = new ModelRendererTurbo(this, 0, 406, textureX, textureY); // Box 129
noseModel[111] = new ModelRendererTurbo(this, 0, 406, textureX, textureY); // Box 130
noseModel[112] = new ModelRendererTurbo(this, 0, 406, textureX, textureY); // Box 131
noseModel[113] = new ModelRendererTurbo(this, 0, 399, textureX, textureY); // Box 132
noseModel[114] = new ModelRendererTurbo(this, 0, 384, textureX, textureY); // Box 133
noseModel[115] = new ModelRendererTurbo(this, 0, 392, textureX, textureY); // Box 134
noseModel[116] = new ModelRendererTurbo(this, 0, 406, textureX, textureY); // Box 135
noseModel[117] = new ModelRendererTurbo(this, 0, 406, textureX, textureY); // Box 136
noseModel[118] = new ModelRendererTurbo(this, 0, 406, textureX, textureY); // Box 137
noseModel[119] = new ModelRendererTurbo(this, 0, 406, textureX, textureY); // Box 138
noseModel[120] = new ModelRendererTurbo(this, 0, 411, textureX, textureY); // Box 139
noseModel[121] = new ModelRendererTurbo(this, 0, 411, textureX, textureY); // Box 140
noseModel[122] = new ModelRendererTurbo(this, 0, 411, textureX, textureY); // Box 141
noseModel[123] = new ModelRendererTurbo(this, 0, 411, textureX, textureY); // Box 142
noseModel[124] = new ModelRendererTurbo(this, 0, 411, textureX, textureY); // Box 143
noseModel[125] = new ModelRendererTurbo(this, 0, 411, textureX, textureY); // Box 144
noseModel[126] = new ModelRendererTurbo(this, 0, 411, textureX, textureY); // Box 145
noseModel[127] = new ModelRendererTurbo(this, 0, 411, textureX, textureY); // Box 146
noseModel[128] = new ModelRendererTurbo(this, 0, 411, textureX, textureY); // Box 147
noseModel[129] = new ModelRendererTurbo(this, 0, 411, textureX, textureY); // Box 148
noseModel[130] = new ModelRendererTurbo(this, 0, 411, textureX, textureY); // Box 149
noseModel[131] = new ModelRendererTurbo(this, 0, 411, textureX, textureY); // Box 150
noseModel[132] = new ModelRendererTurbo(this, 0, 411, textureX, textureY); // Box 151
noseModel[133] = new ModelRendererTurbo(this, 0, 411, textureX, textureY); // Box 152
noseModel[134] = new ModelRendererTurbo(this, 0, 411, textureX, textureY); // Box 153
noseModel[135] = new ModelRendererTurbo(this, 0, 411, textureX, textureY); // Box 154
noseModel[136] = new ModelRendererTurbo(this, 0, 418, textureX, textureY); // Box 155
noseModel[137] = new ModelRendererTurbo(this, 0, 418, textureX, textureY); // Box 156
noseModel[138] = new ModelRendererTurbo(this, 0, 418, textureX, textureY); // Box 159
noseModel[139] = new ModelRendererTurbo(this, 0, 418, textureX, textureY); // Box 160
noseModel[140] = new ModelRendererTurbo(this, 0, 418, textureX, textureY); // Box 161
noseModel[141] = new ModelRendererTurbo(this, 0, 418, textureX, textureY); // Box 162
noseModel[142] = new ModelRendererTurbo(this, 0, 418, textureX, textureY); // Box 165
noseModel[143] = new ModelRendererTurbo(this, 0, 418, textureX, textureY); // Box 166
noseModel[0].addShapeBox(0F, 0F, 0F, 10, 2, 6, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 13
noseModel[0].setRotationPoint(-18F, 22F, -3F);
noseModel[1].addShapeBox(0F, 0F, 0F, 10, 4, 6, 0F, -1F, 0F, 0F, -4F, 0F, 0F, -4F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 14
noseModel[1].setRotationPoint(-18F, 18F, -3F);
noseModel[2].addShapeBox(0F, 0F, 0F, 7, 2, 8, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 15
noseModel[2].setRotationPoint(-17F, 22F, -4F);
noseModel[3].addShapeBox(0F, 0F, 0F, 7, 2, 8, 0F, -1F, 0F, 0F, -3F, 0F, 0F, -3F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 16
noseModel[3].setRotationPoint(-17F, 20F, -4F);
noseModel[4].addShapeBox(0F, 0F, 0F, 4, 4, 2, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 21
noseModel[4].setRotationPoint(-20F, 20F, -1F);
noseModel[5].addShapeBox(0F, 0F, 0F, 4, 1, 2, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 22
noseModel[5].setRotationPoint(-20F, 19F, -1F);
noseModel[6].addShapeBox(0F, 0F, 0F, 2, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 23
noseModel[6].setRotationPoint(-22F, 21F, -0.5F);
noseModel[7].addShapeBox(0F, 0F, 0F, 2, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 24
noseModel[7].setRotationPoint(-22F, 23F, -0.5F);
noseModel[8].addShapeBox(0F, 0F, 0F, 1, 4, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 25
noseModel[8].setRotationPoint(-23F, 20F, -0.5F);
noseModel[9].addShapeBox(0F, 0F, 0F, 3, 4, 4, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 26
noseModel[9].setRotationPoint(-17F, 14F, -2F);
noseModel[10].addShapeBox(0F, 0F, 0F, 3, 4, 4, 0F, -3F, 0F, 0F, 4F, 0F, 0F, 4F, 0F, 0F, -3F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 27
noseModel[10].setRotationPoint(-17F, 10F, -2F);
noseModel[11].addShapeBox(0F, 0F, 0F, 4, 25, 4, 0F, 0F, 0F, 0F, -1F, -2F, 0F, -1F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 28
noseModel[11].setRotationPoint(-14F, -15F, -2F);
noseModel[12].addShapeBox(0F, 0F, 0F, 1, 25, 3, 0F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F); // Box 29
noseModel[12].setRotationPoint(-15F, -13F, -1.5F);
noseModel[13].addShapeBox(0F, 0F, 0F, 1, 2, 4, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 30
noseModel[13].setRotationPoint(-15F, -12F, -2F);
noseModel[14].addShapeBox(0F, 0F, 0F, 1, 2, 4, 0F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F); // Box 31
noseModel[14].setRotationPoint(-16F, -12F, -2F);
noseModel[15].addShapeBox(0F, 0F, 0F, 1, 2, 4, 0F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F); // Box 32
noseModel[15].setRotationPoint(-16F, -7F, -2F);
noseModel[16].addShapeBox(0F, 0F, 0F, 1, 2, 4, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 33
noseModel[16].setRotationPoint(-15F, -7F, -2F);
noseModel[17].addShapeBox(0F, 0F, 0F, 1, 2, 4, 0F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F); // Box 34
noseModel[17].setRotationPoint(-16F, -2F, -2F);
noseModel[18].addShapeBox(0F, 0F, 0F, 1, 2, 4, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 35
noseModel[18].setRotationPoint(-15F, -2F, -2F);
noseModel[19].addShapeBox(0F, 0F, 0F, 1, 2, 4, 0F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F); // Box 36
noseModel[19].setRotationPoint(-16F, 3F, -2F);
noseModel[20].addShapeBox(0F, 0F, 0F, 1, 2, 4, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 37
noseModel[20].setRotationPoint(-15F, 3F, -2F);
noseModel[21].addShapeBox(0F, 0F, 0F, 1, 2, 4, 0F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F); // Box 38
noseModel[21].setRotationPoint(-16F, 8F, -2F);
noseModel[22].addShapeBox(0F, 0F, 0F, 1, 2, 4, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 39
noseModel[22].setRotationPoint(-15F, 8F, -2F);
noseModel[23].addShapeBox(0F, 0F, 0F, 10, 2, 6, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 40
noseModel[23].setRotationPoint(8F, 22F, -3F);
noseModel[24].addShapeBox(0F, 0F, 0F, 10, 4, 6, 0F, -4F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, -4F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 41
noseModel[24].setRotationPoint(8F, 18F, -3F);
noseModel[25].addShapeBox(0F, 0F, 0F, 7, 2, 8, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 42
noseModel[25].setRotationPoint(10F, 22F, -4F);
noseModel[26].addShapeBox(0F, 0F, 0F, 7, 2, 8, 0F, -3F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, -3F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 43
noseModel[26].setRotationPoint(10F, 20F, -4F);
noseModel[27].addShapeBox(0F, 0F, 0F, 4, 4, 2, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 44
noseModel[27].setRotationPoint(16F, 20F, -1F);
noseModel[28].addShapeBox(0F, 0F, 0F, 4, 1, 2, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 45
noseModel[28].setRotationPoint(16F, 19F, -1F);
noseModel[29].addShapeBox(0F, 0F, 0F, 2, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 46
noseModel[29].setRotationPoint(20F, 21F, -0.5F);
noseModel[30].addShapeBox(0F, 0F, 0F, 2, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 47
noseModel[30].setRotationPoint(20F, 23F, -0.5F);
noseModel[31].addShapeBox(0F, 0F, 0F, 1, 4, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 48
noseModel[31].setRotationPoint(22F, 20F, -0.5F);
noseModel[32].addShapeBox(0F, 0F, 0F, 3, 4, 4, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 49
noseModel[32].setRotationPoint(14F, 14F, -2F);
noseModel[33].addShapeBox(0F, 0F, 0F, 3, 4, 4, 0F, 4F, 0F, 0F, -3F, 0F, 0F, -3F, 0F, 0F, 4F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 50
noseModel[33].setRotationPoint(14F, 10F, -2F);
noseModel[34].addShapeBox(0F, 0F, 0F, 4, 25, 4, 0F, -1F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 51
noseModel[34].setRotationPoint(10F, -15F, -2F);
noseModel[35].addShapeBox(0F, 0F, 0F, 1, 25, 3, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F); // Box 52
noseModel[35].setRotationPoint(14F, -13F, -1.5F);
noseModel[36].addShapeBox(0F, 0F, 0F, 1, 2, 4, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 53
noseModel[36].setRotationPoint(14F, -12F, -2F);
noseModel[37].addShapeBox(0F, 0F, 0F, 1, 2, 4, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F); // Box 54
noseModel[37].setRotationPoint(15F, -12F, -2F);
noseModel[38].addShapeBox(0F, 0F, 0F, 1, 2, 4, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F); // Box 55
noseModel[38].setRotationPoint(15F, -7F, -2F);
noseModel[39].addShapeBox(0F, 0F, 0F, 1, 2, 4, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 56
noseModel[39].setRotationPoint(14F, -7F, -2F);
noseModel[40].addShapeBox(0F, 0F, 0F, 1, 2, 4, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F); // Box 57
noseModel[40].setRotationPoint(15F, -2F, -2F);
noseModel[41].addShapeBox(0F, 0F, 0F, 1, 2, 4, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 58
noseModel[41].setRotationPoint(14F, -2F, -2F);
noseModel[42].addShapeBox(0F, 0F, 0F, 1, 2, 4, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F); // Box 59
noseModel[42].setRotationPoint(15F, 3F, -2F);
noseModel[43].addShapeBox(0F, 0F, 0F, 1, 2, 4, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 60
noseModel[43].setRotationPoint(14F, 3F, -2F);
noseModel[44].addShapeBox(0F, 0F, 0F, 1, 2, 4, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F); // Box 61
noseModel[44].setRotationPoint(15F, 8F, -2F);
noseModel[45].addShapeBox(0F, 0F, 0F, 1, 2, 4, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 62
noseModel[45].setRotationPoint(14F, 8F, -2F);
noseModel[46].addShapeBox(0F, 0F, 0F, 3, 5, 2, 0F, -2F, 0F, -0.5F, 1F, 0F, -0.5F, 1F, 0F, -0.5F, -2F, 0F, -0.5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 63
noseModel[46].setRotationPoint(-14F, -18F, -1F);
noseModel[47].addShapeBox(0F, 0F, 0F, 1, 5, 1, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 64
noseModel[47].setRotationPoint(-12F, -26F, -0.5F);
noseModel[48].addShapeBox(0F, 0F, 0F, 1, 3, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 1F, 0F, 0F, 1F, 0F, 0F, 0F, 0F, 0F); // Box 65
noseModel[48].setRotationPoint(-12F, -21F, -0.5F);
noseModel[49].addShapeBox(0F, 0F, 0F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 66
noseModel[49].setRotationPoint(-11F, -26F, -0.5F);
noseModel[50].addShapeBox(0F, 0F, 0F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 67
noseModel[50].setRotationPoint(-11F, -22F, -0.5F);
noseModel[51].addShapeBox(0F, 0F, 0F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 68
noseModel[51].setRotationPoint(-11F, -24F, -0.5F);
noseModel[52].addShapeBox(0F, 0F, 0F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 70
noseModel[52].setRotationPoint(-17F, -11.5F, -0.5F);
noseModel[53].addShapeBox(0F, 0F, 0F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 71
noseModel[53].setRotationPoint(-17F, -6.5F, -0.5F);
noseModel[54].addShapeBox(0F, 0F, 0F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 72
noseModel[54].setRotationPoint(-17F, -1.5F, -0.5F);
noseModel[55].addShapeBox(0F, 0F, 0F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 73
noseModel[55].setRotationPoint(-17F, 3.5F, -0.5F);
noseModel[56].addShapeBox(0F, 0F, 0F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 74
noseModel[56].setRotationPoint(-17F, 8.5F, -0.5F);
noseModel[57].addShapeBox(0F, 0F, 0F, 1, 35, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 2F, 0F, 0F); // Box 75
noseModel[57].setRotationPoint(-18F, -15F, -0.5F);
noseModel[58].addShapeBox(0F, 0F, 0F, 1, 35, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 2F, 0F, 0F, 2F, 0F, 0F, 0F, 0F, 0F); // Box 76
noseModel[58].setRotationPoint(17F, -15F, -0.5F);
noseModel[59].addShapeBox(0F, 0F, 0F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 77
noseModel[59].setRotationPoint(16F, -11.5F, -0.5F);
noseModel[60].addShapeBox(0F, 0F, 0F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 78
noseModel[60].setRotationPoint(16F, -6.5F, -0.5F);
noseModel[61].addShapeBox(0F, 0F, 0F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 79
noseModel[61].setRotationPoint(16F, -1.5F, -0.5F);
noseModel[62].addShapeBox(0F, 0F, 0F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 80
noseModel[62].setRotationPoint(16F, 3.5F, -0.5F);
noseModel[63].addShapeBox(0F, 0F, 0F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 81
noseModel[63].setRotationPoint(16F, 8.5F, -0.5F);
noseModel[64].addShapeBox(0F, 0F, 0F, 3, 5, 2, 0F, 1F, 0F, -0.5F, -2F, 0F, -0.5F, -2F, 0F, -0.5F, 1F, 0F, -0.5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 82
noseModel[64].setRotationPoint(11F, -18F, -1F);
noseModel[65].addShapeBox(0F, 0F, 0F, 1, 3, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 1F, 0F, 0F); // Box 83
noseModel[65].setRotationPoint(11F, -21F, -0.5F);
noseModel[66].addShapeBox(0F, 0F, 0F, 1, 5, 1, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 84
noseModel[66].setRotationPoint(11F, -26F, -0.5F);
noseModel[67].addShapeBox(0F, 0F, 0F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 85
noseModel[67].setRotationPoint(10F, -22F, -0.5F);
noseModel[68].addShapeBox(0F, 0F, 0F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 86
noseModel[68].setRotationPoint(10F, -24F, -0.5F);
noseModel[69].addShapeBox(0F, 0F, 0F, 1, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 87
noseModel[69].setRotationPoint(10F, -26F, -0.5F);
noseModel[70].addShapeBox(0F, 0F, 0F, 1, 27, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 88
noseModel[70].setRotationPoint(8F, -19F, -0.5F);
noseModel[71].addShapeBox(0F, 0F, 0F, 3, 1, 1, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 2F, 0F, 0F, 2F, 0F, 0F, 0F, 0F); // Box 89
noseModel[71].setRotationPoint(9F, -15F, -0.5F);
noseModel[72].addShapeBox(0F, 0F, 0F, 3, 1, 1, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 2F, 0F, 0F, 2F, 0F, 0F, 0F, 0F); // Box 90
noseModel[72].setRotationPoint(9F, -12F, -0.5F);
noseModel[73].addShapeBox(0F, 0F, 0F, 3, 1, 1, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 2F, 0F, 0F, 2F, 0F, 0F, 0F, 0F); // Box 91
noseModel[73].setRotationPoint(9F, -9F, -0.5F);
noseModel[74].addShapeBox(0F, 0F, 0F, 3, 1, 1, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 2F, 0F, 0F, 2F, 0F, 0F, 0F, 0F); // Box 92
noseModel[74].setRotationPoint(9F, -6F, -0.5F);
noseModel[75].addShapeBox(0F, 0F, 0F, 3, 1, 1, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 2F, 0F, 0F, 2F, 0F, 0F, 0F, 0F); // Box 93
noseModel[75].setRotationPoint(9F, -3F, -0.5F);
noseModel[76].addShapeBox(0F, 0F, 0F, 3, 1, 1, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 2F, 0F, 0F, 2F, 0F, 0F, 0F, 0F); // Box 94
noseModel[76].setRotationPoint(9F, 0F, -0.5F);
noseModel[77].addShapeBox(0F, 0F, 0F, 3, 1, 1, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 2F, 0F, 0F, 2F, 0F, 0F, 0F, 0F); // Box 95
noseModel[77].setRotationPoint(9F, 3F, -0.5F);
noseModel[78].addShapeBox(0F, 0F, 0F, 3, 1, 1, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 2F, 0F, 0F, 2F, 0F, 0F, 0F, 0F); // Box 96
noseModel[78].setRotationPoint(9F, 6F, -0.5F);
noseModel[79].addShapeBox(0F, 0F, 0F, 1, 27, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 97
noseModel[79].setRotationPoint(-9F, -19F, -0.5F);
noseModel[80].addShapeBox(0F, 0F, 0F, 3, 1, 1, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, 2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 2F, 0F); // Box 98
noseModel[80].setRotationPoint(-12F, -15F, -0.5F);
noseModel[81].addShapeBox(0F, 0F, 0F, 3, 1, 1, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, 2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 2F, 0F); // Box 99
noseModel[81].setRotationPoint(-12F, -12F, -0.5F);
noseModel[82].addShapeBox(0F, 0F, 0F, 3, 1, 1, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, 2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 2F, 0F); // Box 100
noseModel[82].setRotationPoint(-12F, -9F, -0.5F);
noseModel[83].addShapeBox(0F, 0F, 0F, 3, 1, 1, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, 2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 2F, 0F); // Box 101
noseModel[83].setRotationPoint(-12F, -6F, -0.5F);
noseModel[84].addShapeBox(0F, 0F, 0F, 3, 1, 1, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, 2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 2F, 0F); // Box 102
noseModel[84].setRotationPoint(-12F, -3F, -0.5F);
noseModel[85].addShapeBox(0F, 0F, 0F, 3, 1, 1, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, 2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 2F, 0F); // Box 103
noseModel[85].setRotationPoint(-12F, 0F, -0.5F);
noseModel[86].addShapeBox(0F, 0F, 0F, 3, 1, 1, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, 2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 2F, 0F); // Box 104
noseModel[86].setRotationPoint(-12F, 3F, -0.5F);
noseModel[87].addShapeBox(0F, 0F, 0F, 3, 1, 1, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, 2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 2F, 0F); // Box 105
noseModel[87].setRotationPoint(-12F, 6F, -0.5F);
noseModel[88].addShapeBox(0F, 0F, 0F, 1, 5, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F); // Box 107
noseModel[88].setRotationPoint(-9F, -19F, 0.5F);
noseModel[89].addShapeBox(0F, 0F, 0F, 1, 5, 1, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 108
noseModel[89].setRotationPoint(-9F, -19F, -1.5F);
noseModel[90].addShapeBox(0F, 0F, 0F, 1, 5, 1, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 109
noseModel[90].setRotationPoint(-9F, -12F, -1.5F);
noseModel[91].addShapeBox(0F, 0F, 0F, 1, 5, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F); // Box 110
noseModel[91].setRotationPoint(-9F, -12F, 0.5F);
noseModel[92].addShapeBox(0F, 0F, 0F, 1, 5, 1, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 111
noseModel[92].setRotationPoint(-9F, -4F, -1.5F);
noseModel[93].addShapeBox(0F, 0F, 0F, 1, 5, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F); // Box 112
noseModel[93].setRotationPoint(-9F, -4F, 0.5F);
noseModel[94].addShapeBox(0F, 0F, 0F, 1, 5, 1, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 113
noseModel[94].setRotationPoint(-9F, 3F, -1.5F);
noseModel[95].addShapeBox(0F, 0F, 0F, 1, 5, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F); // Box 114
noseModel[95].setRotationPoint(-9F, 3F, 0.5F);
noseModel[96].addShapeBox(0F, 0F, 0F, 1, 5, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F); // Box 115
noseModel[96].setRotationPoint(8F, 3F, 0.5F);
noseModel[97].addShapeBox(0F, 0F, 0F, 1, 5, 1, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 116
noseModel[97].setRotationPoint(8F, 3F, -1.5F);
noseModel[98].addShapeBox(0F, 0F, 0F, 1, 5, 1, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 117
noseModel[98].setRotationPoint(8F, -4F, -1.5F);
noseModel[99].addShapeBox(0F, 0F, 0F, 1, 5, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F); // Box 118
noseModel[99].setRotationPoint(8F, -4F, 0.5F);
noseModel[100].addShapeBox(0F, 0F, 0F, 1, 5, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F); // Box 119
noseModel[100].setRotationPoint(8F, -12F, 0.5F);
noseModel[101].addShapeBox(0F, 0F, 0F, 1, 5, 1, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 120
noseModel[101].setRotationPoint(8F, -12F, -1.5F);
noseModel[102].addShapeBox(0F, 0F, 0F, 1, 5, 1, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 121
noseModel[102].setRotationPoint(8F, -19F, -1.5F);
noseModel[103].addShapeBox(0F, 0F, 0F, 1, 5, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F); // Box 122
noseModel[103].setRotationPoint(8F, -19F, 0.5F);
noseModel[104].addShapeBox(0F, 0F, 0F, 6, 2, 2, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 123
noseModel[104].setRotationPoint(8F, 16F, -1F);
noseModel[105].addShapeBox(0F, 0F, 0F, 6, 2, 2, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F); // Box 124
noseModel[105].setRotationPoint(8F, 18F, -1F);
noseModel[106].addShapeBox(0F, 0F, 0F, 6, 2, 2, 0F, -2F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 125
noseModel[106].setRotationPoint(8F, 14F, -1F);
noseModel[107].addShapeBox(-4F, -0.5F, 0F, 3, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 126
noseModel[107].setRotationPoint(11F, 17F, -0.5F);
noseModel[108].addShapeBox(-4F, -0.5F, 0F, 3, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 127
noseModel[108].setRotationPoint(11F, 17F, -0.5F);
noseModel[108].rotateAngleZ = 0.78539816F;
noseModel[109].addShapeBox(-4F, -0.5F, 0F, 3, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 128
noseModel[109].setRotationPoint(11F, 17F, -0.5F);
noseModel[109].rotateAngleZ = -0.78539816F;
noseModel[110].addShapeBox(-4F, -0.5F, 0F, 3, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 129
noseModel[110].setRotationPoint(11F, 17F, -0.5F);
noseModel[110].rotateAngleZ = -1.57079633F;
noseModel[111].addShapeBox(-4F, -0.5F, 0F, 3, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 130
noseModel[111].setRotationPoint(11F, 17F, -0.5F);
noseModel[111].rotateAngleZ = -2.35619449F;
noseModel[112].addShapeBox(-4F, -0.5F, 0F, 3, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 131
noseModel[112].setRotationPoint(-11F, 17F, -0.5F);
noseModel[112].rotateAngleZ = -2.35619449F;
noseModel[113].addShapeBox(0F, 0F, 0F, 6, 2, 2, 0F, -2F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 132
noseModel[113].setRotationPoint(-14F, 14F, -1F);
noseModel[114].addShapeBox(0F, 0F, 0F, 6, 2, 2, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 133
noseModel[114].setRotationPoint(-14F, 16F, -1F);
noseModel[115].addShapeBox(0F, 0F, 0F, 6, 2, 2, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F); // Box 134
noseModel[115].setRotationPoint(-14F, 18F, -1F);
noseModel[116].addShapeBox(-4F, -0.5F, 0F, 3, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 135
noseModel[116].setRotationPoint(-11F, 17F, -0.5F);
noseModel[116].rotateAngleZ = -3.14159265F;
noseModel[117].addShapeBox(-4F, -0.5F, 0F, 3, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 136
noseModel[117].setRotationPoint(-11F, 17F, -0.5F);
noseModel[117].rotateAngleZ = -3.92699082F;
noseModel[118].addShapeBox(-4F, -0.5F, 0F, 3, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 137
noseModel[118].setRotationPoint(-11F, 17F, -0.5F);
noseModel[118].rotateAngleZ = -0.78539816F;
noseModel[119].addShapeBox(-4F, -0.5F, 0F, 3, 1, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 138
noseModel[119].setRotationPoint(-11F, 17F, -0.5F);
noseModel[119].rotateAngleZ = -1.57079633F;
noseModel[120].addShapeBox(0F, 0F, 0F, 1, 2, 1, 0F, 0F, -0.5F, 0F, 0F, -0.5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -0.5F, 0F, 0F, -0.5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 139
noseModel[120].setRotationPoint(8F, -17.5F, -2.5F);
noseModel[121].addShapeBox(0F, 0F, 0F, 1, 2, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -0.5F, 0F, 0F, -0.5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -0.5F, 0F, 0F, -0.5F, 0F); // Box 140
noseModel[121].setRotationPoint(8F, -17.5F, 1.5F);
noseModel[122].addShapeBox(0F, 0F, 0F, 1, 2, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -0.5F, 0F, 0F, -0.5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -0.5F, 0F, 0F, -0.5F, 0F); // Box 141
noseModel[122].setRotationPoint(8F, -10.5F, 1.5F);
noseModel[123].addShapeBox(0F, 0F, 0F, 1, 2, 1, 0F, 0F, -0.5F, 0F, 0F, -0.5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -0.5F, 0F, 0F, -0.5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 142
noseModel[123].setRotationPoint(8F, -10.5F, -2.5F);
noseModel[124].addShapeBox(0F, 0F, 0F, 1, 2, 1, 0F, 0F, -0.5F, 0F, 0F, -0.5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -0.5F, 0F, 0F, -0.5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 143
noseModel[124].setRotationPoint(-9F, -17.5F, -2.5F);
noseModel[125].addShapeBox(0F, 0F, 0F, 1, 2, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -0.5F, 0F, 0F, -0.5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -0.5F, 0F, 0F, -0.5F, 0F); // Box 144
noseModel[125].setRotationPoint(-9F, -17.5F, 1.5F);
noseModel[126].addShapeBox(0F, 0F, 0F, 1, 2, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -0.5F, 0F, 0F, -0.5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -0.5F, 0F, 0F, -0.5F, 0F); // Box 145
noseModel[126].setRotationPoint(-9F, -10.5F, 1.5F);
noseModel[127].addShapeBox(0F, 0F, 0F, 1, 2, 1, 0F, 0F, -0.5F, 0F, 0F, -0.5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -0.5F, 0F, 0F, -0.5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 146
noseModel[127].setRotationPoint(-9F, -10.5F, -2.5F);
noseModel[128].addShapeBox(0F, 0F, 0F, 1, 2, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -0.5F, 0F, 0F, -0.5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -0.5F, 0F, 0F, -0.5F, 0F); // Box 147
noseModel[128].setRotationPoint(-9F, -2.5F, 1.5F);
noseModel[129].addShapeBox(0F, 0F, 0F, 1, 2, 1, 0F, 0F, -0.5F, 0F, 0F, -0.5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -0.5F, 0F, 0F, -0.5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 148
noseModel[129].setRotationPoint(-9F, -2.5F, -2.5F);
noseModel[130].addShapeBox(0F, 0F, 0F, 1, 2, 1, 0F, 0F, -0.5F, 0F, 0F, -0.5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -0.5F, 0F, 0F, -0.5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 149
noseModel[130].setRotationPoint(8F, -2.5F, -2.5F);
noseModel[131].addShapeBox(0F, 0F, 0F, 1, 2, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -0.5F, 0F, 0F, -0.5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -0.5F, 0F, 0F, -0.5F, 0F); // Box 150
noseModel[131].setRotationPoint(8F, -2.5F, 1.5F);
noseModel[132].addShapeBox(0F, 0F, 0F, 1, 2, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -0.5F, 0F, 0F, -0.5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -0.5F, 0F, 0F, -0.5F, 0F); // Box 151
noseModel[132].setRotationPoint(-9F, 4.5F, 1.5F);
noseModel[133].addShapeBox(0F, 0F, 0F, 1, 2, 1, 0F, 0F, -0.5F, 0F, 0F, -0.5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -0.5F, 0F, 0F, -0.5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 152
noseModel[133].setRotationPoint(-9F, 4.5F, -2.5F);
noseModel[134].addShapeBox(0F, 0F, 0F, 1, 2, 1, 0F, 0F, -0.5F, 0F, 0F, -0.5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -0.5F, 0F, 0F, -0.5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 153
noseModel[134].setRotationPoint(8F, 4.5F, -2.5F);
noseModel[135].addShapeBox(0F, 0F, 0F, 1, 2, 1, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -0.5F, 0F, 0F, -0.5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -0.5F, 0F, 0F, -0.5F, 0F); // Box 154
noseModel[135].setRotationPoint(8F, 4.5F, 1.5F);
noseModel[136].addShapeBox(0F, 0F, 0F, 1, 1, 5, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 155
noseModel[136].setRotationPoint(-13F, -12.5F, -2.5F);
noseModel[137].addShapeBox(0F, 0F, 0F, 1, 1, 5, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 156
noseModel[137].setRotationPoint(-13F, -8.5F, -2.5F);
noseModel[138].addShapeBox(0F, 0F, 0F, 1, 1, 5, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 159
noseModel[138].setRotationPoint(-13F, 3.5F, -2.5F);
noseModel[139].addShapeBox(0F, 0F, 0F, 1, 1, 5, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 160
noseModel[139].setRotationPoint(-13F, 7.5F, -2.5F);
noseModel[140].addShapeBox(0F, 0F, 0F, 1, 1, 5, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 161
noseModel[140].setRotationPoint(12F, 7.5F, -2.5F);
noseModel[141].addShapeBox(0F, 0F, 0F, 1, 1, 5, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 162
noseModel[141].setRotationPoint(12F, 3.5F, -2.5F);
noseModel[142].addShapeBox(0F, 0F, 0F, 1, 1, 5, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 165
noseModel[142].setRotationPoint(12F, -8.5F, -2.5F);
noseModel[143].addShapeBox(0F, 0F, 0F, 1, 1, 5, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 166
noseModel[143].setRotationPoint(12F, -12.5F, -2.5F);
}
public void render(float f5)
{
render(noseModel, f5);
}
private void render(ModelRendererTurbo[] models, float f)
{
for(ModelRendererTurbo model : models)
if(model != null)
model.render(f);
}
private void setRotation(ModelRenderer model, float x, float y, float z)
{
model.rotateAngleX = x;
model.rotateAngleY = y;
model.rotateAngleZ = z;
}
}
@@ -0,0 +1,155 @@
package defense.client.model.tile;
import net.minecraft.client.model.ModelBase;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.entity.Entity;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@SideOnly(Side.CLIENT)
public class ModelLauncherRailT2 extends ModelBase
{
// fields
ModelRenderer Shape11;
ModelRenderer Shape12;
ModelRenderer Shape13;
ModelRenderer Shape14;
ModelRenderer Shape15;
ModelRenderer Shape16;
ModelRenderer Shape20;
ModelRenderer Shape22;
ModelRenderer Shape23;
ModelRenderer Shape24;
ModelRenderer Shape25;
ModelRenderer Shape28;
ModelRenderer Shape29;
public ModelLauncherRailT2()
{
textureWidth = 128;
textureHeight = 128;
Shape11 = new ModelRenderer(this, 35, 52);
Shape11.addBox(0F, 0F, 0F, 1, 41, 4);
Shape11.setRotationPoint(-16F, -23F, -2F);
Shape11.setTextureSize(128, 128);
Shape11.mirror = true;
setRotation(Shape11, 0F, -0.7853982F, 0F);
Shape12 = new ModelRenderer(this, 46, 52);
Shape12.addBox(0F, 0F, 0F, 3, 19, 2);
Shape12.setRotationPoint(-18F, -1F, -3F);
Shape12.setTextureSize(128, 128);
Shape12.mirror = true;
setRotation(Shape12, 0F, -0.7853982F, 0F);
Shape13 = new ModelRenderer(this, 0, 20);
Shape13.addBox(0F, 0F, 0F, 2, 12, 2);
Shape13.setRotationPoint(-16F, 12F, -1F);
Shape13.setTextureSize(128, 128);
Shape13.mirror = true;
setRotation(Shape13, 0F, -0.7853982F, 0F);
Shape14 = new ModelRenderer(this, 0, 10);
Shape14.addBox(0F, 0F, 0F, 2, 4, 1);
Shape14.setRotationPoint(-16F, -27F, -2F);
Shape14.setTextureSize(128, 128);
Shape14.mirror = true;
setRotation(Shape14, 0F, -0.7853982F, 0F);
Shape15 = new ModelRenderer(this, 0, 0);
Shape15.addBox(0F, 0F, 0F, 16, 1, 8);
Shape15.setRotationPoint(-24F, 23F, 0F);
Shape15.setTextureSize(128, 128);
Shape15.mirror = true;
setRotation(Shape15, 0F, 0F, 0F);
Shape16 = new ModelRenderer(this, 57, 52);
Shape16.addBox(0F, 0F, 0F, 11, 6, 6);
Shape16.setRotationPoint(-20F, 18F, -8F);
Shape16.setTextureSize(128, 128);
Shape16.mirror = true;
setRotation(Shape16, 0F, -0.7853982F, 0F);
Shape20 = new ModelRenderer(this, 0, 10);
Shape20.addBox(0F, 0F, 0F, 2, 4, 1);
Shape20.setRotationPoint(-18F, -27F, 0F);
Shape20.setTextureSize(128, 128);
Shape20.mirror = true;
setRotation(Shape20, 0F, -0.7853982F, 0F);
Shape22 = new ModelRenderer(this, 8, 10);
Shape22.addBox(0F, 0F, 0F, 9, 1, 1);
Shape22.setRotationPoint(-17F, 5F, -1F);
Shape22.setTextureSize(128, 128);
Shape22.mirror = true;
setRotation(Shape22, 0F, 0F, 0F);
Shape23 = new ModelRenderer(this, 8, 10);
Shape23.addBox(0F, 0F, 0F, 9, 1, 1);
Shape23.setRotationPoint(-17F, -10F, -1F);
Shape23.setTextureSize(128, 128);
Shape23.mirror = true;
setRotation(Shape23, 0F, 0F, 0F);
Shape24 = new ModelRenderer(this, 15, 20);
Shape24.addBox(0F, 0F, 0F, 6, 1, 1);
Shape24.setRotationPoint(-21F, 5F, 6F);
Shape24.setTextureSize(128, 128);
Shape24.mirror = true;
setRotation(Shape24, 0F, 1.134464F, 0F);
Shape25 = new ModelRenderer(this, 15, 20);
Shape25.addBox(0F, 0F, 0F, 6, 1, 1);
Shape25.setRotationPoint(-20F, 5F, 6F);
Shape25.setTextureSize(128, 128);
Shape25.mirror = true;
setRotation(Shape25, 0F, -1.047198F, 0F);
Shape28 = new ModelRenderer(this, 15, 19);
Shape28.addBox(0F, 0F, 0F, 6, 1, 1);
Shape28.setRotationPoint(-20F, -10F, 6F);
Shape28.setTextureSize(128, 128);
Shape28.mirror = true;
setRotation(Shape28, 0F, -1.047198F, 0F);
Shape29 = new ModelRenderer(this, 15, 19);
Shape29.addBox(0F, 0F, 0F, 6, 1, 1);
Shape29.setRotationPoint(-21F, -10F, 6F);
Shape29.setTextureSize(128, 128);
Shape29.mirror = true;
setRotation(Shape29, 0F, 1.047198F, 0F);
}
@Override
public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5)
{
super.render(entity, f, f1, f2, f3, f4, f5);
this.setRotationAngles(f, f1, f2, f3, f4, f5, entity);
Shape11.render(f5);
Shape12.render(f5);
Shape13.render(f5);
Shape14.render(f5);
Shape15.render(f5);
Shape16.render(f5);
Shape20.render(f5);
Shape22.render(f5);
Shape23.render(f5);
Shape24.render(f5);
Shape25.render(f5);
Shape28.render(f5);
Shape29.render(f5);
}
public void render(float f5)
{
Shape11.render(f5);
Shape12.render(f5);
Shape13.render(f5);
Shape14.render(f5);
Shape15.render(f5);
Shape16.render(f5);
Shape20.render(f5);
Shape22.render(f5);
Shape23.render(f5);
Shape24.render(f5);
Shape25.render(f5);
Shape28.render(f5);
Shape29.render(f5);
}
private void setRotation(ModelRenderer model, float x, float y, float z)
{
model.rotateAngleX = x;
model.rotateAngleY = y;
model.rotateAngleZ = z;
}
}
@@ -0,0 +1,74 @@
package defense.client.model.tile;
import net.minecraft.client.model.ModelBase;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.entity.Entity;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@SideOnly(Side.CLIENT)
public class ModelLauncherRailT3 extends ModelBase
{
// fields
ModelRenderer Shape9;
ModelRenderer Shape20;
ModelRenderer Shape21;
ModelRenderer Shape16;
public ModelLauncherRailT3()
{
textureWidth = 256;
textureHeight = 256;
Shape9 = new ModelRenderer(this, 170, 0);
Shape9.addBox(0F, 0F, 0F, 10, 37, 10);
Shape9.setRotationPoint(-22F, -19F, -5F);
Shape9.setTextureSize(256, 256);
Shape9.mirror = true;
setRotation(Shape9, 0F, 0F, 0F);
Shape20 = new ModelRenderer(this, 170, 50);
Shape20.addBox(0F, 0F, 0F, 1, 40, 2);
Shape20.setRotationPoint(-19F, -22F, -6F);
Shape20.setTextureSize(256, 256);
Shape20.mirror = true;
setRotation(Shape20, 0F, 0F, 0F);
Shape21 = new ModelRenderer(this, 100, 0);
Shape21.addBox(0F, 0F, 0F, 16, 6, 14);
Shape21.setRotationPoint(-25F, 18F, -7F);
Shape21.setTextureSize(256, 256);
Shape21.mirror = true;
setRotation(Shape21, 0F, 0F, 0F);
Shape16 = new ModelRenderer(this, 170, 50);
Shape16.addBox(0F, 0F, 0F, 1, 40, 2);
Shape16.setRotationPoint(-16F, -22F, -6F);
Shape16.setTextureSize(256, 256);
Shape16.mirror = true;
setRotation(Shape16, 0F, 0F, 0F);
}
@Override
public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5)
{
super.render(entity, f, f1, f2, f3, f4, f5);
this.setRotationAngles(f, f1, f2, f3, f4, f5, entity);
Shape9.render(f5);
Shape20.render(f5);
Shape21.render(f5);
Shape16.render(f5);
}
public void render(float f5)
{
Shape9.render(f5);
Shape20.render(f5);
Shape21.render(f5);
Shape16.render(f5);
}
private void setRotation(ModelRenderer model, float x, float y, float z)
{
model.rotateAngleX = x;
model.rotateAngleY = y;
model.rotateAngleZ = z;
}
}
@@ -0,0 +1,111 @@
package defense.client.model.tile;
import net.minecraft.client.model.ModelBase;
import net.minecraft.client.model.ModelRenderer;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import defense.client.tmt.ModelRendererTurbo;
@SideOnly(Side.CLIENT)
public class ModelLauncherScreenT1 extends ModelBase
{
// fields
ModelRendererTurbo[] bodyModel;
public ModelLauncherScreenT1()
{
int textureX = 512;
int textureY = 512;
bodyModel = new ModelRendererTurbo[17];
bodyModel[0] = new ModelRendererTurbo(this, 120, 0, textureX, textureY); // Box 0
bodyModel[1] = new ModelRendererTurbo(this, 120, 26, textureX, textureY); // Box 1
bodyModel[2] = new ModelRendererTurbo(this, 120, 26, textureX, textureY); // Box 2
bodyModel[3] = new ModelRendererTurbo(this, 120, 33, textureX, textureY); // Box 3
bodyModel[4] = new ModelRendererTurbo(this, 120, 40, textureX, textureY); // Box 4
bodyModel[5] = new ModelRendererTurbo(this, 120, 55, textureX, textureY); // Box 5
bodyModel[6] = new ModelRendererTurbo(this, 120, 71, textureX, textureY); // Box 6
bodyModel[7] = new ModelRendererTurbo(this, 120, 80, textureX, textureY); // Box 7
bodyModel[8] = new ModelRendererTurbo(this, 120, 80, textureX, textureY); // Box 8
bodyModel[9] = new ModelRendererTurbo(this, 120, 80, textureX, textureY); // Box 9
bodyModel[10] = new ModelRendererTurbo(this, 120, 80, textureX, textureY); // Box 10
bodyModel[11] = new ModelRendererTurbo(this, 120, 92, textureX, textureY); // Box 11
bodyModel[12] = new ModelRendererTurbo(this, 120, 118, textureX, textureY); // Box 12
bodyModel[13] = new ModelRendererTurbo(this, 120, 131, textureX, textureY); // Box 13
bodyModel[14] = new ModelRendererTurbo(this, 120, 138, textureX, textureY); // Box 14
bodyModel[15] = new ModelRendererTurbo(this, 120, 154, textureX, textureY); // Box 15
bodyModel[16] = new ModelRendererTurbo(this, 120, 164, textureX, textureY); // Box 16
bodyModel[0].addBox(0F, 0F, 0F, 16, 2, 12, 0F); // Box 0
bodyModel[0].setRotationPoint(-8F, 22F, -6F);
bodyModel[1].addShapeBox(0F, 0F, 0F, 16, 2, 2, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F); // Box 1
bodyModel[1].setRotationPoint(-8F, 22F, 6F);
bodyModel[2].addShapeBox(0F, 0F, 0F, 16, 2, 2, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 2
bodyModel[2].setRotationPoint(-8F, 22F, -8F);
bodyModel[3].addShapeBox(0F, 0F, 0F, 14, 2, 3, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F); // Box 3
bodyModel[3].setRotationPoint(-7F, 20F, -6F);
bodyModel[4].addShapeBox(0F, 0F, 0F, 2, 8, 3, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 4
bodyModel[4].setRotationPoint(5F, 11F, -6F);
bodyModel[5].addShapeBox(0F, 0F, 0F, 2, 8, 3, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 5
bodyModel[5].setRotationPoint(-7F, 11F, -6F);
bodyModel[6].addShapeBox(0F, 0F, 0F, 14, 2, 3, 0F, -2F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 6
bodyModel[6].setRotationPoint(-7F, 8F, -6F);
bodyModel[7].addShapeBox(0F, 0F, 0F, 2, 1, 3, 0F, 0F, 0F, 0F, 1F, 0F, 0F, 1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 7
bodyModel[7].setRotationPoint(-7F, 10F, -6F);
bodyModel[8].addShapeBox(0F, 0F, 0F, 2, 1, 3, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 1F, 0F, 0F, 1F, 0F, 0F, 0F, 0F, 0F); // Box 8
bodyModel[8].setRotationPoint(-7F, 19F, -6F);
bodyModel[9].addShapeBox(0F, 0F, 0F, 2, 1, 3, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 1F, 0F, 0F); // Box 9
bodyModel[9].setRotationPoint(5F, 19F, -6F);
bodyModel[10].addShapeBox(0F, 0F, 0F, 2, 1, 3, 0F, 1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 10
bodyModel[10].setRotationPoint(5F, 10F, -6F);
bodyModel[11].addShapeBox(0F, 0F, 0F, 12, 12, 10, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, -5F, 0F, -2F, -5F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F); // Box 11
bodyModel[11].setRotationPoint(-6F, 9F, -3F);
bodyModel[12].addShapeBox(0F, 0F, 0F, 12, 6, 3, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 12
bodyModel[12].setRotationPoint(-6F, 16F, 0F);
bodyModel[13].addShapeBox(0F, 0F, 0F, 12, 1, 3, 0F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, -1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 13
bodyModel[13].setRotationPoint(-6F, 15F, 0F);
bodyModel[14].addShapeBox(0F, 0F, 0F, 6, 5, 7, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, -4F, 0F, -2F, -4F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -2F, 0F, 0F, -2F, 0F, 0F); // Box 14
bodyModel[14].setRotationPoint(-3F, 9F, -1F);
bodyModel[15].addShapeBox(0F, 0F, 0F, 6, 5, 2, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F); // Box 15
bodyModel[15].setRotationPoint(-3F, 9F, -3F);
bodyModel[16].addShapeBox(0F, 0F, 0F, 100, 100, 1, 0F, -90F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, -90F, 0F, 0F, -90F, -90F, 0F, 0F, -90F, 0F, 0F, -90F, 0F, -90F, -90F, 0F); // Box 16
bodyModel[16].setRotationPoint(-95F, 10F, -5.8F);
}
public void render(float f5)
{
render(bodyModel, f5);
}
private void render(ModelRendererTurbo[] models, float f)
{
for(ModelRendererTurbo model : models)
if(model != null)
model.render(f);
}
private void setRotation(ModelRenderer model, float x, float y, float z)
{
model.rotateAngleX = x;
model.rotateAngleY = y;
model.rotateAngleZ = z;
}
}
@@ -0,0 +1,46 @@
package defense.client.model.tile;
import net.minecraft.client.model.ModelBase;
import net.minecraft.client.model.ModelRenderer;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@SideOnly(Side.CLIENT)
public class ModelLauncherScreenT2 extends ModelBase
{
// fields
ModelRenderer Shape4;
ModelRenderer Shape5;
public ModelLauncherScreenT2()
{
textureWidth = 128;
textureHeight = 128;
Shape4 = new ModelRenderer(this, 0, 35);
Shape4.addBox(0F, 0F, 0F, 2, 8, 1);
Shape4.setRotationPoint(-1F, 16F, 0F);
Shape4.setTextureSize(128, 128);
Shape4.mirror = true;
setRotation(Shape4, 0F, 0F, 0F);
Shape5 = new ModelRenderer(this, 15, 30);
Shape5.addBox(0F, 0F, 0F, 10, 1, 5);
Shape5.setRotationPoint(-5F, 17F, -2F);
Shape5.setTextureSize(128, 128);
Shape5.mirror = true;
setRotation(Shape5, 0.5235988F, 0F, 0F);
}
public void render(float f5)
{
Shape4.render(f5);
Shape5.render(f5);
}
private void setRotation(ModelRenderer model, float x, float y, float z)
{
model.rotateAngleX = x;
model.rotateAngleY = y;
model.rotateAngleZ = z;
}
}
@@ -0,0 +1,63 @@
package defense.client.model.tile;
import net.minecraft.client.model.ModelBase;
import net.minecraft.client.model.ModelRenderer;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@SideOnly(Side.CLIENT)
public class ModelLauncherScreenT3 extends ModelBase
{
// fields
ModelRenderer Shape27;
ModelRenderer Shape29;
ModelRenderer Shape30;
ModelRenderer Shape31;
public ModelLauncherScreenT3()
{
textureWidth = 256;
textureHeight = 256;
Shape27 = new ModelRenderer(this, 0, 30);
Shape27.addBox(0F, 0F, 0F, 8, 9, 3);
Shape27.setRotationPoint(-4F, 15F, -2F);
Shape27.setTextureSize(256, 256);
Shape27.mirror = true;
setRotation(Shape27, 0F, 0F, 0F);
Shape29 = new ModelRenderer(this, 0, 19);
Shape29.addBox(0F, 0F, 0F, 10, 1, 8);
Shape29.setRotationPoint(-5F, 16F, -6F);
Shape29.setTextureSize(256, 256);
Shape29.mirror = true;
setRotation(Shape29, 0.3141593F, 0F, 0F);
Shape30 = new ModelRenderer(this, 0, 0);
Shape30.addBox(0F, 0F, 0F, 10, 8, 1);
Shape30.setRotationPoint(-5F, 6F, 5F);
Shape30.setTextureSize(256, 256);
Shape30.mirror = true;
setRotation(Shape30, -0.4363323F, 0F, 0F);
Shape31 = new ModelRenderer(this, 25, 0);
Shape31.addBox(0F, 0F, 0F, 2, 10, 1);
Shape31.setRotationPoint(-1F, 10F, 4F);
Shape31.setTextureSize(256, 256);
Shape31.mirror = true;
setRotation(Shape31, -0.4363323F, 0F, 0F);
}
public void render(float f5)
{
Shape27.render(f5);
Shape29.render(f5);
Shape30.render(f5);
Shape31.render(f5);
}
private void setRotation(ModelRenderer model, float x, float y, float z)
{
model.rotateAngleX = x;
model.rotateAngleY = y;
model.rotateAngleZ = z;
}
}
@@ -0,0 +1,252 @@
package defense.client.model.tile;
import net.minecraft.client.model.ModelBase;
import net.minecraft.client.model.ModelRenderer;
public class ModelRadarStation extends ModelBase
{
// fields
ModelRenderer Base;
ModelRenderer Battery;
ModelRenderer BatRing1;
ModelRenderer BatRing2;
ModelRenderer BatRing3;
ModelRenderer BatRing4;
ModelRenderer LeftPlate;
ModelRenderer RightPlate;
ModelRenderer Panel;
ModelRenderer SignalPole;
ModelRenderer SignalRec;
ModelRenderer SignalRing1;
ModelRenderer SignalRing2;
ModelRenderer Strut1;
ModelRenderer Strut2;
ModelRenderer LeftPlateEnd;
ModelRenderer RightPlateEnd;
ModelRenderer BaseBump1;
ModelRenderer BaseBump2;
ModelRenderer FrontWireTop;
ModelRenderer BackWireTop;
ModelRenderer FrontWireBottom;
ModelRenderer BackWireBottom;
ModelRenderer BatteryPole;
ModelRenderer PistonHead;
ModelRenderer PistonPole;
ModelRenderer PistonBody;
public ModelRadarStation()
{
textureWidth = 128;
textureHeight = 128;
Base = new ModelRenderer(this, 0, 0);
Base.addBox(0F, 0F, 0F, 11, 4, 14);
Base.setRotationPoint(-7F, 20F, -7F);
Base.setTextureSize(128, 128);
Base.mirror = true;
setRotation(Base, 0F, 0F, 0F);
Battery = new ModelRenderer(this, 51, 0);
Battery.addBox(0F, 0F, 0F, 3, 3, 7);
Battery.setRotationPoint(4F, 21F, -0.5F);
Battery.setTextureSize(128, 128);
Battery.mirror = true;
setRotation(Battery, 0F, 0F, 0F);
BatRing1 = new ModelRenderer(this, 51, 11);
BatRing1.addBox(0F, 0F, 0F, 3, 3, 1);
BatRing1.setRotationPoint(4F, 21F, -2F);
BatRing1.setTextureSize(128, 128);
BatRing1.mirror = true;
setRotation(BatRing1, 0F, 0F, 0F);
BatRing2 = new ModelRenderer(this, 51, 16);
BatRing2.addBox(0F, 0F, 0F, 3, 3, 1);
BatRing2.setRotationPoint(4F, 21F, -3.5F);
BatRing2.setTextureSize(128, 128);
BatRing2.mirror = true;
setRotation(BatRing2, 0F, 0F, 0F);
BatRing3 = new ModelRenderer(this, 51, 21);
BatRing3.addBox(0F, 0F, 0F, 3, 3, 1);
BatRing3.setRotationPoint(4F, 21F, -5F);
BatRing3.setTextureSize(128, 128);
BatRing3.mirror = true;
setRotation(BatRing3, 0F, 0F, 0F);
BatRing4 = new ModelRenderer(this, 51, 26);
BatRing4.addBox(0F, 0F, 0F, 3, 3, 1);
BatRing4.setRotationPoint(4F, 21F, -6.5F);
BatRing4.setTextureSize(128, 128);
BatRing4.mirror = true;
setRotation(BatRing4, 0F, 0F, 0F);
LeftPlate = new ModelRenderer(this, 0, 19);
LeftPlate.addBox(0F, 0F, 0F, 1, 3, 9);
LeftPlate.setRotationPoint(-7F, 17F, -2F);
LeftPlate.setTextureSize(128, 128);
LeftPlate.mirror = true;
setRotation(LeftPlate, 0F, 0F, 0F);
RightPlate = new ModelRenderer(this, 21, 19);
RightPlate.addBox(0F, 0F, 0F, 1, 3, 9);
RightPlate.setRotationPoint(3F, 17F, -2F);
RightPlate.setTextureSize(128, 128);
RightPlate.mirror = true;
setRotation(RightPlate, 0F, 0F, 0F);
Panel = new ModelRenderer(this, 0, 32);
Panel.addBox(0F, 0F, 0F, 8, 7, 1);
Panel.setRotationPoint(-5.5F, 11F, 5F);
Panel.setTextureSize(128, 128);
Panel.mirror = true;
setRotation(Panel, -0.6108652F, 0F, 0F);
SignalPole = new ModelRenderer(this, 60, 11);
SignalPole.addBox(-0.5F, 0F, -0.5F, 1, 14, 1);
SignalPole.setRotationPoint(4.5F, 10F, 6.5F);
SignalPole.setTextureSize(128, 128);
SignalPole.mirror = true;
setRotation(SignalPole, 0F, 0F, 0F);
SignalRec = new ModelRenderer(this, 60, 27);
SignalRec.addBox(-1F, -1F, -1F, 2, 2, 2);
SignalRec.setRotationPoint(4.5F, 10F, 6.5F);
SignalRec.setTextureSize(128, 128);
SignalRec.mirror = true;
setRotation(SignalRec, 0F, 0F, 0F);
SignalRing1 = new ModelRenderer(this, 65, 11);
SignalRing1.addBox(-1F, 0F, -1F, 2, 1, 2);
SignalRing1.setRotationPoint(4.5F, 11.5F, 6.5F);
SignalRing1.setTextureSize(128, 128);
SignalRing1.mirror = true;
setRotation(SignalRing1, 0F, 0F, 0F);
SignalRing2 = new ModelRenderer(this, 65, 15);
SignalRing2.addBox(-1F, -0.5F, -1F, 2, 1, 2);
SignalRing2.setRotationPoint(4.5F, 13.5F, 6.5F);
SignalRing2.setTextureSize(128, 128);
SignalRing2.mirror = true;
setRotation(SignalRing2, 0F, 0F, 0F);
Strut1 = new ModelRenderer(this, 42, 19);
Strut1.addBox(0F, 0F, 0F, 2, 3, 2);
Strut1.setRotationPoint(-2.5F, 16F, 2F);
Strut1.setTextureSize(128, 128);
Strut1.mirror = true;
setRotation(Strut1, 0.8412487F, 0F, 0F);
Strut2 = new ModelRenderer(this, 19, 32);
Strut2.addBox(0F, 0F, 0F, 3, 4, 2);
Strut2.setRotationPoint(-3F, 16.5F, 4F);
Strut2.setTextureSize(128, 128);
Strut2.mirror = true;
setRotation(Strut2, 0F, 0F, 0F);
LeftPlateEnd = new ModelRenderer(this, 42, 25);
LeftPlateEnd.addBox(0F, 0F, 0F, 1, 2, 1);
LeftPlateEnd.setRotationPoint(-7F, 18F, -3F);
LeftPlateEnd.setTextureSize(128, 128);
LeftPlateEnd.mirror = true;
setRotation(LeftPlateEnd, 0F, 0F, 0F);
RightPlateEnd = new ModelRenderer(this, 42, 29);
RightPlateEnd.addBox(0F, 0F, 0F, 1, 2, 1);
RightPlateEnd.setRotationPoint(3F, 18F, -3F);
RightPlateEnd.setTextureSize(128, 128);
RightPlateEnd.mirror = true;
setRotation(RightPlateEnd, 0F, 0F, 0F);
BaseBump1 = new ModelRenderer(this, 0, 41);
BaseBump1.addBox(0F, 0F, 0F, 9, 1, 1);
BaseBump1.setRotationPoint(-6F, 19F, -2F);
BaseBump1.setTextureSize(128, 128);
BaseBump1.mirror = true;
setRotation(BaseBump1, 0F, 0F, 0F);
BaseBump2 = new ModelRenderer(this, 0, 44);
BaseBump2.addBox(0F, 0F, 0F, 10, 1, 1);
BaseBump2.setRotationPoint(-6.5F, 19.5F, -3.5F);
BaseBump2.setTextureSize(128, 128);
BaseBump2.mirror = true;
setRotation(BaseBump2, 0F, 0F, 0F);
FrontWireTop = new ModelRenderer(this, 30, 32);
FrontWireTop.addBox(0F, 0F, 0F, 2, 1, 1);
FrontWireTop.setRotationPoint(4F, 19F, 1F);
FrontWireTop.setTextureSize(128, 128);
FrontWireTop.mirror = true;
setRotation(FrontWireTop, 0F, 0F, 0F);
BackWireTop = new ModelRenderer(this, 30, 35);
BackWireTop.addBox(0F, 0F, 0F, 2, 1, 1);
BackWireTop.setRotationPoint(4F, 19F, 4F);
BackWireTop.setTextureSize(128, 128);
BackWireTop.mirror = true;
setRotation(BackWireTop, 0F, 0F, 0F);
FrontWireBottom = new ModelRenderer(this, 42, 33);
FrontWireBottom.addBox(0F, 0F, 0F, 1, 1, 1);
FrontWireBottom.setRotationPoint(5F, 20F, 1F);
FrontWireBottom.setTextureSize(128, 128);
FrontWireBottom.mirror = true;
setRotation(FrontWireBottom, 0F, 0F, 0F);
BackWireBottom = new ModelRenderer(this, 42, 36);
BackWireBottom.addBox(0F, 0F, 0F, 1, 1, 1);
BackWireBottom.setRotationPoint(5F, 20F, 4F);
BackWireBottom.setTextureSize(128, 128);
BackWireBottom.mirror = true;
setRotation(BackWireBottom, 0F, 0F, 0F);
BatteryPole = new ModelRenderer(this, 65, 19);
BatteryPole.addBox(0F, 0F, 0F, 1, 1, 6);
BatteryPole.setRotationPoint(5F, 22F, -6F);
BatteryPole.setTextureSize(128, 128);
BatteryPole.mirror = true;
setRotation(BatteryPole, 0F, 0F, 0F);
PistonHead = new ModelRenderer(this, 51, 31);
PistonHead.addBox(0F, 0F, 0F, 1, 1, 2);
PistonHead.setRotationPoint(-2F, 19F, -6.2F);
PistonHead.setTextureSize(128, 128);
PistonHead.mirror = true;
setRotation(PistonHead, 0F, 0F, 0F);
PistonPole = new ModelRenderer(this, 51, 35);
PistonPole.addBox(0F, 0F, 0F, 3, 1, 1);
PistonPole.setRotationPoint(-1F, 19.25F, -5.7F);
PistonPole.setTextureSize(128, 128);
PistonPole.mirror = true;
setRotation(PistonPole, 0F, 0F, 0F);
PistonBody = new ModelRenderer(this, 51, 38);
PistonBody.addBox(0F, 0F, 0F, 3, 1, 2);
PistonBody.setRotationPoint(0F, 19F, -6.2F);
PistonBody.setTextureSize(128, 128);
PistonBody.mirror = true;
setRotation(PistonBody, 0F, 0F, 0F);
}
public void render(float f5, float rotationScreen, float rotationRod)
{
Base.render(f5);
Battery.render(f5);
BatRing1.render(f5);
BatRing2.render(f5);
BatRing3.render(f5);
BatRing4.render(f5);
LeftPlate.render(f5);
RightPlate.render(f5);
Panel.rotateAngleX = -0.6108652F + rotationScreen;
Panel.render(f5);
SignalPole.rotateAngleY = rotationRod;
SignalPole.render(f5);
SignalRec.rotateAngleY = rotationRod;
SignalRec.render(f5);
SignalRing1.rotateAngleY = rotationRod;
SignalRing1.render(f5);
SignalRing2.rotateAngleY = rotationRod;
SignalRing2.render(f5);
Strut1.render(f5);
Strut2.render(f5);
LeftPlateEnd.render(f5);
RightPlateEnd.render(f5);
BaseBump1.render(f5);
BaseBump2.render(f5);
FrontWireTop.render(f5);
BackWireTop.render(f5);
FrontWireBottom.render(f5);
BackWireBottom.render(f5);
BatteryPole.render(f5);
PistonHead.render(f5);
PistonPole.render(f5);
PistonBody.render(f5);
}
private void setRotation(ModelRenderer model, float x, float y, float z)
{
model.rotateAngleX = x;
model.rotateAngleY = y;
model.rotateAngleZ = z;
}
}
@@ -0,0 +1,70 @@
package defense.client.model.tile;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.entity.Entity;
import net.minecraft.util.ResourceLocation;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import defense.client.model.missile.ModelMissileBase;
import defense.common.Reference;
@SideOnly(Side.CLIENT)
public class ModelSMine extends ModelMissileBase
{
public static final ModelSMine INSTANCE = new ModelSMine();
public static final ResourceLocation TEXTURE = new ResourceLocation(Reference.DOMAIN, Reference.MODEL_TEXTURE_PATH + "s-mine.png");
// fields
ModelRenderer A;
ModelRenderer B;
ModelRenderer C;
public ModelSMine()
{
textureWidth = 45;
textureHeight = 26;
A = new ModelRenderer(this, 0, 0);
A.addBox(-5F, 0F, -5F, 10, 2, 10);
A.setRotationPoint(0F, 22F, 0F);
A.setTextureSize(45, 26);
A.mirror = true;
setRotation(A, 0F, 0.7853982F, 0F);
B = new ModelRenderer(this, 0, 14);
B.addBox(-8F, 0F, -2F, 16, 1, 4);
B.setRotationPoint(0F, 23F, 0F);
B.setTextureSize(45, 26);
B.mirror = true;
setRotation(B, 0F, 0.7853982F, 0F);
C = new ModelRenderer(this, 0, 14);
C.addBox(-8F, 0F, -2F, 16, 1, 4);
C.setRotationPoint(0F, 23F, 0F);
C.setTextureSize(45, 26);
C.mirror = true;
setRotation(C, 0F, 2.356194F, 0F);
}
@Override
public void render(float f5)
{
A.render(f5);
B.render(f5);
C.render(f5);
}
@Override
public void render(Entity entity, float x, float y, float z, float f1, float f2, float f3)
{
super.render(entity, x, y, z, f1, f2, f3);
this.setRotationAngles(x, y, z, f1, f2, f3, entity);
this.render(f3);
}
private void setRotation(ModelRenderer model, float x, float y, float z)
{
model.rotateAngleX = x;
model.rotateAngleY = y;
model.rotateAngleZ = z;
}
}
@@ -0,0 +1,23 @@
package defense.client.render;
import net.minecraft.client.renderer.entity.Render;
import net.minecraft.entity.Entity;
import net.minecraft.util.ResourceLocation;
/** Renders nothing for the fake entity.
*
* @author Calclavia */
public class EmptyRenderer extends Render
{
@Override
public void doRender(Entity var1, double var2, double var4, double var6, float var8, float var9)
{
}
@Override
protected ResourceLocation getEntityTexture(Entity entity)
{
return null;
}
}
@@ -0,0 +1,114 @@
package defense.client.render;
import static org.lwjgl.opengl.GL11.GL_BLEND;
import static org.lwjgl.opengl.GL11.GL_FLAT;
import static org.lwjgl.opengl.GL11.GL_LINE_SMOOTH;
import static org.lwjgl.opengl.GL11.GL_ONE_MINUS_SRC_ALPHA;
import static org.lwjgl.opengl.GL11.GL_POLYGON_SMOOTH;
import static org.lwjgl.opengl.GL11.GL_SMOOTH;
import static org.lwjgl.opengl.GL11.GL_SRC_ALPHA;
import static org.lwjgl.opengl.GL11.glBlendFunc;
import static org.lwjgl.opengl.GL11.glDisable;
import static org.lwjgl.opengl.GL11.glEnable;
import static org.lwjgl.opengl.GL11.glRotatef;
import static org.lwjgl.opengl.GL11.glShadeModel;
import static org.lwjgl.opengl.GL11.glTranslatef;
import net.minecraft.block.Block;
import net.minecraft.client.renderer.OpenGlHelper;
import net.minecraft.client.renderer.RenderBlocks;
import net.minecraft.client.renderer.RenderHelper;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
import cpw.mods.fml.client.FMLClientHandler;
public class RenderUtils
{
public static final ResourceLocation PARTICLE_RESOURCE = new ResourceLocation("textures/particle/particles.png");
public static void setTerrainTexture()
{
setSpriteTexture(0);
}
public static void setSpriteTexture(ItemStack itemStack)
{
setSpriteTexture(itemStack.getItemSpriteNumber());
}
public static void setSpriteTexture(int sprite)
{
FMLClientHandler.instance().getClient().renderEngine.bindTexture(getSpriteTexture(sprite));
}
public static ResourceLocation getSpriteTexture(int sprite)
{
return FMLClientHandler.instance().getClient().renderEngine.getResourceLocation(sprite);
}
/** Enables blending. */
public static void enableBlending()
{
glShadeModel(GL_SMOOTH);
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
}
/** Disables blending. */
public static void disableBlending()
{
glShadeModel(GL_FLAT);
glDisable(GL_LINE_SMOOTH);
glDisable(GL_POLYGON_SMOOTH);
glDisable(GL_BLEND);
}
public static void enableLighting()
{
RenderHelper.enableStandardItemLighting();
}
/** Disables lighting and turns glow on. */
public static void disableLighting()
{
RenderHelper.disableStandardItemLighting();
OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, 240.0F, 240.0F);
}
public static void renderNormalBlockAsItem(Block block, int metadata, RenderBlocks renderer)
{
Tessellator tessellator = Tessellator.instance;
block.setBlockBoundsForItemRender();
renderer.setRenderBoundsFromBlock(block);
glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
glTranslatef(-0.5F, -0.5F, -0.5F);
tessellator.startDrawingQuads();
tessellator.setNormal(0.0F, -1.0F, 0.0F);
renderer.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 0, metadata));
tessellator.draw();
tessellator.startDrawingQuads();
tessellator.setNormal(0.0F, 1.0F, 0.0F);
renderer.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 1, metadata));
tessellator.draw();
tessellator.startDrawingQuads();
tessellator.setNormal(0.0F, 0.0F, -1.0F);
renderer.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 2, metadata));
tessellator.draw();
tessellator.startDrawingQuads();
tessellator.setNormal(0.0F, 0.0F, 1.0F);
renderer.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 3, metadata));
tessellator.draw();
tessellator.startDrawingQuads();
tessellator.setNormal(-1.0F, 0.0F, 0.0F);
renderer.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 4, metadata));
tessellator.draw();
tessellator.startDrawingQuads();
tessellator.setNormal(1.0F, 0.0F, 0.0F);
renderer.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 5, metadata));
tessellator.draw();
glTranslatef(0.5F, 0.5F, 0.5F);
}
}
@@ -0,0 +1,42 @@
package defense.client.render.block;
import net.minecraft.block.Block;
import net.minecraft.client.renderer.RenderBlocks;
import net.minecraft.world.IBlockAccess;
import org.lwjgl.opengl.GL11;
import cpw.mods.fml.client.FMLClientHandler;
import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
import cpw.mods.fml.client.registry.RenderingRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import defense.common.block.BlockMachine.MachineData;
@SideOnly(Side.CLIENT)
public class BlockRenderingHandler implements ISimpleBlockRenderingHandler
{
public static final int ID = RenderingRegistry.getNextAvailableRenderId();
@Override
public void renderInventoryBlock(Block block, int metadata, int modelID, RenderBlocks renderer) {}
@Override
public boolean renderWorldBlock(IBlockAccess iBlockAccess, int x, int y, int z, Block block, int modelID, RenderBlocks renderer)
{
return false;
}
@Override
public boolean shouldRender3DInInventory(int modelId)
{
return true;
}
@Override
public int getRenderId()
{
return ID;
}
}
@@ -0,0 +1,82 @@
package defense.client.render.entity;
import net.minecraft.client.renderer.RenderBlocks;
import net.minecraft.client.renderer.entity.Render;
import net.minecraft.entity.Entity;
import net.minecraft.util.ResourceLocation;
import org.lwjgl.opengl.GL11;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import defense.client.render.RenderUtils;
import defense.common.DefenseTechBlocks;
import defense.common.entity.EntityExplosive;
@SideOnly(Side.CLIENT)
public class RenderEntityExplosive extends Render
{
private RenderBlocks blockRenderer = new RenderBlocks();
public RenderEntityExplosive()
{
this.shadowSize = 0.5F;
}
@Override
public void doRender(Entity par1Entity, double x, double y, double z, float par8, float par9)
{
EntityExplosive entityExplosive = (EntityExplosive) par1Entity;
GL11.glPushMatrix();
GL11.glTranslatef((float) x, (float) y, (float) z);
float f2;
if (entityExplosive.fuse - par9 + 1.0F < 10.0F)
{
f2 = 1.0F - (entityExplosive.fuse - par9 + 1.0F) / 10.0F;
if (f2 < 0.0F)
{
f2 = 0.0F;
}
if (f2 > 1.0F)
{
f2 = 1.0F;
}
f2 *= f2;
f2 *= f2;
float f3 = 1.0F + f2 * 0.3F;
GL11.glScalef(f3, f3, f3);
}
f2 = (1.0F - (entityExplosive.fuse - par9 + 1.0F) / 100.0F) * 0.8F;
RenderUtils.setTerrainTexture();
this.blockRenderer.renderBlockAsItem(DefenseTechBlocks.blockExplosive, entityExplosive.explosiveID, entityExplosive.getBrightness(par9));
if (entityExplosive.fuse / 5 % 2 == 0)
{
GL11.glDisable(GL11.GL_TEXTURE_2D);
GL11.glDisable(GL11.GL_LIGHTING);
GL11.glEnable(GL11.GL_BLEND);
GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_DST_ALPHA);
GL11.glColor4f(1.0F, 1.0F, 1.0F, f2);
this.blockRenderer.renderBlockAsItem(DefenseTechBlocks.blockExplosive, entityExplosive.explosiveID, 1.0F);
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
GL11.glDisable(GL11.GL_BLEND);
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glEnable(GL11.GL_TEXTURE_2D);
}
GL11.glPopMatrix();
}
@Override
protected ResourceLocation getEntityTexture(Entity entity)
{
return null;
}
}
@@ -0,0 +1,191 @@
package defense.client.render.entity;
import java.util.Random;
import net.minecraft.client.renderer.RenderHelper;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.entity.Render;
import net.minecraft.entity.Entity;
import net.minecraft.util.ResourceLocation;
import org.lwjgl.opengl.GL11;
import org.lwjgl.util.glu.Sphere;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import defense.client.render.RenderUtils;
import defense.common.Reference;
import defense.common.entity.EntityExplosion;
import defense.common.explosive.blast.BlastRedmatter;
@SideOnly(Side.CLIENT)
public class RenderExplosion extends Render
{
public static final ResourceLocation TEXTURE_FILE = new ResourceLocation(Reference.DOMAIN, Reference.TEXTURE_PATH + "blackhole.png");
public Random random = new Random();
@Override
public void doRender(Entity entity, double x, double y, double z, float par8, float par9)
{
EntityExplosion eZhaPin = (EntityExplosion) entity;
if (eZhaPin.blast != null)
{
// RedM atter Render
if (eZhaPin.blast instanceof BlastRedmatter)
{
Tessellator tessellator = Tessellator.instance;
/** Draw Sphere */
GL11.glPushMatrix();
GL11.glTranslatef((float) x, (float) y, (float) z);
RenderUtils.enableBlending();
RenderUtils.disableLighting();
GL11.glColor4f(0.0F, 0.0F, 0.0F, 0.9f);
Sphere sphere = new Sphere();
sphere.draw(5, 32, 32);
// Enable Lighting/Glow Off
RenderUtils.enableLighting();
// Disable Blending
RenderUtils.disableBlending();
GL11.glPopMatrix();
/** Draw Vortex
*
* GL11.glPushMatrix(); GL11.glDepthMask(false);
*
* CalclaviaRenderHelper.enableBlending(); CalclaviaRenderHelper.disableLighting();
*
* GL11.glTranslated(x, y, z); GL11.glRotatef(-entity.ticksExisted, 0, 1, 0);
*
* float size = 10; float f10 = 1.0F;
*
* int textureSize = 50; float size4 = size * 5; float float_sizeMinus0_01 =
* textureSize - 0.01F;
*
* float x0 = (textureSize + 0.0F) / size4; float x1 = (textureSize +
* float_sizeMinus0_01) / size4; float x2 = (textureSize + 0.0F) / size4; float x3 =
* (textureSize + float_sizeMinus0_01) / size4;
*
* float renderX = (float) x; float renderY = (float) y; float renderZ = (float) z;
*
* this.bindTexture(TEXTURE_FILE); tessellator.startDrawingQuads();
* tessellator.setBrightness(240); tessellator.setColorRGBA_F(1.0F, 1.0F, 1.0F, 1F);
* tessellator.addVertexWithUV(-size, 0, -size, x1, x3);
* tessellator.addVertexWithUV(-size, 0, +size, x1, x2);
* tessellator.addVertexWithUV(+size, 0, +size, x0, x2);
* tessellator.addVertexWithUV(+size, 0, -size, x0, x3); tessellator.draw();
*
* // Enable Lighting/Glow Off CalclaviaRenderHelper.enableLighting();
*
* // Disable Blending CalclaviaRenderHelper.disableBlending();
*
* GL11.glDepthMask(true); GL11.glPopMatrix(); */
/** Enderdragon Light */
float par2 = (entity.ticksExisted);
while (par2 > 200)
par2 -= 100;
RenderHelper.disableStandardItemLighting();
float var41 = (5 + par2) / 200.0F;
float var51 = 0.0F;
if (var41 > 0.8F)
{
var51 = (var41 - 0.8F) / 0.2F;
}
Random rand = new Random(432L);
GL11.glPushMatrix();
GL11.glTranslatef((float) x, (float) y, (float) z);
GL11.glDisable(GL11.GL_TEXTURE_2D);
GL11.glShadeModel(GL11.GL_SMOOTH);
GL11.glEnable(GL11.GL_BLEND);
GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE);
GL11.glDisable(GL11.GL_ALPHA_TEST);
GL11.glEnable(GL11.GL_CULL_FACE);
GL11.glDepthMask(false);
GL11.glPushMatrix();
GL11.glTranslatef(0.0F, -1.0F, -2.0F);
for (int i1 = 0; i1 < (var41 + var41 * var41) / 2.0F * 60.0F; ++i1)
{
GL11.glRotatef(rand.nextFloat() * 360.0F, 1.0F, 0.0F, 0.0F);
GL11.glRotatef(rand.nextFloat() * 360.0F, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(rand.nextFloat() * 360.0F, 0.0F, 0.0F, 1.0F);
GL11.glRotatef(rand.nextFloat() * 360.0F, 1.0F, 0.0F, 0.0F);
GL11.glRotatef(rand.nextFloat() * 360.0F, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(rand.nextFloat() * 360.0F + var41 * 90.0F, 0.0F, 0.0F, 1.0F);
tessellator.startDrawing(6);
float var81 = rand.nextFloat() * 20.0F + 5.0F + var51 * 10.0F;
float var91 = rand.nextFloat() * 2.0F + 1.0F + var51 * 2.0F;
tessellator.setColorRGBA_I(16777215, (int) (255.0F * (1.0F - var51)));
tessellator.addVertex(0.0D, 0.0D, 0.0D);
tessellator.setColorRGBA_I(0, 0);
tessellator.addVertex(-0.866D * var91, var81, -0.5F * var91);
tessellator.addVertex(0.866D * var91, var81, -0.5F * var91);
tessellator.addVertex(0.0D, var81, 1.0F * var91);
tessellator.addVertex(-0.866D * var91, var81, -0.5F * var91);
tessellator.draw();
}
GL11.glPopMatrix();
GL11.glDepthMask(true);
GL11.glDisable(GL11.GL_CULL_FACE);
GL11.glDisable(GL11.GL_BLEND);
GL11.glShadeModel(GL11.GL_FLAT);
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
GL11.glEnable(GL11.GL_TEXTURE_2D);
GL11.glEnable(GL11.GL_ALPHA_TEST);
RenderHelper.enableStandardItemLighting();
GL11.glPopMatrix();
}
else
{
if (eZhaPin.blast.getRenderModel() != null && eZhaPin.blast.getRenderResource() != null)
{
GL11.glPushMatrix();
GL11.glTranslatef((float) x, (float) y + 1F, (float) z);
GL11.glRotatef(eZhaPin.rotationPitch, 0.0F, 0.0F, 1.0F);
this.bindTexture(eZhaPin.blast.getRenderResource());
eZhaPin.blast.getRenderModel().render(eZhaPin, (float) x, (float) y, (float) z, par8, par9, 0.0625F);
GL11.glPopMatrix();
}
}
}
}
public void drawCircle(double x, double y, double radius, double accuracy)
{
GL11.glDisable(GL11.GL_TEXTURE_2D);
double da = Math.min((2.0 * Math.asin(1.0 / radius) / accuracy), 10000);
GL11.glBegin(GL11.GL_TRIANGLE_FAN);
GL11.glVertex2d(x, y);
for (double a = 0.0; a <= 2 * Math.PI; a += da)
{
GL11.glVertex2d(x + Math.cos(a) * radius, y + Math.sin(a) * radius);
}
GL11.glVertex2d(x + radius, y);
GL11.glEnd();
}
@Override
protected ResourceLocation getEntityTexture(Entity entity)
{
return null;
}
}
@@ -0,0 +1,64 @@
package defense.client.render.entity;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.entity.Render;
import net.minecraft.entity.Entity;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
import net.minecraft.util.ResourceLocation;
import org.lwjgl.opengl.GL11;
import org.lwjgl.opengl.GL12;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import defense.client.render.RenderUtils;
import defense.common.DefenseTechItems;
import defense.common.entity.EntityGrenade;
@SideOnly(Side.CLIENT)
public class RenderGrenade extends Render
{
@Override
public void doRender(Entity entity, double x, double y, double z, float par8, float par9)
{
/** Renders the grenade based on the explosive ID. */
IIcon icon = DefenseTechItems.itemGrenade.getIconFromDamage(((EntityGrenade) entity).explosiveID);
GL11.glPushMatrix();
GL11.glTranslatef((float) x, (float) y + 0.4f, (float) z);
GL11.glEnable(GL12.GL_RESCALE_NORMAL);
GL11.glScalef(0.6F, 0.6F, 0.6F);
RenderUtils.setSpriteTexture(new ItemStack(DefenseTechItems.itemGrenade));
Tessellator tessellator = Tessellator.instance;
this.renderIcon(tessellator, icon);
GL11.glDisable(GL12.GL_RESCALE_NORMAL);
GL11.glPopMatrix();
}
private void renderIcon(Tessellator par1Tessellator, IIcon icon)
{
float f = icon.getMinU();
float f1 = icon.getMaxU();
float f2 = icon.getMinV();
float f3 = icon.getMaxV();
float f4 = 1.0F;
float f5 = 0.5F;
float f6 = 0.25F;
GL11.glRotatef(180.0F - this.renderManager.playerViewY, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(-this.renderManager.playerViewX, 1.0F, 0.0F, 0.0F);
par1Tessellator.startDrawingQuads();
par1Tessellator.setNormal(0.0F, 1.0F, 0.0F);
par1Tessellator.addVertexWithUV(0.0F - f5, 0.0F - f6, 0.0D, f, f3);
par1Tessellator.addVertexWithUV(f4 - f5, 0.0F - f6, 0.0D, f1, f3);
par1Tessellator.addVertexWithUV(f4 - f5, f4 - f6, 0.0D, f1, f2);
par1Tessellator.addVertexWithUV(0.0F - f5, f4 - f6, 0.0D, f, f2);
par1Tessellator.draw();
}
@Override
protected ResourceLocation getEntityTexture(Entity entity)
{
return null;
}
}
@@ -0,0 +1,142 @@
package defense.client.render.entity;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.entity.Render;
import net.minecraft.client.renderer.entity.RenderManager;
import net.minecraft.entity.Entity;
import net.minecraft.util.ResourceLocation;
import org.lwjgl.opengl.GL11;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import defense.common.entity.EntityLightBeam;
@SideOnly(Side.CLIENT)
public class RenderLightBeam extends Render
{
@Override
public void doRender(Entity par1Entity, double x, double y, double z, float f, float f1)
{
if (this.renderManager == null)
{
this.setRenderManager(RenderManager.instance);
}
EntityLightBeam entity = ((EntityLightBeam) par1Entity);
Tessellator tessellator = Tessellator.instance;
GL11.glDisable(GL11.GL_TEXTURE_2D);
GL11.glDisable(GL11.GL_LIGHTING);
GL11.glEnable(GL11.GL_BLEND);
GL11.glBlendFunc(770, 1);
double ad[] = new double[80]; // Previously
// both
// were 8
double ad1[] = new double[80];
double d3 = 0.0D;
double d4 = 0.0D;
for (int j = 7; j >= 0; j--)
{
ad[j] = d3;
ad1[j] = d4;
}
for (int i = 0; i < 4; i++)
{
for (int ii = 0; ii < 3; ii++)
{
int l = 7;
int i1 = 0;
if (ii > 0)
{
l = 7 - ii;
}
if (ii > 0)
{
i1 = l - 2;
}
double d5 = ad[l] - d3;
double d6 = ad1[l] - d4;
for (int iii = l; iii >= i1; iii--)
{
double d7 = d5;
double d8 = d6;
// Weird but cool effects
tessellator.startDrawing(5);
float f2 = 0.5F;
// Set color
tessellator.setColorRGBA_F(entity.red, entity.green, entity.blue, 10F);
double d9 = 0.10000000000000001D + i * 0.20000000000000001D;
if (ii == 0)
{
d9 *= iii * 0.10000000000000001D + 1.0D;
}
double d10 = 0.10000000000000001D + i * 0.20000000000000001D;
if (ii == 0)
{
d10 *= (iii - 1) * 0.10000000000000001D + 1.0D;
}
for (int iiii = 0; iiii < 5; iiii++)
{
double d11 = (x + 0.5D) - d9;
double d12 = (z + 0.5D) - d9;
if (iiii == 1 || iiii == 2)
{
d11 += d9 * 2D;
}
if (iiii == 2 || iiii == 3)
{
d12 += d9 * 2D;
}
double d13 = (x + 0.5D) - d10;
double d14 = (z + 0.5D) - d10;
if (iiii == 1 || iiii == 2)
{
d13 += d10 * 2D;
}
if (iiii == 2 || iiii == 3)
{
d14 += d10 * 2D;
}
tessellator.addVertex(d13 + d5, y + iii * 16, d14 + d6);
tessellator.addVertex(d11 + d7, y + (iii + 1) * 16, d12 + d8);
}
tessellator.draw();
}
}
}
GL11.glDisable(GL11.GL_BLEND);
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glEnable(GL11.GL_TEXTURE_2D);
}
@Override
protected ResourceLocation getEntityTexture(Entity entity)
{
return null;
}
}
@@ -0,0 +1,72 @@
package defense.client.render.entity;
import java.util.HashMap;
import net.minecraft.client.renderer.entity.Render;
import net.minecraft.entity.Entity;
import net.minecraft.util.ResourceLocation;
import org.lwjgl.opengl.GL11;
import cpw.mods.fml.client.FMLClientHandler;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import defense.api.IExplosive;
import defense.client.model.missile.ModelMissileBase;
import defense.common.entity.EntityMissile;
import defense.common.entity.EntityMissile.MissileType;
import defense.common.explosion.Explosion;
@SideOnly(Side.CLIENT)
/** @author Calclavia */
public class RenderMissile extends Render
{
public static final HashMap<Explosion, ModelMissileBase> cache = new HashMap<Explosion, ModelMissileBase>();
public RenderMissile(float f)
{
this.shadowSize = f;
}
@Override
public void doRender(Entity entity, double x, double y, double z, float f, float partial)
{
EntityMissile entityMissile = (EntityMissile) entity;
IExplosive e = entityMissile.getExplosiveType();
if (e instanceof Explosion)
{
Explosion missile = (Explosion) e;
GL11.glPushMatrix();
GL11.glTranslated(x + (entityMissile.motionX * partial), y + (entityMissile.motionY * partial), z + (entityMissile.motionZ * partial));
GL11.glRotatef(entityMissile.prevRotationYaw + (entityMissile.rotationYaw - entityMissile.prevRotationYaw) * partial - 90.0F, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(entityMissile.prevRotationPitch + (entityMissile.rotationPitch - entityMissile.prevRotationPitch) * partial + 90.0F, 0.0F, 0.0F, 1.0F);
if (entityMissile.missileType == MissileType.CruiseMissile)
{
GL11.glScalef(0.5f, 0.5f, 0.5f);
}
FMLClientHandler.instance().getClient().renderEngine.bindTexture(missile.getMissileResource());
synchronized (cache)
{
if (!RenderMissile.cache.containsKey(missile))
{
RenderMissile.cache.put(missile, missile.getMissileModel());
}
RenderMissile.cache.get(missile).render(0.0625F);
}
GL11.glPopMatrix();
}
}
@Override
protected ResourceLocation getEntityTexture(Entity entity)
{
return null;
}
}
@@ -0,0 +1,156 @@
package defense.client.render.item;
import mekanism.common.Tier.BaseTier;
import net.minecraft.client.renderer.RenderBlocks;
import net.minecraft.client.renderer.entity.RenderItem;
import net.minecraft.client.renderer.entity.RenderManager;
import net.minecraft.entity.item.EntityItem;
import net.minecraft.item.ItemStack;
import net.minecraftforge.client.IItemRenderer;
import org.lwjgl.opengl.GL11;
import cpw.mods.fml.client.FMLClientHandler;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import defense.client.render.tile.RenderCruiseLauncher;
import defense.client.render.tile.RenderEmpTower;
import defense.client.render.tile.RenderLauncherBase;
import defense.client.render.tile.RenderLauncherFrame;
import defense.client.render.tile.RenderLauncherScreen;
import defense.client.render.tile.RenderRadarStation;
import defense.common.block.BlockMachine.MachineData;
import defense.common.item.ItemBlockMachine;
@SideOnly(Side.CLIENT)
public class RenderItemMachine implements IItemRenderer
{
private final RenderItem renderItem = (RenderItem)RenderManager.instance.getEntityClassRenderObject(EntityItem.class);
@Override
public boolean handleRenderType(ItemStack item, ItemRenderType type)
{
return true;
}
@Override
public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper)
{
return true;
}
@Override
public void renderItem(ItemRenderType type, ItemStack item, Object... data)
{
RenderBlocks renderBlocks = (RenderBlocks)data[0];
int metadata = item.getItemDamage();
if(type == ItemRenderType.EQUIPPED || type == ItemRenderType.EQUIPPED_FIRST_PERSON)
{
GL11.glTranslatef(0.5F, 0.5F, 0.5F);
}
GL11.glPushMatrix();
GL11.glDisable(GL11.GL_CULL_FACE);
if (metadata == MachineData.LauncherBase.ordinal())
{
BaseTier tier = ((ItemBlockMachine)item.getItem()).getBaseTier(item);
GL11.glRotatef(180f, 0f, 0f, 1f);
GL11.glScalef(0.4f, 0.4f, 0.4f);
if (tier == BaseTier.BASIC)
{
FMLClientHandler.instance().getClient().renderEngine.bindTexture(RenderLauncherBase.TEXTURE_FILE_0);
RenderLauncherBase.modelBase0.render(0.0625F);
RenderLauncherBase.modelRail0.render(0.0625F);
}
else if (tier == BaseTier.ADVANCED)
{
FMLClientHandler.instance().getClient().renderEngine.bindTexture(RenderLauncherBase.TEXTURE_FILE_1);
RenderLauncherBase.modelBase1.render(0.0625F);
RenderLauncherBase.modelRail1.render(0.0625F);
GL11.glRotatef(180F, 0F, 180F, 1.0F);
RenderLauncherBase.modelRail1.render(0.0625F);
}
else if (tier == BaseTier.ELITE)
{
FMLClientHandler.instance().getClient().renderEngine.bindTexture(RenderLauncherBase.TEXTURE_FILE_2);
RenderLauncherBase.modelBase2.render(0.0625F);
RenderLauncherBase.modelRail2.render(0.0625F);
GL11.glRotatef(180F, 0F, 180F, 1.0F);
RenderLauncherBase.modelRail2.render(0.0625F);
}
}
else if (metadata == MachineData.LauncherScreen.ordinal())
{
BaseTier tier = ((ItemBlockMachine)item.getItem()).getBaseTier(item);
GL11.glTranslatef(0f, 0.9f, 0f);
GL11.glRotatef(180f, 0f, 0f, 1f);
GL11.glRotatef(180f, 0f, 180f, 1f);
if (tier == BaseTier.BASIC)
{
FMLClientHandler.instance().getClient().renderEngine.bindTexture(RenderLauncherScreen.TEXTURE_FILE_0);
RenderLauncherScreen.model0.render(0.0625F);
}
else if (tier == BaseTier.ADVANCED)
{
FMLClientHandler.instance().getClient().renderEngine.bindTexture(RenderLauncherScreen.TEXTURE_FILE_1);
RenderLauncherScreen.model1.render(0.0625F);
}
else if (tier == BaseTier.ELITE)
{
FMLClientHandler.instance().getClient().renderEngine.bindTexture(RenderLauncherScreen.TEXTURE_FILE_2);
RenderLauncherScreen.model2.render(0.0625F);
}
}
else if (metadata == MachineData.LauncherFrame.ordinal())
{
BaseTier tier = ((ItemBlockMachine)item.getItem()).getBaseTier(item);
GL11.glTranslatef(0f, -0.1f, 0f);
GL11.glRotatef(180f, 0f, 0f, 1f);
GL11.glScalef(0.8f, 0.4f, 0.8f);
FMLClientHandler.instance().getClient().renderEngine.bindTexture(RenderLauncherFrame.TEXTURE_FILE);
RenderLauncherFrame.MODEL.render(0.0625F);
}
else if (metadata == MachineData.RadarStation.ordinal())
{
GL11.glTranslatef(0f, 1f, 0f);
GL11.glRotatef(180f, 0f, 0f, 1f);
GL11.glRotatef(180f, 0, 1, 0);
FMLClientHandler.instance().getClient().renderEngine.bindTexture(RenderRadarStation.TEXTURE_FILE);
RenderRadarStation.MODEL.render(0.0625f, 0, 1.2f);
}
else if (metadata == MachineData.EmpTower.ordinal())
{
GL11.glTranslatef(0f, 0.3f, 0f);
GL11.glRotatef(180f, 0f, 0f, 1f);
GL11.glScalef(0.6f, 0.6f, 0.6f);
FMLClientHandler.instance().getClient().renderEngine.bindTexture(RenderEmpTower.TEXTURE_FILE);
RenderEmpTower.MODEL.render(0, 0.0625F);
}
else if (metadata == MachineData.CruiseLauncher.ordinal())
{
GL11.glTranslatef(0f, 0.4f, 0f);
GL11.glRotatef(180f, 0f, 0f, 1f);
GL11.glScalef(0.55f, 0.5f, 0.55f);
FMLClientHandler.instance().getClient().renderEngine.bindTexture(RenderCruiseLauncher.TEXTURE_FILE);
RenderCruiseLauncher.MODEL0.render(0.0625F);
RenderCruiseLauncher.MODEL1.render(0.0625F);
}
GL11.glEnable(GL11.GL_CULL_FACE);
GL11.glPopMatrix();
}
}
@@ -0,0 +1,99 @@
package defense.client.render.item;
import java.util.HashMap;
import net.minecraft.item.ItemStack;
import net.minecraftforge.client.IItemRenderer;
import org.lwjgl.opengl.GL11;
import cpw.mods.fml.client.FMLClientHandler;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import defense.client.model.missile.ModelMissileBase;
import defense.client.render.entity.RenderMissile;
import defense.common.explosion.Explosion;
import defense.common.explosive.ExplosiveRegistry;
import defense.common.item.ItemMissile;
@SideOnly(Side.CLIENT)
public class RenderItemMissile implements IItemRenderer
{
HashMap<Explosion, ModelMissileBase> cache = new HashMap<Explosion, ModelMissileBase>();
@Override
public boolean handleRenderType(ItemStack item, ItemRenderType type)
{
return this.shouldUseRenderHelper(type, item, null);
}
@Override
public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper)
{
return item.getItem() instanceof ItemMissile;
}
@Override
public void renderItem(ItemRenderType type, ItemStack item, Object... data)
{
if (this.shouldUseRenderHelper(type, item, null))
{
Explosion missile = (Explosion) ExplosiveRegistry.get(item.getItemDamage());
float scale = 0.7f;
float right = 0f;
if (type == ItemRenderType.INVENTORY)
{
scale = 0.4f;
right = 0.15f;
if (missile.getTier() == 2 || !missile.hasBlockForm())
{
scale = scale / 1.5f;
}
else if (missile.getTier() == 3)
{
scale = scale / 1.7f;
right = 0.5f;
}
else if (missile.getTier() == 4)
{
scale = scale / 1.4f;
right = 0.2f;
}
GL11.glTranslatef(right, 0f, 0f);
}
if (type == ItemRenderType.EQUIPPED_FIRST_PERSON || type == ItemRenderType.EQUIPPED)
{
GL11.glTranslatef(1.15f, 1f, 0.5f);
GL11.glRotatef(180, 0, 0, 1f);
}
else
{
GL11.glRotatef(-90, 0, 0, 1f);
}
if (type == ItemRenderType.ENTITY)
{
scale = scale / 1.5f;
}
GL11.glScalef(scale, scale, scale);
FMLClientHandler.instance().getClient().renderEngine.bindTexture(missile.getMissileResource());
synchronized (RenderMissile.cache)
{
if (!RenderMissile.cache.containsKey(missile))
{
RenderMissile.cache.put(missile, missile.getMissileModel());
}
RenderMissile.cache.get(missile).render(0.0625F);
}
}
}
}
@@ -0,0 +1,72 @@
package defense.client.render.item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.IItemRenderer;
import net.minecraftforge.client.model.AdvancedModelLoader;
import net.minecraftforge.client.model.IModelCustom;
import org.lwjgl.opengl.GL11;
import cpw.mods.fml.client.FMLClientHandler;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import defense.common.DefenseTechItems;
import defense.common.Reference;
@SideOnly(Side.CLIENT)
public class RenderRocketLauncher implements IItemRenderer
{
private static final ResourceLocation TEXTURE = new ResourceLocation(Reference.DOMAIN, Reference.MODEL_PREFIX + "rocketLauncher.png");
private static final IModelCustom MODEL = AdvancedModelLoader.loadModel(new ResourceLocation(Reference.DOMAIN, Reference.MODEL_PREFIX + "rocketLauncher.obj"));
@Override
public boolean handleRenderType(ItemStack item, ItemRenderType type)
{
return item.getItem() == DefenseTechItems.itemRocketLauncher;
}
@Override
public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper)
{
return item.getItem() == DefenseTechItems.itemRocketLauncher;
}
@Override
public void renderItem(ItemRenderType type, ItemStack item, Object... data)
{
GL11.glPushMatrix();
FMLClientHandler.instance().getClient().renderEngine.bindTexture(TEXTURE);
if (type == ItemRenderType.INVENTORY)
{
GL11.glTranslatef(-0.1f, 0.1f, 0f);
GL11.glRotatef(90, 0, 1, 0);
GL11.glScalef(0.75f, 0.75f, 0.75f);
}
else if (type == ItemRenderType.EQUIPPED)
{
GL11.glRotatef(-75, 1, 0, 0);
GL11.glRotatef(30, 0, 0, 1);
GL11.glRotatef(20, 0, 1, 0);
GL11.glTranslatef(0.2f, -0.8f, -0f);
GL11.glScalef(2, 2, 2);
}
else if (type == ItemRenderType.EQUIPPED_FIRST_PERSON)
{
GL11.glTranslatef(-0.4f, 0.5f, 1f);
GL11.glRotatef(-30, 0, 1, 0);
GL11.glRotatef(13, 1, 0, 0);
GL11.glScaled(1.8f, 1.8f, 1.8f);
}
else if (type == ItemRenderType.ENTITY)
{
GL11.glTranslatef(0, 0.3f, 0);
}
MODEL.renderAll();
GL11.glPopMatrix();
}
}
@@ -0,0 +1,109 @@
package defense.client.render.particle;
import mekanism.api.Pos3D;
import net.minecraft.client.particle.EntityFX;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.util.ResourceLocation;
import net.minecraft.world.World;
import org.lwjgl.opengl.GL11;
import cpw.mods.fml.client.FMLClientHandler;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import defense.client.render.RenderUtils;
import defense.common.Reference;
@SideOnly(Side.CLIENT)
public class FXAntimatterPartical extends EntityFX
{
public static final ResourceLocation TEXTURE = new ResourceLocation(Reference.DOMAIN, Reference.TEXTURE_PATH + "antimatter.png");
float antimatterParticleScale;
public FXAntimatterPartical(World par1World, Pos3D position, double par8, double par10, double par12, double distance)
{
this(par1World, position, par8, par10, par12, 1.0F, distance);
}
public FXAntimatterPartical(World par1World, Pos3D position, double par8, double par10, double par12, float par14, double distance)
{
super(par1World, position.xPos, position.yPos, position.zPos, 0.0D, 0.0D, 0.0D);
this.motionX *= 0.10000000149011612D;
this.motionY *= 0.10000000149011612D;
this.motionZ *= 0.10000000149011612D;
this.motionX += par8;
this.motionY += par10;
this.motionZ += par12;
this.particleRed = this.particleGreen = this.particleBlue = (float) (Math.random() * 0.30000001192092896D);
this.particleScale *= 0.75F;
this.particleScale *= par14;
this.antimatterParticleScale = this.particleScale;
this.particleMaxAge = (int) (10D / (Math.random() * 0.8D + 0.2D));
this.particleMaxAge = (int) (this.particleMaxAge * par14);
this.renderDistanceWeight = distance;
this.noClip = false;
}
@Override
public void renderParticle(Tessellator tessellator, float par2, float par3, float par4, float par5, float par6, float par7)
{
float agescale = 0.0F;
agescale = this.particleAge / (this.particleMaxAge / 2);
if (agescale > 1.0F)
agescale = 2.0F - agescale;
this.particleScale = (this.antimatterParticleScale * agescale);
tessellator.draw();
GL11.glPushMatrix();
GL11.glDepthMask(false);
GL11.glEnable(3042);
GL11.glBlendFunc(770, 1);
FMLClientHandler.instance().getClient().renderEngine.bindTexture(TEXTURE);
GL11.glColor4f(1.0F, 1.0F, 1.0F, 0.75F);
float f10 = 0.5F * this.particleScale;
float f11 = (float) (this.prevPosX + (this.posX - this.prevPosX) * par2 - interpPosX);
float f12 = (float) (this.prevPosY + (this.posY - this.prevPosY) * par2 - interpPosY);
float f13 = (float) (this.prevPosZ + (this.posZ - this.prevPosZ) * par2 - interpPosZ);
tessellator.startDrawingQuads();
tessellator.setBrightness(240);
tessellator.setColorRGBA_F(this.particleRed, this.particleGreen, this.particleBlue, 0.5F);
tessellator.addVertexWithUV(f11 - par3 * f10 - par5 * f10, f12 - par4 * f10, f13 - par5 * f10 - par7 * f10, 0.0D, 1.0D);
tessellator.addVertexWithUV(f11 - par3 * f10 + par5 * f10, f12 + par4 * f10, f13 - par5 * f10 + par7 * f10, 1.0D, 1.0D);
tessellator.addVertexWithUV(f11 + par3 * f10 + par5 * f10, f12 + par4 * f10, f13 + par5 * f10 + par7 * f10, 1.0D, 0.0D);
tessellator.addVertexWithUV(f11 + par3 * f10 - par5 * f10, f12 - par4 * f10, f13 + par5 * f10 - par7 * f10, 0.0D, 0.0D);
tessellator.draw();
GL11.glDisable(3042);
GL11.glDepthMask(true);
GL11.glPopMatrix();
FMLClientHandler.instance().getClient().renderEngine.bindTexture(RenderUtils.PARTICLE_RESOURCE);
tessellator.startDrawingQuads();
}
/** Called to update the entity's position/logic. */
@Override
public void onUpdate()
{
this.prevPosX = this.posX;
this.prevPosY = this.posY;
this.prevPosZ = this.posZ;
if (this.particleAge++ >= this.particleMaxAge)
{
this.setDead();
return;
}
}
}
@@ -0,0 +1,490 @@
package defense.client.render.particle;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Random;
import mekanism.api.Pos3D;
import net.minecraft.client.Minecraft;
import net.minecraft.client.particle.EntityFX;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.util.ResourceLocation;
import net.minecraft.world.World;
import org.lwjgl.opengl.GL11;
import cpw.mods.fml.client.FMLClientHandler;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import defense.client.render.RenderUtils;
import defense.common.Reference;
/** An effect that renders a electrical bolt from one position to another. Inspired by Azanor's
* lightning wand.
*
* @author Calclavia */
@SideOnly(Side.CLIENT)
public class FXElectricBolt extends EntityFX
{
private static final ResourceLocation TEXTURE = new ResourceLocation(Reference.DOMAIN, Reference.TEXTURE_PATH + "fadedSphere.png");
/** The width of the electrical bolt. */
private float boltWidth = 0.05f;
/** Electric Bolt's start and end positions; */
private Pos3D start;
private Pos3D end;
/** An array of the segments of the bolt. */
private ArrayList<BoltSegment> segments = new ArrayList<BoltSegment>();
private HashMap<Integer, Integer> splitparents = new HashMap<Integer, Integer>();
/** Determines how complex the bolt is. */
public float complexity;
/** The maximum length of the bolt */
public double length;
public int segmentCount;
private int maxSplitID = 0;
private Random rand;
/** Are the segments calculated? */
private boolean isCalculated;
public FXElectricBolt(World world, Pos3D startVec, Pos3D targetVec, long seed)
{
super(world, startVec.xPos, startVec.yPos, startVec.zPos, 0.0D, 0.0D, 0.0D);
if (seed == 0)
{
this.rand = new Random();
}
else
{
this.rand = new Random(seed);
}
this.start = startVec;
this.end = targetVec;
/** By default, we do an electrical color */
this.particleAge = (3 + this.rand.nextInt(3) - 1);
this.particleRed = 0.55f + (this.rand.nextFloat() * 0.1f);
this.particleGreen = 0.7f + (this.rand.nextFloat() * 0.1f);
this.particleBlue = 1f;
this.segmentCount = 1;
this.length = this.start.distance(this.end);
this.particleMaxAge = (3 + this.rand.nextInt(3) - 1);
this.complexity = 2f;
/** Calculate all required segments of the entire bolt. */
this.segments.add(new BoltSegment(this.start, this.end));
this.recalculateDifferences();
this.split(2, this.length * this.complexity / 8.0F, 0.7F, 0.1F, 45.0F);
this.split(2, this.length * this.complexity / 12.0F, 0.5F, 0.1F, 50.0F);
this.split(2, this.length * this.complexity / 17.0F, 0.5F, 0.1F, 55.0F);
this.split(2, this.length * this.complexity / 23.0F, 0.5F, 0.1F, 60.0F);
this.split(2, this.length * this.complexity / 30.0F, 0.0F, 0.0F, 0.0F);
this.split(2, this.length * this.complexity / 34.0F, 0.0F, 0.0F, 0.0F);
this.split(2, this.length * this.complexity / 40.0F, 0.0F, 0.0F, 0.0F);
this.finalizeBolt();
}
public FXElectricBolt setMultiplier(float m)
{
this.complexity = m;
return this;
}
public FXElectricBolt setWidth(float m)
{
this.boltWidth = m;
return this;
}
public FXElectricBolt setColor(float r, float g, float b)
{
this.particleRed = r;
this.particleGreen = g;
this.particleBlue = b;
return this;
}
/** Slits a large segment into multiple smaller ones.
*
* @param splitAmount - The amount of splits
* @param offset - The multiplier scale for the offset.
* @param splitChance - The chance of creating a split.
* @param splitLength - The length of each split.
* @param splitAngle - The angle of the split. */
public void split(int splitAmount, double offset, float splitChance, float splitLength, float splitAngle)
{
if (!this.isCalculated)
{
/** Temporarily store old segments in a new array */
ArrayList<BoltSegment> oldSegments = this.segments;
this.segments = new ArrayList();
/** Previous segment */
BoltSegment prev = null;
for (BoltSegment segment : oldSegments)
{
prev = segment.prevSegment;
Pos3D subSegment = segment.difference.clone().scale(1.0F / splitAmount);
/** Creates an array of new bolt points. The first and last points of the bolts are
* the respected start and end points of the current segment. */
BoltPoint[] newPoints = new BoltPoint[splitAmount + 1];
Pos3D startPoint = segment.startBolt.point;
newPoints[0] = segment.startBolt;
newPoints[splitAmount] = segment.endBolt;
for (int i = 1; i < splitAmount; i++)
{
Pos3D offsetVec = segment.difference.getPerpendicular().rotate(this.rand.nextFloat() * 360.0F, segment.difference).scale((this.rand.nextFloat() - 0.5F) * offset);
Pos3D basepoint = startPoint.clone().translate(subSegment.clone().scale(i));
newPoints[i] = new BoltPoint(basepoint, offsetVec);
}
for (int i = 0; i < splitAmount; i++)
{
BoltSegment next = new BoltSegment(newPoints[i], newPoints[(i + 1)], segment.weight, segment.segmentID * splitAmount + i, segment.splitID);
next.prevSegment = prev;
if (prev != null)
{
prev.nextSegment = next;
}
if ((i != 0) && (this.rand.nextFloat() < splitChance))
{
Pos3D splitrot = next.difference.xCrossProduct().rotate(this.rand.nextFloat() * 360.0F, next.difference);
Pos3D diff = next.difference.clone().rotate((this.rand.nextFloat() * 0.66F + 0.33F) * splitAngle, splitrot).scale(splitLength);
this.maxSplitID += 1;
this.splitparents.put(this.maxSplitID, next.splitID);
BoltSegment split = new BoltSegment(newPoints[i], new BoltPoint(newPoints[(i + 1)].basePoint, newPoints[(i + 1)].offSet.clone().translate(diff)), segment.weight / 2.0F, next.segmentID, this.maxSplitID);
split.prevSegment = prev;
this.segments.add(split);
}
prev = next;
this.segments.add(next);
}
if (segment.nextSegment != null)
{
segment.nextSegment.prevSegment = prev;
}
}
this.segmentCount *= splitAmount;
}
}
public void finalizeBolt()
{
if (!this.isCalculated)
{
this.isCalculated = true;
recalculateDifferences();
Collections.sort(this.segments, new Comparator()
{
public int compare(BoltSegment o1, BoltSegment o2)
{
return Float.compare(o2.weight, o1.weight);
}
@Override
public int compare(Object obj, Object obj1)
{
return compare((BoltSegment) obj, (BoltSegment) obj1);
}
});
}
}
private static Pos3D getRelativeViewVector(Pos3D pos)
{
EntityPlayer renderentity = Minecraft.getMinecraft().thePlayer;
return new Pos3D((float) renderentity.posX - pos.xPos, (float) renderentity.posY - pos.yPos, (float) renderentity.posZ - pos.zPos);
}
private void recalculateDifferences()
{
HashMap<Integer, Integer> lastActiveSegment = new HashMap<Integer, Integer>();
Collections.sort(this.segments, new Comparator()
{
public int compare(BoltSegment o1, BoltSegment o2)
{
int comp = Integer.valueOf(o1.splitID).compareTo(Integer.valueOf(o2.splitID));
if (comp == 0)
{
return Integer.valueOf(o1.segmentID).compareTo(Integer.valueOf(o2.segmentID));
}
return comp;
}
@Override
public int compare(Object obj, Object obj1)
{
return compare((BoltSegment) obj, (BoltSegment) obj1);
}
});
int lastSplitCalc = 0;
int lastActiveSeg = 0;
for (BoltSegment segment : this.segments)
{
if (segment != null)
{
if (segment.splitID > lastSplitCalc)
{
lastActiveSegment.put(lastSplitCalc, lastActiveSeg);
lastSplitCalc = segment.splitID;
lastActiveSeg = lastActiveSegment.get(this.splitparents.get(segment.splitID)).intValue();
}
lastActiveSeg = segment.segmentID;
}
}
lastActiveSegment.put(lastSplitCalc, lastActiveSeg);
lastSplitCalc = 0;
lastActiveSeg = lastActiveSegment.get(0).intValue();
BoltSegment segment;
for (Iterator<BoltSegment> iterator = this.segments.iterator(); iterator.hasNext(); segment.calculateEndDifferences())
{
segment = iterator.next();
if (lastSplitCalc != segment.splitID)
{
lastSplitCalc = segment.splitID;
lastActiveSeg = lastActiveSegment.get(segment.splitID);
}
if (segment.segmentID > lastActiveSeg)
{
iterator.remove();
}
}
}
/** Renders the bolts. */
private void renderBolt(Tessellator tessellator, float partialframe, float cosyaw, float cospitch, float sinyaw, float cossinpitch, int pass)
{
Pos3D playerVector = new Pos3D(sinyaw * -cospitch, -cossinpitch / cosyaw, cosyaw * cospitch);
float voltage = this.particleAge >= 0 ? ((float) this.particleAge / (float) this.particleMaxAge) : 0.0F;
float mainAlpha = 1.0F;
if (pass == 0)
{
mainAlpha = (1.0F - voltage) * 0.4F;
}
else
{
mainAlpha = 1.0F - voltage * 0.5F;
}
int renderlength = (int) ((this.particleAge + partialframe + (int) (this.length * 3.0F)) / (int) (this.length * 3.0F) * this.segmentCount);
for (BoltSegment renderSegment : this.segments)
{
if (renderSegment != null && renderSegment.segmentID <= renderlength)
{
float width = (float) (this.boltWidth * (getRelativeViewVector(renderSegment.startBolt.point).getMagnitude() / 5.0F + 1.0F) * (1.0F + renderSegment.weight) * 0.5F);
Pos3D diff1 = playerVector.crossProduct(renderSegment.prevDiff).scale(width / renderSegment.sinPrev);
Pos3D diff2 = playerVector.crossProduct(renderSegment.nextDiff).scale(width / renderSegment.sinNext);
Pos3D startvec = renderSegment.startBolt.point;
Pos3D endvec = renderSegment.endBolt.point;
float rx1 = (float) (startvec.xPos - interpPosX);
float ry1 = (float) (startvec.yPos - interpPosY);
float rz1 = (float) (startvec.zPos - interpPosZ);
float rx2 = (float) (endvec.xPos - interpPosX);
float ry2 = (float) (endvec.yPos - interpPosY);
float rz2 = (float) (endvec.zPos - interpPosZ);
tessellator.setColorRGBA_F(this.particleRed, this.particleGreen, this.particleBlue, mainAlpha * renderSegment.weight);
tessellator.addVertexWithUV(rx2 - diff2.xPos, ry2 - diff2.yPos, rz2 - diff2.zPos, 0.5D, 0.0D);
tessellator.addVertexWithUV(rx1 - diff1.xPos, ry1 - diff1.yPos, rz1 - diff1.zPos, 0.5D, 0.0D);
tessellator.addVertexWithUV(rx1 + diff1.xPos, ry1 + diff1.yPos, rz1 + diff1.zPos, 0.5D, 1.0D);
tessellator.addVertexWithUV(rx2 + diff2.xPos, ry2 + diff2.yPos, rz2 + diff2.zPos, 0.5D, 1.0D);
if (renderSegment.nextSegment == null)
{
Pos3D roundend = renderSegment.endBolt.point.clone().translate(renderSegment.difference.clone().normalize().scale(width));
float rx3 = (float) (roundend.xPos - interpPosX);
float ry3 = (float) (roundend.yPos - interpPosY);
float rz3 = (float) (roundend.zPos - interpPosZ);
tessellator.addVertexWithUV(rx3 - diff2.xPos, ry3 - diff2.yPos, rz3 - diff2.zPos, 0.0D, 0.0D);
tessellator.addVertexWithUV(rx2 - diff2.xPos, ry2 - diff2.yPos, rz2 - diff2.zPos, 0.5D, 0.0D);
tessellator.addVertexWithUV(rx2 + diff2.xPos, ry2 + diff2.yPos, rz2 + diff2.zPos, 0.5D, 1.0D);
tessellator.addVertexWithUV(rx3 + diff2.xPos, ry3 + diff2.yPos, rz3 + diff2.zPos, 0.0D, 1.0D);
}
if (renderSegment.prevSegment == null)
{
Pos3D roundend = renderSegment.startBolt.point.clone().diff(renderSegment.difference.clone().normalize().scale(width));
float rx3 = (float) (roundend.xPos - interpPosX);
float ry3 = (float) (roundend.yPos - interpPosY);
float rz3 = (float) (roundend.zPos - interpPosZ);
tessellator.addVertexWithUV(rx1 - diff1.xPos, ry1 - diff1.yPos, rz1 - diff1.zPos, 0.5D, 0.0D);
tessellator.addVertexWithUV(rx3 - diff1.xPos, ry3 - diff1.yPos, rz3 - diff1.zPos, 0.0D, 0.0D);
tessellator.addVertexWithUV(rx3 + diff1.xPos, ry3 + diff1.yPos, rz3 + diff1.zPos, 0.0D, 1.0D);
tessellator.addVertexWithUV(rx1 + diff1.xPos, ry1 + diff1.yPos, rz1 + diff1.zPos, 0.5D, 1.0D);
}
}
}
}
@Override
public void onUpdate()
{
this.prevPosX = this.posX;
this.prevPosY = this.posY;
this.prevPosZ = this.posZ;
if (this.particleAge++ >= this.particleMaxAge)
{
this.setDead();
}
}
@Override
public void renderParticle(Tessellator tessellator, float partialframe, float cosYaw, float cosPitch, float sinYaw, float sinSinPitch, float cosSinPitch)
{
EntityPlayer renderentity = Minecraft.getMinecraft().thePlayer;
int visibleDistance = 100;
if (!Minecraft.getMinecraft().gameSettings.fancyGraphics)
{
visibleDistance /= 2;
}
if (renderentity.getDistance(this.posX, this.posY, this.posZ) > visibleDistance)
{
return;
}
tessellator.draw();
GL11.glPushMatrix();
GL11.glDepthMask(false);
GL11.glEnable(3042);
FMLClientHandler.instance().getClient().renderEngine.bindTexture(TEXTURE);
/** Render the actual bolts. */
tessellator.startDrawingQuads();
tessellator.setBrightness(15728880);
this.renderBolt(tessellator, partialframe, cosYaw, cosPitch, sinYaw, cosSinPitch, 0);
tessellator.draw();
// GL11.glBlendFunc(770, 771);
tessellator.startDrawingQuads();
tessellator.setBrightness(15728880);
this.renderBolt(tessellator, partialframe, cosYaw, cosPitch, sinYaw, cosSinPitch, 1);
tessellator.draw();
GL11.glDisable(3042);
GL11.glDepthMask(true);
GL11.glPopMatrix();
FMLClientHandler.instance().getClient().renderEngine.bindTexture(RenderUtils.PARTICLE_RESOURCE);
tessellator.startDrawingQuads();
}
@Override
public boolean shouldRenderInPass(int pass)
{
return pass == 2;
}
public class BoltPoint
{
Pos3D point;
Pos3D basePoint;
Pos3D offSet;
public BoltPoint(Pos3D basePoint, Pos3D offSet)
{
this.point = basePoint.clone().translate(offSet);
this.basePoint = basePoint;
this.offSet = offSet;
}
}
public class BoltSegment
{
public BoltPoint startBolt;
public BoltPoint endBolt;
public Pos3D difference;
public BoltSegment prevSegment;
public BoltSegment nextSegment;
public Pos3D nextDiff;
public Pos3D prevDiff;
public float sinPrev;
public float sinNext;
/** The order of important */
public float weight;
public int segmentID;
public int splitID;
public BoltSegment(BoltPoint startBolt, BoltPoint endBolt, float weight, int segmentID, int splitID)
{
this.startBolt = startBolt;
this.endBolt = endBolt;
this.weight = weight;
this.segmentID = segmentID;
this.splitID = splitID;
this.calculateDifference();
}
public BoltSegment(Pos3D start, Pos3D end)
{
this(new BoltPoint(start, new Pos3D(0.0D, 0.0D, 0.0D)), new BoltPoint(end, new Pos3D(0.0D, 0.0D, 0.0D)), 1.0F, 0, 0);
}
public void calculateDifference()
{
this.difference = this.endBolt.point.clone().diff(this.startBolt.point);
}
public void calculateEndDifferences()
{
if (this.prevSegment != null)
{
Pos3D prevdiffnorm = this.prevSegment.difference.clone().normalize();
Pos3D thisdiffnorm = this.difference.clone().normalize();
this.prevDiff = thisdiffnorm.translate(prevdiffnorm).normalize();
this.sinPrev = ((float) Math.sin(Pos3D.anglePreNorm(thisdiffnorm, prevdiffnorm.scale(-1.0F)) / 2.0F));
}
else
{
this.prevDiff = this.difference.clone().normalize();
this.sinPrev = 1.0F;
}
if (this.nextSegment != null)
{
Pos3D nextdiffnorm = this.nextSegment.difference.clone().normalize();
Pos3D thisdiffnorm = this.difference.clone().normalize();
this.nextDiff = thisdiffnorm.translate(nextdiffnorm).normalize();
this.sinNext = ((float) Math.sin(Pos3D.anglePreNorm(thisdiffnorm, nextdiffnorm.scale(-1.0F)) / 2.0F));
}
else
{
this.nextDiff = this.difference.clone().normalize();
this.sinNext = 1.0F;
}
}
@Override
public String toString()
{
return this.startBolt.point.toString() + " " + this.endBolt.point.toString();
}
}
}
@@ -0,0 +1,44 @@
package defense.client.render.particle;
import java.util.Random;
import mekanism.api.Pos3D;
import net.minecraft.client.Minecraft;
import net.minecraft.client.particle.EntityFX;
import net.minecraft.world.World;
/** A spawner used to spawn in multiple electrical bolts for a specific duration. */
public class FXElectricBoltSpawner extends EntityFX
{
private Pos3D start;
private Pos3D end;
public FXElectricBoltSpawner(World world, Pos3D startVec, Pos3D targetVec, long seed, int duration)
{
super(world, startVec.xPos, startVec.yPos, startVec.zPos, 0.0D, 0.0D, 0.0D);
if (seed == 0)
{
this.rand = new Random();
}
else
{
this.rand = new Random(seed);
}
this.start = startVec;
this.end = targetVec;
this.particleMaxAge = duration;
}
@Override
public void onUpdate()
{
Minecraft.getMinecraft().effectRenderer.addEffect(new FXElectricBolt(this.worldObj, this.start, this.end, 0));
if (this.particleAge++ >= this.particleMaxAge)
{
this.setDead();
}
}
}
@@ -0,0 +1,29 @@
package defense.client.render.particle;
import mekanism.api.Pos3D;
import net.minecraft.client.particle.EntityPortalFX;
import net.minecraft.world.World;
import cpw.mods.fml.common.FMLLog;
import cpw.mods.fml.relauncher.ReflectionHelper;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@SideOnly(Side.CLIENT)
public class FXEnderPortalPartical extends EntityPortalFX
{
public FXEnderPortalPartical(World par1World, Pos3D position, float red, float green, float blue, float scale, double distance)
{
super(par1World, position.xPos, position.yPos, position.zPos, 0, 0, 0);
this.particleScale = scale;
try
{
ReflectionHelper.setPrivateValue(EntityPortalFX.class, this, this.particleScale, 0);
}
catch (Exception e)
{
FMLLog.warning("Failed to correctly spawn portal effects.");
}
this.renderDistanceWeight = distance;
}
}
@@ -0,0 +1,73 @@
package defense.client.render.particle;
import mekanism.api.Pos3D;
import net.minecraft.client.particle.EntityFX;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.world.World;
import org.lwjgl.opengl.GL11;
import org.lwjgl.util.glu.Sphere;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import defense.client.render.RenderUtils;
@SideOnly(Side.CLIENT)
public class FXShockWave extends EntityFX
{
public FXShockWave(World par1World, Pos3D position, float par8, float par10, float par12, double distance)
{
this(par1World, position, par8, par10, par12, 1.0F, distance);
}
public FXShockWave(World par1World, Pos3D position, float r, float g, float b, float size, double distance)
{
super(par1World, position.xPos, position.yPos, position.zPos, 0.0D, 0.0D, 0.0D);
this.particleRed = r;
this.particleGreen = g;
this.particleBlue = b;
this.particleScale = size;
this.particleMaxAge = (int) (10D / (Math.random() * 0.8D + 0.2D));
this.particleMaxAge = (int) (this.particleMaxAge * size);
this.renderDistanceWeight = distance;
this.noClip = false;
}
@Override
public void renderParticle(Tessellator tessellator, float par2, float par3, float par4, float par5, float par6, float par7)
{
GL11.glPushMatrix();
GL11.glTranslated(this.posX, this.posY, this.posZ);
RenderUtils.enableBlending();
RenderUtils.disableLighting();
GL11.glColor4f(this.particleRed / 255, this.particleGreen / 255, this.particleBlue / 255, 0.5f);
Sphere sphere = new Sphere();
sphere.draw(this.particleScale, 32, 32);
// Enable Lighting/Glow Off
RenderUtils.enableLighting();
// Disable Blending
RenderUtils.disableBlending();
GL11.glPopMatrix();
}
/** Called to update the entity's position/logic. */
@Override
public void onUpdate()
{
this.prevPosX = this.posX;
this.prevPosY = this.posY;
this.prevPosZ = this.posZ;
this.particleScale++;
if (this.particleAge++ >= this.particleMaxAge)
{
this.setDead();
return;
}
}
}
@@ -0,0 +1,31 @@
package defense.client.render.particle;
import mekanism.api.Pos3D;
import net.minecraft.client.particle.EntitySmokeFX;
import net.minecraft.world.World;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@SideOnly(Side.CLIENT)
public class FXSmoke extends EntitySmokeFX
{
public FXSmoke(World par1World, Pos3D position, float red, float green, float blue, float scale, double distance)
{
super(par1World, position.xPos, position.yPos, position.zPos, 0, 0, 0, scale);
this.renderDistanceWeight = distance;
this.particleRed = red;
this.particleBlue = blue;
this.particleGreen = green;
float colorVarient = (float) (Math.random() * 0.90000001192092896D);
this.particleRed *= colorVarient;
this.particleBlue *= colorVarient;
this.particleGreen *= colorVarient;
}
public FXSmoke setAge(int age)
{
this.particleMaxAge = age;
return this;
}
}
@@ -0,0 +1,109 @@
package defense.client.render.tile;
import net.minecraft.block.Block;
import net.minecraft.client.renderer.RenderBlocks;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.ResourceLocation;
import net.minecraft.world.IBlockAccess;
import org.lwjgl.opengl.GL11;
import cpw.mods.fml.client.FMLClientHandler;
import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
import cpw.mods.fml.client.registry.RenderingRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import defense.client.model.tile.ModelSMine;
import defense.client.render.RenderUtils;
import defense.common.DefenseTech;
import defense.common.Reference;
import defense.common.explosive.Explosive;
import defense.common.explosive.ExplosiveRegistry;
import defense.common.tile.TileExplosive;
@SideOnly(Side.CLIENT)
public class RenderBombBlock extends TileEntitySpecialRenderer implements ISimpleBlockRenderingHandler
{
public static final ResourceLocation TEXTURE_FILE = new ResourceLocation(Reference.DOMAIN, Reference.MODEL_TEXTURE_PATH + "s-mine.png");
public static final int ID = RenderingRegistry.getNextAvailableRenderId();
@Override
public void renderInventoryBlock(Block block, int metadata, int modelID, RenderBlocks renderer)
{
if(modelID == ID)
{
if(metadata == Explosive.sMine.getID())
{
GL11.glPushMatrix();
GL11.glTranslatef(0.0F, 1.5F, 0.0F);
GL11.glRotatef(180f, 0f, 0f, 1f);
FMLClientHandler.instance().getClient().renderEngine.bindTexture(TEXTURE_FILE);
ModelSMine.INSTANCE.render(0.0625F);
GL11.glPopMatrix();
}
else {
try {
RenderUtils.renderNormalBlockAsItem(block, metadata, renderer);
} catch(Exception e) {
DefenseTech.LOGGER.severe("Explosive Rendering Crash with: " + block + " and metadata: " + metadata);
e.printStackTrace();
}
}
}
}
@Override
public boolean renderWorldBlock(IBlockAccess iBlockAccess, int x, int y, int z, Block block, int modelID, RenderBlocks renderer)
{
if(modelID == ID)
{
TileEntity tileEntity = iBlockAccess.getTileEntity(x, y, z);
if(tileEntity instanceof TileExplosive)
{
Explosive explosive = ExplosiveRegistry.get(((TileExplosive) tileEntity).explosiveID);
if(!(explosive.getBlockModel() != null && explosive.getBlockResource() != null))
{
renderer.renderStandardBlock(block, x, y, z);
return true;
}
}
}
return false;
}
@Override
public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f)
{
if(tileEntity instanceof TileExplosive)
{
Explosive explosive = ExplosiveRegistry.get(((TileExplosive)tileEntity).explosiveID);
if(explosive != null && explosive.getBlockModel() != null && explosive.getBlockResource() != null)
{
GL11.glPushMatrix();
GL11.glTranslated(x + 0.5f, y + 1.5f, z + 0.5f);
GL11.glRotatef(180f, 0f, 0f, 1f);
FMLClientHandler.instance().getClient().renderEngine.bindTexture(explosive.getBlockResource());
explosive.getBlockModel().render(0.0625f);
RenderUtils.setTerrainTexture();
GL11.glPopMatrix();
}
}
}
@Override
public boolean shouldRender3DInInventory(int modelId)
{
return true;
}
@Override
public int getRenderId()
{
return ID;
}
}
@@ -0,0 +1,42 @@
package defense.client.render.tile;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.ResourceLocation;
import org.lwjgl.opengl.GL11;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import defense.client.model.tile.ModelCruiseLauncherBase;
import defense.client.model.tile.ModelCruiseLauncherTurret;
import defense.common.Reference;
import defense.common.tile.TileCruiseLauncher;
@SideOnly(Side.CLIENT)
public class RenderCruiseLauncher extends TileEntitySpecialRenderer
{
public static final ResourceLocation TEXTURE_FILE = new ResourceLocation(Reference.DOMAIN, Reference.MODEL_TEXTURE_PATH + "cruise_launcher.png");
public static final ModelCruiseLauncherBase MODEL0 = new ModelCruiseLauncherBase();
public static final ModelCruiseLauncherTurret MODEL1 = new ModelCruiseLauncherTurret();
public void renderModelAt(TileCruiseLauncher tileEntity, double d, double d1, double d2, float f)
{
GL11.glPushMatrix();
GL11.glTranslatef((float) d + 0.5F, (float) d1 + 1.5F, (float) d2 + 0.5F);
this.bindTexture(TEXTURE_FILE);
GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F);
MODEL0.render(0.0625F);
GL11.glRotatef(tileEntity.rotationYaw + 90, 0F, 1F, 0F);
GL11.glRotatef(-tileEntity.rotationPitch, 1F, 0F, 0F);
MODEL1.render(0.0625F);
GL11.glPopMatrix();
}
@Override
public void renderTileEntityAt(TileEntity tileentity, double d, double d1, double d2, float f)
{
renderModelAt((TileCruiseLauncher) tileentity, d, d1, d2, f);
}
}
@@ -0,0 +1,33 @@
package defense.client.render.tile;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.ResourceLocation;
import org.lwjgl.opengl.GL11;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import defense.client.model.tile.ModelEmpTower;
import defense.common.Reference;
import defense.common.tile.TileEMPTower;
@SideOnly(Side.CLIENT)
public class RenderEmpTower extends TileEntitySpecialRenderer
{
public static final ResourceLocation TEXTURE_FILE = new ResourceLocation(Reference.DOMAIN, Reference.MODEL_TEXTURE_PATH + "emp_tower.png");
public static final ModelEmpTower MODEL = new ModelEmpTower();
@Override
public void renderTileEntityAt(TileEntity t, double x, double y, double z, float f)
{
TileEMPTower tileEntity = (TileEMPTower) t;
GL11.glPushMatrix();
GL11.glTranslatef((float) x + 0.5F, (float) y + 1.5F, (float) z + 0.5F);
this.bindTexture(TEXTURE_FILE);
GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F);
MODEL.render(tileEntity.rotation, 0.0625F);
GL11.glPopMatrix();
}
}
@@ -0,0 +1,82 @@
package defense.client.render.tile;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.common.util.ForgeDirection;
import org.lwjgl.opengl.GL11;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import defense.client.model.tile.ModelLauncherBaseT1;
import defense.client.model.tile.ModelLauncherBaseT2;
import defense.client.model.tile.ModelLauncherBaseT3;
import defense.client.model.tile.ModelLauncherRailT1;
import defense.client.model.tile.ModelLauncherRailT2;
import defense.client.model.tile.ModelLauncherRailT3;
import defense.common.Reference;
import defense.common.tile.TileLauncherBase;
@SideOnly(Side.CLIENT)
public class RenderLauncherBase extends TileEntitySpecialRenderer
{
public static final ResourceLocation TEXTURE_FILE_0 = new ResourceLocation(Reference.DOMAIN, Reference.MODEL_TEXTURE_PATH + "launcher_0.png");
public static final ResourceLocation TEXTURE_FILE_1 = new ResourceLocation(Reference.DOMAIN, Reference.MODEL_TEXTURE_PATH + "launcher_1.png");
public static final ResourceLocation TEXTURE_FILE_2 = new ResourceLocation(Reference.DOMAIN, Reference.MODEL_TEXTURE_PATH + "launcher_2.png");
public static final ModelLauncherBaseT1 modelBase0 = new ModelLauncherBaseT1();
public static final ModelLauncherRailT1 modelRail0 = new ModelLauncherRailT1();
public static final ModelLauncherBaseT2 modelBase1 = new ModelLauncherBaseT2();
public static final ModelLauncherRailT2 modelRail1 = new ModelLauncherRailT2();
public static final ModelLauncherBaseT3 modelBase2 = new ModelLauncherBaseT3();
public static final ModelLauncherRailT3 modelRail2 = new ModelLauncherRailT3();
@Override
public void renderTileEntityAt(TileEntity tileentity, double x, double y, double z, float f)
{
TileLauncherBase tileEntity = (TileLauncherBase) tileentity;
GL11.glPushMatrix();
GL11.glTranslatef((float) x + 0.5F, (float) y + 1.5F, (float) z + 0.5F);
GL11.glDisable(GL11.GL_CULL_FACE);
GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F);
ForgeDirection side = ForgeDirection.getOrientation(tileEntity.facing);
if (side != ForgeDirection.NORTH && side != ForgeDirection.SOUTH)
{
GL11.glRotatef(90F, 0F, 180F, 1.0F);
}
// The missile launcher screen
if (tileEntity.getTier() == 0)
{
this.bindTexture(TEXTURE_FILE_0);
modelBase0.render(0.0625F);
modelRail0.render(0.0625F);
}
else if (tileEntity.getTier() == 1)
{
this.bindTexture(TEXTURE_FILE_1);
modelBase1.render(0.0625F);
modelRail1.render(0.0625F);
GL11.glRotatef(180F, 0F, 180F, 1.0F);
modelRail1.render(0.0625F);
}
else if (tileEntity.getTier() == 2)
{
this.bindTexture(TEXTURE_FILE_2);
modelBase2.render(0.0625F);
modelRail2.render(0.0625F);
GL11.glRotatef(180F, 0F, 180F, 1.0F);
modelRail2.render(0.0625F);
}
GL11.glEnable(GL11.GL_CULL_FACE);
GL11.glPopMatrix();
}
}
@@ -0,0 +1,51 @@
package defense.client.render.tile;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.common.util.ForgeDirection;
import org.lwjgl.opengl.GL11;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import defense.client.model.tile.ModelLauncherFrame;
import defense.common.Reference;
import defense.common.tile.TileLauncherFrame;
@SideOnly(Side.CLIENT)
public class RenderLauncherFrame extends TileEntitySpecialRenderer
{
public static final ModelLauncherFrame MODEL = new ModelLauncherFrame();
public static final ResourceLocation TEXTURE_FILE = new ResourceLocation(Reference.DOMAIN, Reference.MODEL_TEXTURE_PATH + "launcher_0.png");
@Override
public void renderTileEntityAt(TileEntity var1, double x, double y, double z, float var8)
{
TileLauncherFrame tileEntity = (TileLauncherFrame) var1;
if (tileEntity != null && tileEntity.getWorldObj() != null)
{
GL11.glPushMatrix();
GL11.glTranslatef((float) x + 0.5F, (float) y + 1.25F, (float) z + 0.5F);
GL11.glScalef(1f, 0.85f, 1f);
GL11.glDisable(GL11.GL_CULL_FACE);
this.bindTexture(TEXTURE_FILE);
GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F);
ForgeDirection side = ForgeDirection.getOrientation(tileEntity.facing);
if (side != ForgeDirection.NORTH && side != ForgeDirection.SOUTH)
{
GL11.glRotatef(90F, 0.0F, 180F, 1.0F);
}
MODEL.render(0.0625F);
GL11.glEnable(GL11.GL_CULL_FACE);
GL11.glPopMatrix();
}
}
}
Loaded 100 of 424 files, more files were not shown because too many files have changed in this diff. Show more