launch pads yeah

This commit is contained in:
Bob 2024-02-11 19:46:04 +01:00
parent 330ca6bc86
commit 2c6d5f9fde
62 changed files with 8444 additions and 9454 deletions

View File

@ -18,7 +18,7 @@
* Several guns now have reload animations including most .357 revolvers and Samuel
* Updated stealth missile texture
* Some of the larger oil machines now render using display lists which should make them somewhat more performant
* Glyphid diggers can no longer yeet multiblocks or blocks with tile entity
* Glyphid diggers can no longer yeet multiblocks or blocks with a tile entity
* Parasite-infested glyphids now explode into gore when the parasites pop out
* Missiles now have a top acceleration twice as much as the previous acceleration, but instead of being static, the acceleration goes up from 0 to max within 3 seconds
* This makes missiles reach top speed faster while also making the launches themselves slower and more pleasant
@ -33,6 +33,8 @@
* Corroded barrels now crumble after a while
* PWRs on the edge of unloaded chunks now additionally reset their internal heat value to further reduce the time until they can potentially melt down
* Removed the assembly recipe for the radial engine since it will be retired soon
* Removed the endo and exothermal missiles
* Doomsday missiles are no longer laggy cluster missiles, instead they are now near-identical to thermonuclear missiles but with an added fallout radius of 100
## Fixed
* Fixed dupe caused by shift-clicking ashes out of the bricked furnace

View File

@ -1037,11 +1037,11 @@ public class ModBlocks {
public static Block machine_orbus;
public static Block launch_pad;
public static Block launch_pad_large;
public static Block machine_missile_assembly;
public static Block compact_launcher;
public static Block launch_table;
public static Block soyuz_launcher;
@ -2144,6 +2144,7 @@ public class ModBlocks {
tesla = new MachineTesla(Material.iron).setBlockName("tesla").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":tesla");
launch_pad = new LaunchPad(Material.iron).setBlockName("launch_pad").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.missileTab).setBlockTextureName(RefStrings.MODID + ":launch_pad");
launch_pad_large = new LaunchPadLarge(Material.iron).setBlockName("launch_pad_large").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.missileTab).setBlockTextureName(RefStrings.MODID + ":concrete_smooth");
machine_radar = new MachineRadar(Material.iron).setBlockName("machine_radar").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.missileTab).setBlockTextureName(RefStrings.MODID + ":machine_radar");
machine_radar_large = new MachineRadarLarge(Material.iron).setBlockName("machine_radar_large").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.missileTab).setBlockTextureName(RefStrings.MODID + ":block_steel");
radar_screen = new MachineRadarScreen(Material.iron).setBlockName("radar_screen").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.missileTab).setBlockTextureName(RefStrings.MODID + ":block_steel");
@ -3481,6 +3482,7 @@ public class ModBlocks {
//Missile Blocks
GameRegistry.registerBlock(machine_missile_assembly, machine_missile_assembly.getUnlocalizedName());
GameRegistry.registerBlock(launch_pad, launch_pad.getUnlocalizedName());
GameRegistry.registerBlock(launch_pad_large, launch_pad_large.getUnlocalizedName());
GameRegistry.registerBlock(compact_launcher, compact_launcher.getUnlocalizedName());
GameRegistry.registerBlock(launch_table, launch_table.getUnlocalizedName());
GameRegistry.registerBlock(soyuz_launcher, soyuz_launcher.getUnlocalizedName());

View File

@ -0,0 +1,37 @@
package com.hbm.blocks.bomb;
import com.hbm.blocks.BlockDummyable;
import com.hbm.tileentity.bomb.TileEntityLaunchPadLarge;
import net.minecraft.block.material.Material;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
public class LaunchPadLarge extends BlockDummyable {
public LaunchPadLarge(Material mat) {
super(mat);
}
@Override
public TileEntity createNewTileEntity(World world, int meta) {
if(meta >= 12) return new TileEntityLaunchPadLarge();
return null;
}
@Override
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) {
return this.standardOpenBehavior(world, x, y, z, player, 0);
}
@Override
public int[] getDimensions() {
return new int[] {0, 0, 4, 4, 4, 4};
}
@Override
public int getOffset() {
return 4;
}
}

View File

@ -71,8 +71,6 @@ public class EntityMappings {
addEntity(EntityMissileInferno.class, "entity_missile_inferno", 1000);
addEntity(EntityMissileRain.class, "entity_missile_rain", 1000);
addEntity(EntityMissileDrill.class, "entity_missile_drill", 1000);
addEntity(EntityMissileEndo.class, "entity_missile_endo", 1000);
addEntity(EntityMissileExo.class, "entity_missile_exo", 1000);
addEntity(EntityMissileMirv.class, "entity_missile_mirv", 1000);
addEntity(EntityMIRV.class, "entity_mirvlet", 1000);
addEntity(EntitySmokeFX.class, "entity_smoke_fx", 1000);
@ -111,8 +109,6 @@ public class EntityMappings {
addEntity(EntityMinecartTest.class, "entity_minecart_test", 1000);
addEntity(EntitySparkBeam.class, "entity_spark_beam", 1000);
addEntity(EntityMissileDoomsday.class, "entity_missile_doomsday", 1000);
addEntity(EntityBombletTheta.class, "entity_theta", 1000);
addEntity(EntityBombletSelena.class, "entity_selena", 1000);
addEntity(EntityTSmokeFX.class, "entity_t_smoke_fx", 1000);
addEntity(EntityNukeExplosionMK3.class, "entity_nuke_mk3", 1000);
addEntity(EntityVortex.class, "entity_vortex", 250);

View File

@ -1,95 +0,0 @@
package com.hbm.entity.missile;
import com.hbm.explosion.ExplosionChaos;
import com.hbm.explosion.ExplosionLarge;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.entity.projectile.EntityThrowable;
import net.minecraft.init.Blocks;
import net.minecraft.util.MathHelper;
import net.minecraft.util.MovingObjectPosition;
import net.minecraft.util.Vec3;
import net.minecraft.world.World;
public class EntityBombletSelena extends EntityThrowable {
double decelY = 0.1D;
double accelXZ = 0.1D;
public EntityBombletSelena(World p_i1582_1_) {
super(p_i1582_1_);
this.ignoreFrustumCheck = true;
}
@Override
public void onUpdate() {
this.prevPosX = this.posX;
this.prevPosY = this.posY;
this.prevPosZ = this.posZ;
this.posX += this.motionX;
this.posY += this.motionY;
this.posZ += this.motionZ;
Vec3 vector = Vec3.createVectorHelper(motionX, 0, motionZ);
vector = vector.normalize();
vector.xCoord *= accelXZ;
vector.zCoord *= accelXZ;
this.motionY -= decelY;
this.motionX -= vector.xCoord;
this.motionZ -= vector.zCoord;
this.rotation();
if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air)
{
if(!this.worldObj.isRemote)
{
ExplosionLarge.explodeFire(worldObj, this.posX + 0.5F, this.posY + 0.5F, this.posZ + 0.5F, 20.0F, true, true, true);
ExplosionChaos.flameDeath(this.worldObj, (int)((float)this.posX + 0.5F), (int)((float)this.posY + 0.5F), (int)((float)this.posZ + 0.5F), 25);
}
this.setDead();
}
//if(!this.worldObj.isRemote)
// this.worldObj.spawnEntityInWorld(new EntityOilSpillFX(this.worldObj, this.posX, this.posY, this.posZ, 0.0, 0.0, 0.0));
}
protected void rotation() {
float f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ);
this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI);
for (this.rotationPitch = (float)(Math.atan2(this.motionY, f2) * 180.0D / Math.PI) - 90; this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F)
{
;
}
while (this.rotationPitch - this.prevRotationPitch >= 180.0F)
{
this.prevRotationPitch += 360.0F;
}
while (this.rotationYaw - this.prevRotationYaw < -180.0F)
{
this.prevRotationYaw -= 360.0F;
}
while (this.rotationYaw - this.prevRotationYaw >= 180.0F)
{
this.prevRotationYaw += 360.0F;
}
}
@Override
protected void onImpact(MovingObjectPosition p_70184_1_) {
}
@Override
@SideOnly(Side.CLIENT)
public boolean isInRangeToRenderDist(double distance)
{
return distance < 25000;
}
}

View File

@ -1,107 +0,0 @@
package com.hbm.entity.missile;
import com.hbm.entity.particle.EntitySSmokeFX;
import com.hbm.explosion.ExplosionLarge;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.entity.projectile.EntityThrowable;
import net.minecraft.init.Blocks;
import net.minecraft.util.MathHelper;
import net.minecraft.util.MovingObjectPosition;
import net.minecraft.util.Vec3;
import net.minecraft.world.World;
public class EntityBombletTheta extends EntityThrowable {
double decelY = 0.1D;
double accelXZ = 0.1D;
public EntityBombletTheta(World p_i1582_1_) {
super(p_i1582_1_);
this.ignoreFrustumCheck = true;
}
@Override
public void onUpdate() {
this.prevPosX = this.posX;
this.prevPosY = this.posY;
this.prevPosZ = this.posZ;
this.posX += this.motionX;
this.posY += this.motionY;
this.posZ += this.motionZ;
Vec3 vector = Vec3.createVectorHelper(motionX, 0, motionZ);
vector = vector.normalize();
vector.xCoord *= accelXZ;
vector.zCoord *= accelXZ;
this.motionY -= decelY;
this.motionX -= vector.xCoord;
this.motionZ -= vector.zCoord;
if(motionY < -0.75D && !worldObj.isRemote && rand.nextInt(10) == 0) {
EntityBombletSelena selena = new EntityBombletSelena(worldObj);
selena.posX = this.posX;
selena.posY = this.posY;
selena.posZ = this.posZ;
selena.motionX = rand.nextGaussian();
selena.motionY = rand.nextGaussian();
selena.motionZ = rand.nextGaussian();
selena.decelY = this.decelY;
selena.accelXZ = this.accelXZ;
worldObj.spawnEntityInWorld(selena);
}
this.rotation();
if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air)
{
if(!this.worldObj.isRemote)
{
ExplosionLarge.explodeFire(worldObj, this.posX + 0.5F, this.posY + 0.5F, this.posZ + 0.5F, 50.0F, true, true, true);
}
this.setDead();
}
if(!this.worldObj.isRemote)
this.worldObj.spawnEntityInWorld(new EntitySSmokeFX(this.worldObj, this.posX, this.posY, this.posZ, 0.0, 0.0, 0.0));
}
protected void rotation() {
float f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ);
this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI);
for (this.rotationPitch = (float)(Math.atan2(this.motionY, f2) * 180.0D / Math.PI) - 90; this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F)
{
;
}
while (this.rotationPitch - this.prevRotationPitch >= 180.0F)
{
this.prevRotationPitch += 360.0F;
}
while (this.rotationYaw - this.prevRotationYaw < -180.0F)
{
this.prevRotationYaw -= 360.0F;
}
while (this.rotationYaw - this.prevRotationYaw >= 180.0F)
{
this.prevRotationYaw += 360.0F;
}
}
@Override
protected void onImpact(MovingObjectPosition p_70184_1_) {
}
@Override
@SideOnly(Side.CLIENT)
public boolean isInRangeToRenderDist(double distance)
{
return distance < 25000;
}
}

View File

@ -13,6 +13,7 @@ import com.hbm.explosion.vanillant.standard.BlockProcessorStandard;
import com.hbm.explosion.vanillant.standard.EntityProcessorCross;
import com.hbm.explosion.vanillant.standard.ExplosionEffectStandard;
import com.hbm.explosion.vanillant.standard.PlayerProcessorStandard;
import com.hbm.items.weapon.ItemMissile;
import com.hbm.main.MainRegistry;
import com.hbm.util.TrackerUtil;
@ -75,6 +76,9 @@ public abstract class EntityMissileBaseNT extends EntityThrowableInterp implemen
this.setSize(1.5F, 1.5F);
}
/** Auto-generates radar blip level and all that from the item */
public abstract ItemStack getMissileItemForInfo();
@Override
public boolean canBeSeenBy(Object radar) {
return true;
@ -346,4 +350,40 @@ public abstract class EntityMissileBaseNT extends EntityThrowableInterp implemen
if(largeSmoke) ExplosionLarge.spawnParticles(worldObj, posX, posY, posZ, ExplosionLarge.cloudFunction((int) strength));
xnt.explode();
}
@Override
public String getUnlocalizedName() {
ItemStack item = this.getMissileItemForInfo();
if(item != null && item.getItem() instanceof ItemMissile) {
ItemMissile missile = (ItemMissile) item.getItem();
switch(missile.tier) {
case TIER0: return "radar.target.tier0";
case TIER1: return "radar.target.tier1";
case TIER2: return "radar.target.tier2";
case TIER3: return "radar.target.tier3";
case TIER4: return "radar.target.tier4";
default: return "Unknown";
}
}
return "Unknown";
}
@Override
public int getBlipLevel() {
ItemStack item = this.getMissileItemForInfo();
if(item != null && item.getItem() instanceof ItemMissile) {
ItemMissile missile = (ItemMissile) item.getItem();
switch(missile.tier) {
case TIER0: return IRadarDetectableNT.TIER0;
case TIER1: return IRadarDetectableNT.TIER1;
case TIER2: return IRadarDetectableNT.TIER2;
case TIER3: return IRadarDetectableNT.TIER3;
case TIER4: return IRadarDetectableNT.TIER4;
default: return IRadarDetectableNT.SPECIAL;
}
}
return IRadarDetectableNT.SPECIAL;
}
}

View File

@ -14,13 +14,13 @@ import com.hbm.explosion.ExplosionChaos;
import com.hbm.explosion.ExplosionLarge;
import com.hbm.handler.BulletConfigSyncingUtil;
import com.hbm.handler.MissileStruct;
import com.hbm.items.weapon.ItemMissile;
import com.hbm.items.weapon.ItemMissile.FuelType;
import com.hbm.items.weapon.ItemMissile.PartSize;
import com.hbm.items.weapon.ItemMissile.WarheadType;
import com.hbm.items.ModItems;
import com.hbm.items.weapon.ItemCustomMissilePart;
import com.hbm.items.weapon.ItemCustomMissilePart.FuelType;
import com.hbm.items.weapon.ItemCustomMissilePart.PartSize;
import com.hbm.items.weapon.ItemCustomMissilePart.WarheadType;
import com.hbm.main.MainRegistry;
import api.hbm.entity.IRadarDetectable;
import api.hbm.entity.IRadarDetectableNT;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
@ -28,7 +28,7 @@ import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.Vec3;
import net.minecraft.world.World;
public class EntityMissileCustom extends EntityMissileBaseNT implements IChunkLoader, IRadarDetectable {
public class EntityMissileCustom extends EntityMissileBaseNT implements IChunkLoader {
protected float fuel;
protected float consumption;
@ -61,8 +61,8 @@ public class EntityMissileCustom extends EntityMissileBaseNT implements IChunkLo
this.dataWatcher.updateObject(11, Integer.valueOf(0));
}
ItemMissile fuselage = (ItemMissile) template.fuselage;
ItemMissile thruster = (ItemMissile) template.thruster;
ItemCustomMissilePart fuselage = (ItemCustomMissilePart) template.fuselage;
ItemCustomMissilePart thruster = (ItemCustomMissilePart) template.thruster;
this.fuel = (Float) fuselage.attributes[1];
this.consumption = (Float) thruster.attributes[1];
@ -128,7 +128,7 @@ public class EntityMissileCustom extends EntityMissileBaseNT implements IChunkLo
Vec3 v = Vec3.createVectorHelper(motionX, motionY, motionZ).normalize();
String smoke = "";
ItemMissile part = (ItemMissile) Item.getItemById(this.dataWatcher.getWatchableObjectInt(10));
ItemCustomMissilePart part = (ItemCustomMissilePart) Item.getItemById(this.dataWatcher.getWatchableObjectInt(10));
FuelType type = (FuelType) part.attributes[0];
switch(type) {
@ -145,7 +145,7 @@ public class EntityMissileCustom extends EntityMissileBaseNT implements IChunkLo
@Override
public void onImpact() { //TODO: demolish this steaming pile of shit
ItemMissile part = (ItemMissile) Item.getItemById(this.dataWatcher.getWatchableObjectInt(9));
ItemCustomMissilePart part = (ItemCustomMissilePart) Item.getItemById(this.dataWatcher.getWatchableObjectInt(9));
WarheadType type = (WarheadType) part.attributes[0];
float strength = (Float) part.attributes[1];
@ -218,26 +218,10 @@ public class EntityMissileCustom extends EntityMissileBaseNT implements IChunkLo
}
}
@Override
public RadarTargetType getTargetType() {
ItemMissile part = (ItemMissile) Item.getItemById(this.dataWatcher.getWatchableObjectInt(10));
PartSize top = part.top;
PartSize bottom = part.bottom;
if(top == PartSize.SIZE_10 && bottom == PartSize.SIZE_10) return RadarTargetType.MISSILE_10;
if(top == PartSize.SIZE_10 && bottom == PartSize.SIZE_15) return RadarTargetType.MISSILE_10_15;
if(top == PartSize.SIZE_15 && bottom == PartSize.SIZE_15) return RadarTargetType.MISSILE_15;
if(top == PartSize.SIZE_15 && bottom == PartSize.SIZE_20) return RadarTargetType.MISSILE_15_20;
if(top == PartSize.SIZE_20 && bottom == PartSize.SIZE_20) return RadarTargetType.MISSILE_20;
return RadarTargetType.MISSILE_TIER1;
}
@Override
public String getUnlocalizedName() {
ItemMissile part = (ItemMissile) Item.getItemById(this.dataWatcher.getWatchableObjectInt(10));
ItemCustomMissilePart part = (ItemCustomMissilePart) Item.getItemById(this.dataWatcher.getWatchableObjectInt(10));
PartSize top = part.top;
PartSize bottom = part.bottom;
@ -253,7 +237,7 @@ public class EntityMissileCustom extends EntityMissileBaseNT implements IChunkLo
@Override
public int getBlipLevel() {
ItemMissile part = (ItemMissile) Item.getItemById(this.dataWatcher.getWatchableObjectInt(10));
ItemCustomMissilePart part = (ItemCustomMissilePart) Item.getItemById(this.dataWatcher.getWatchableObjectInt(10));
PartSize top = part.top;
PartSize bottom = part.bottom;
@ -268,4 +252,9 @@ public class EntityMissileCustom extends EntityMissileBaseNT implements IChunkLo
@Override public List<ItemStack> getDebris() { return new ArrayList(); }
@Override public ItemStack getDebrisRareDrop() { return null; }
@Override
public ItemStack getMissileItemForInfo() {
return new ItemStack(ModItems.missile_custom);
}
}

View File

@ -2,116 +2,32 @@ package com.hbm.entity.missile;
import java.util.List;
import com.hbm.explosion.ExplosionLarge;
import com.hbm.config.BombConfig;
import com.hbm.entity.effect.EntityNukeTorex;
import com.hbm.entity.logic.EntityNukeExplosionMK5;
import com.hbm.items.ModItems;
import api.hbm.entity.IRadarDetectableNT;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
public class EntityMissileDoomsday extends EntityMissileBaseNT {
public EntityMissileDoomsday(World p_i1582_1_) {
super(p_i1582_1_);
public EntityMissileDoomsday(World world) {
super(world);
}
public EntityMissileDoomsday(World world, float x, float y, float z, int a, int b) {
super(world, x, y, z, a, b);
}
@Override
public void onImpact() {
ExplosionLarge.explode(worldObj, posX, posY, posZ, 10.0F, true, true, true);
}
public void onUpdate() {
super.onUpdate();
if(motionY <= 0) {
if(!worldObj.isRemote) {
this.setDead();
EntityBombletTheta bomblet1 = new EntityBombletTheta(worldObj);
EntityBombletTheta bomblet2 = new EntityBombletTheta(worldObj);
EntityBombletTheta bomblet3 = new EntityBombletTheta(worldObj);
EntityBombletTheta bomblet4 = new EntityBombletTheta(worldObj);
EntityBombletTheta bomblet5 = new EntityBombletTheta(worldObj);
EntityBombletTheta bomblet6 = new EntityBombletTheta(worldObj);
bomblet1.motionX = this.motionX * (rand.nextFloat() + 0.5F);
bomblet1.motionY = this.motionY * (rand.nextFloat() + 0.5F);
bomblet1.motionZ = this.motionZ * (rand.nextFloat() + 0.5F);
bomblet2.motionX = this.motionX * (rand.nextFloat() + 0.5F);
bomblet2.motionY = this.motionY * (rand.nextFloat() + 0.5F);
bomblet2.motionZ = this.motionZ * (rand.nextFloat() + 0.5F);
bomblet3.motionX = this.motionX * (rand.nextFloat() + 0.5F);
bomblet3.motionY = this.motionY * (rand.nextFloat() + 0.5F);
bomblet3.motionZ = this.motionZ * (rand.nextFloat() + 0.5F);
bomblet4.motionX = this.motionX * (rand.nextFloat() + 0.5F);
bomblet4.motionY = this.motionY * (rand.nextFloat() + 0.5F);
bomblet4.motionZ = this.motionZ * (rand.nextFloat() + 0.5F);
bomblet5.motionX = this.motionX * (rand.nextFloat() + 0.5F);
bomblet5.motionY = this.motionY * (rand.nextFloat() + 0.5F);
bomblet5.motionZ = this.motionZ * (rand.nextFloat() + 0.5F);
bomblet6.motionX = this.motionX * (rand.nextFloat() + 0.5F);
bomblet6.motionY = this.motionY * (rand.nextFloat() + 0.5F);
bomblet6.motionZ = this.motionZ * (rand.nextFloat() + 0.5F);
bomblet1.posX = this.posX;
bomblet1.posY = this.posY;
bomblet1.posZ = this.posZ;
bomblet2.posX = this.posX;
bomblet2.posY = this.posY;
bomblet2.posZ = this.posZ;
bomblet3.posX = this.posX;
bomblet3.posY = this.posY;
bomblet3.posZ = this.posZ;
bomblet4.posX = this.posX;
bomblet4.posY = this.posY;
bomblet4.posZ = this.posZ;
bomblet5.posX = this.posX;
bomblet5.posY = this.posY;
bomblet5.posZ = this.posZ;
bomblet6.posX = this.posX;
bomblet6.posY = this.posY;
bomblet6.posZ = this.posZ;
bomblet1.decelY = this.decelY;
bomblet2.decelY = this.decelY;
bomblet3.decelY = this.decelY;
bomblet4.decelY = this.decelY;
bomblet5.decelY = this.decelY;
bomblet6.decelY = this.decelY;
bomblet1.accelXZ = this.accelXZ;
bomblet2.accelXZ = this.accelXZ;
bomblet3.accelXZ = this.accelXZ;
bomblet4.accelXZ = this.accelXZ;
bomblet5.accelXZ = this.accelXZ;
bomblet6.accelXZ = this.accelXZ;
worldObj.spawnEntityInWorld(bomblet1);
worldObj.spawnEntityInWorld(bomblet2);
worldObj.spawnEntityInWorld(bomblet3);
worldObj.spawnEntityInWorld(bomblet4);
worldObj.spawnEntityInWorld(bomblet5);
worldObj.spawnEntityInWorld(bomblet6);
ExplosionLarge.spawnParticles(worldObj, posX, posY, posZ, ExplosionLarge.cloudFunction(25));
ExplosionLarge.spawnTracers(worldObj, posX, posY, posZ, 10);
}
}
this.worldObj.spawnEntityInWorld(EntityNukeExplosionMK5.statFac(worldObj, BombConfig.missileRadius * 2, posX, posY, posZ).moreFallout(100));
EntityNukeTorex.statFac(worldObj, posX, posY, posZ, BombConfig.missileRadius * 2);
}
@Override
public List<ItemStack> getDebris() {
return null;
}
@Override
public ItemStack getDebrisRareDrop() {
return null;
}
@Override
public String getUnlocalizedName() {
return "radar.target.doomsday";
}
@Override
public int getBlipLevel() {
return IRadarDetectableNT.TIER4;
}
@Override public List<ItemStack> getDebris() { return null; }
@Override public ItemStack getDebrisRareDrop() { return null; }
@Override public String getUnlocalizedName() { return "radar.target.doomsday"; }
@Override public ItemStack getMissileItemForInfo() { return new ItemStack(ModItems.missile_doomsday); }
}

View File

@ -11,7 +11,6 @@ import com.hbm.main.MainRegistry;
import com.hbm.packet.AuxParticlePacketNT;
import com.hbm.packet.PacketDispatcher;
import api.hbm.entity.IRadarDetectableNT;
import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
import net.minecraft.init.Blocks;
import net.minecraft.item.ItemStack;
@ -60,14 +59,14 @@ public class EntityMissileShuttle extends EntityMissileBaseNT {
public ItemStack getDebrisRareDrop() {
return new ItemStack(ModItems.missile_generic);
}
@Override
public String getUnlocalizedName() {
return "radar.target.shuttle";
}
@Override
public int getBlipLevel() {
return IRadarDetectableNT.TIER3;
public ItemStack getMissileItemForInfo() {
return new ItemStack(ModItems.missile_shuttle);
}
}

View File

@ -8,7 +8,6 @@ import com.hbm.inventory.material.Mats;
import com.hbm.items.ItemEnums.EnumAshType;
import com.hbm.items.ModItems;
import api.hbm.entity.IRadarDetectableNT;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
@ -24,10 +23,10 @@ public class EntityMissileStealth extends EntityMissileBaseNT {
return list;
}
@Override public String getUnlocalizedName() { return "radar.target.tier1"; }
@Override public int getBlipLevel() { return IRadarDetectableNT.TIER1; }
@Override public ItemStack getMissileItemForInfo() { return new ItemStack(ModItems.missile_stealth); }
@Override public boolean canBeSeenBy(Object radar) { return false; }
@Override public void onImpact() { this.explodeStandard(20F, 24, false, true); }
@Override public ItemStack getDebrisRareDrop() { return DictFrame.fromOne(ModItems.powder_ash, EnumAshType.MISC); }
}

View File

@ -14,8 +14,6 @@ import com.hbm.explosion.ExplosionNukeGeneric;
import com.hbm.explosion.ExplosionNukeSmall;
import com.hbm.items.ModItems;
import api.hbm.entity.IRadarDetectableNT;
import com.hbm.items.ItemAmmoEnums.AmmoFatman;
import net.minecraft.item.ItemStack;
@ -37,16 +35,6 @@ public abstract class EntityMissileTier0 extends EntityMissileBaseNT {
return list;
}
@Override
public String getUnlocalizedName() {
return "radar.target.tier0";
}
@Override
public int getBlipLevel() {
return IRadarDetectableNT.TIER0;
}
@Override
protected float getContrailScale() {
return 0.5F;
@ -57,6 +45,7 @@ public abstract class EntityMissileTier0 extends EntityMissileBaseNT {
public EntityMissileMicro(World world, float x, float y, float z, int a, int b) { super(world, x, y, z, a, b); }
@Override public void onImpact() { ExplosionNukeSmall.explode(worldObj, posX, posY + 0.5, posZ, ExplosionNukeSmall.PARAMS_HIGH); }
@Override public ItemStack getDebrisRareDrop() { return ModItems.ammo_nuke.stackFromEnum(AmmoFatman.HIGH); }
@Override public ItemStack getMissileItemForInfo() { return new ItemStack(ModItems.missile_micro); }
}
public static class EntityMissileSchrabidium extends EntityMissileTier0 {
@ -74,6 +63,7 @@ public abstract class EntityMissileTier0 extends EntityMissileBaseNT {
}
}
@Override public ItemStack getDebrisRareDrop() { return new ItemStack(ModItems.powder_schrabidium, 1); }
@Override public ItemStack getMissileItemForInfo() { return new ItemStack(ModItems.missile_schrabidium); }
}
public static class EntityMissileBHole extends EntityMissileTier0 {
@ -88,6 +78,7 @@ public abstract class EntityMissileTier0 extends EntityMissileBaseNT {
this.worldObj.spawnEntityInWorld(bl);
}
@Override public ItemStack getDebrisRareDrop() { return new ItemStack(ModItems.grenade_black_hole, 1); }
@Override public ItemStack getMissileItemForInfo() { return new ItemStack(ModItems.missile_bhole); }
}
public static class EntityMissileTaint extends EntityMissileTier0 {
@ -103,6 +94,7 @@ public abstract class EntityMissileTier0 extends EntityMissileBaseNT {
}
}
@Override public ItemStack getDebrisRareDrop() { return new ItemStack(ModItems.powder_spark_mix, 1); }
@Override public ItemStack getMissileItemForInfo() { return new ItemStack(ModItems.missile_taint); }
}
public static class EntityMissileEMP extends EntityMissileTier0 {
@ -117,5 +109,6 @@ public abstract class EntityMissileTier0 extends EntityMissileBaseNT {
worldObj.spawnEntityInWorld(wave);
}
@Override public ItemStack getDebrisRareDrop() { return new ItemStack(ModBlocks.emp_bomb, 1); }
@Override public ItemStack getMissileItemForInfo() { return new ItemStack(ModItems.missile_emp); }
}
}

View File

@ -25,21 +25,12 @@ public abstract class EntityMissileTier1 extends EntityMissileBaseNT {
return list;
}
@Override
public String getUnlocalizedName() {
return "radar.target.tier1";
}
@Override
public int getBlipLevel() {
return IRadarDetectableNT.TIER1;
}
public static class EntityMissileGeneric extends EntityMissileTier1 {
public EntityMissileGeneric(World world) { super(world); }
public EntityMissileGeneric(World world, float x, float y, float z, int a, int b) { super(world, x, y, z, a, b); }
@Override public void onImpact() { this.explodeStandard(15F, 24, false, true); }
@Override public ItemStack getDebrisRareDrop() { return new ItemStack(ModItems.warhead_generic_small); }
@Override public ItemStack getMissileItemForInfo() { return new ItemStack(ModItems.missile_generic); }
}
public static class EntityMissileDecoy extends EntityMissileTier1 {
@ -49,6 +40,7 @@ public abstract class EntityMissileTier1 extends EntityMissileBaseNT {
@Override public ItemStack getDebrisRareDrop() { return new ItemStack(ModItems.ingot_steel); }
@Override public String getUnlocalizedName() { return "radar.target.tier4"; }
@Override public int getBlipLevel() { return IRadarDetectableNT.TIER4; }
@Override public ItemStack getMissileItemForInfo() { return new ItemStack(ModItems.missile_decoy); }
}
public static class EntityMissileIncendiary extends EntityMissileTier1 {
@ -56,6 +48,7 @@ public abstract class EntityMissileTier1 extends EntityMissileBaseNT {
public EntityMissileIncendiary(World world, float x, float y, float z, int a, int b) { super(world, x, y, z, a, b); }
@Override public void onImpact() { this.explodeStandard(15F, 24, true, true); }
@Override public ItemStack getDebrisRareDrop() { return new ItemStack(ModItems.warhead_incendiary_small); }
@Override public ItemStack getMissileItemForInfo() { return new ItemStack(ModItems.missile_incendiary); }
}
public static class EntityMissileCluster extends EntityMissileTier1 {
@ -67,6 +60,7 @@ public abstract class EntityMissileTier1 extends EntityMissileBaseNT {
}
@Override public void cluster() { this.onImpact(); }
@Override public ItemStack getDebrisRareDrop() { return new ItemStack(ModItems.warhead_cluster_small); }
@Override public ItemStack getMissileItemForInfo() { return new ItemStack(ModItems.missile_cluster); }
}
public static class EntityMissileBunkerBuster extends EntityMissileTier1 {
@ -79,5 +73,6 @@ public abstract class EntityMissileTier1 extends EntityMissileBaseNT {
ExplosionLarge.spawnRubble(worldObj, this.posX, this.posY, this.posZ, 5);
}
@Override public ItemStack getDebrisRareDrop() { return new ItemStack(ModItems.warhead_buster_small); }
@Override public ItemStack getMissileItemForInfo() { return new ItemStack(ModItems.missile_buster); }
}
}

View File

@ -44,6 +44,7 @@ public abstract class EntityMissileTier2 extends EntityMissileBaseNT {
public EntityMissileStrong(World world, float x, float y, float z, int a, int b) { super(world, x, y, z, a, b); }
@Override public void onImpact() { this.explodeStandard(30F, 32, false, true); }
@Override public ItemStack getDebrisRareDrop() { return new ItemStack(ModItems.warhead_generic_medium); }
@Override public ItemStack getMissileItemForInfo() { return new ItemStack(ModItems.missile_strong); }
}
public static class EntityMissileIncendiaryStrong extends EntityMissileTier2 {
@ -54,6 +55,7 @@ public abstract class EntityMissileTier2 extends EntityMissileBaseNT {
ExplosionChaos.flameDeath(this.worldObj, (int)((float)this.posX + 0.5F), (int)((float)this.posY + 0.5F), (int)((float)this.posZ + 0.5F), 25);
}
@Override public ItemStack getDebrisRareDrop() { return new ItemStack(ModItems.warhead_incendiary_medium); }
@Override public ItemStack getMissileItemForInfo() { return new ItemStack(ModItems.missile_incendiary_strong); }
}
public static class EntityMissileClusterStrong extends EntityMissileTier2 {
@ -65,6 +67,7 @@ public abstract class EntityMissileTier2 extends EntityMissileBaseNT {
}
@Override public void cluster() { this.onImpact(); }
@Override public ItemStack getDebrisRareDrop() { return new ItemStack(ModItems.warhead_cluster_medium); }
@Override public ItemStack getMissileItemForInfo() { return new ItemStack(ModItems.missile_cluster_strong); }
}
public static class EntityMissileBusterStrong extends EntityMissileTier2 {
@ -77,6 +80,7 @@ public abstract class EntityMissileTier2 extends EntityMissileBaseNT {
ExplosionLarge.spawnRubble(worldObj, this.posX, this.posY, this.posZ, 8);
}
@Override public ItemStack getDebrisRareDrop() { return new ItemStack(ModItems.warhead_buster_medium); }
@Override public ItemStack getMissileItemForInfo() { return new ItemStack(ModItems.missile_buster_strong); }
}
public static class EntityMissileEMPStrong extends EntityMissileTier2 {
@ -90,5 +94,6 @@ public abstract class EntityMissileTier2 extends EntityMissileBaseNT {
worldObj.spawnEntityInWorld(emp);
}
@Override public ItemStack getDebrisRareDrop() { return new ItemStack(ModItems.warhead_generic_medium); }
@Override public ItemStack getMissileItemForInfo() { return new ItemStack(ModItems.missile_emp_strong); }
}
}

View File

@ -6,7 +6,6 @@ import java.util.List;
import com.hbm.explosion.ExplosionChaos;
import com.hbm.explosion.ExplosionLarge;
import com.hbm.explosion.ExplosionNT;
import com.hbm.explosion.ExplosionThermo;
import com.hbm.explosion.ExplosionNT.ExAttrib;
import com.hbm.items.ModItems;
@ -48,6 +47,7 @@ public abstract class EntityMissileTier3 extends EntityMissileBaseNT {
this.explodeStandard(50F, 48, false, true);
}
@Override public ItemStack getDebrisRareDrop() { return new ItemStack(ModItems.warhead_generic_large); }
@Override public ItemStack getMissileItemForInfo() { return new ItemStack(ModItems.missile_burst); }
}
public static class EntityMissileInferno extends EntityMissileTier3 {
@ -59,6 +59,7 @@ public abstract class EntityMissileTier3 extends EntityMissileBaseNT {
ExplosionChaos.flameDeath(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 25);
}
@Override public ItemStack getDebrisRareDrop() { return new ItemStack(ModItems.warhead_incendiary_large); }
@Override public ItemStack getMissileItemForInfo() { return new ItemStack(ModItems.missile_inferno); }
}
public static class EntityMissileRain extends EntityMissileTier3 {
@ -70,6 +71,7 @@ public abstract class EntityMissileTier3 extends EntityMissileBaseNT {
}
@Override public void cluster() { this.onImpact(); }
@Override public ItemStack getDebrisRareDrop() { return new ItemStack(ModItems.warhead_cluster_large); }
@Override public ItemStack getMissileItemForInfo() { return new ItemStack(ModItems.missile_rain); }
}
public static class EntityMissileDrill extends EntityMissileTier3 {
@ -86,45 +88,6 @@ public abstract class EntityMissileTier3 extends EntityMissileBaseNT {
ExplosionLarge.jolt(worldObj, this.posX, this.posY, this.posZ, 10, 50, 1);
}
@Override public ItemStack getDebrisRareDrop() { return new ItemStack(ModItems.warhead_buster_large); }
}
public static class EntityMissileEndo extends EntityMissileTier3 {
public EntityMissileEndo(World world) { super(world); }
public EntityMissileEndo(World world, float x, float y, float z, int a, int b) { super(world, x, y, z, a, b); }
@Override public void onImpact() {
this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 10.0F, true);
ExplosionThermo.freeze(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 30);
ExplosionThermo.freezer(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 40);
}
@Override public List<ItemStack> getDebris() {
List<ItemStack> list = new ArrayList<ItemStack>();
list.add(new ItemStack(ModItems.plate_titanium, 10));
list.add(new ItemStack(ModItems.plate_steel, 14));
list.add(new ItemStack(ModItems.plate_aluminium, 8));
list.add(new ItemStack(ModItems.thruster_large, 1));
list.add(new ItemStack(ModItems.circuit_targeting_tier4, 1));
return list;
}
@Override public ItemStack getDebrisRareDrop() { return new ItemStack(ModItems.warhead_thermo_exo); }
}
public static class EntityMissileExo extends EntityMissileTier3 {
public EntityMissileExo(World world) { super(world); }
public EntityMissileExo(World world, float x, float y, float z, int a, int b) { super(world, x, y, z, a, b); }
@Override public void onImpact() {
this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 10.0F, true);
ExplosionThermo.scorch(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 30);
ExplosionThermo.setEntitiesOnFire(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 40);
}
@Override public List<ItemStack> getDebris() {
List<ItemStack> list = new ArrayList<ItemStack>();
list.add(new ItemStack(ModItems.plate_titanium, 10));
list.add(new ItemStack(ModItems.plate_steel, 14));
list.add(new ItemStack(ModItems.plate_aluminium, 8));
list.add(new ItemStack(ModItems.thruster_large, 1));
list.add(new ItemStack(ModItems.circuit_targeting_tier4, 1));
return list;
}
@Override public ItemStack getDebrisRareDrop() { return new ItemStack(ModItems.warhead_thermo_exo); }
@Override public ItemStack getMissileItemForInfo() { return new ItemStack(ModItems.missile_drill); }
}
}

View File

@ -48,6 +48,7 @@ public abstract class EntityMissileTier4 extends EntityMissileBaseNT {
EntityNukeTorex.statFac(worldObj, posX, posY, posZ, BombConfig.missileRadius);
}
@Override public ItemStack getDebrisRareDrop() { return new ItemStack(ModItems.warhead_nuclear); }
@Override public ItemStack getMissileItemForInfo() { return new ItemStack(ModItems.missile_nuclear); }
}
public static class EntityMissileMirv extends EntityMissileTier4 {
@ -67,6 +68,7 @@ public abstract class EntityMissileTier4 extends EntityMissileBaseNT {
return list;
}
@Override public ItemStack getDebrisRareDrop() { return new ItemStack(ModItems.warhead_mirv); }
@Override public ItemStack getMissileItemForInfo() { return new ItemStack(ModItems.missile_nuclear_cluster); }
}
public static class EntityMissileVolcano extends EntityMissileTier4 {
@ -78,5 +80,6 @@ public abstract class EntityMissileTier4 extends EntityMissileBaseNT {
worldObj.setBlock((int)Math.floor(posX), (int)Math.floor(posY), (int)Math.floor(posZ), ModBlocks.volcano_core);
}
@Override public ItemStack getDebrisRareDrop() { return new ItemStack(ModItems.warhead_volcano); }
@Override public ItemStack getMissileItemForInfo() { return new ItemStack(ModItems.missile_volcano); }
}
}

View File

@ -1,7 +1,7 @@
package com.hbm.handler;
import com.hbm.items.weapon.ItemMissile;
import com.hbm.items.weapon.ItemMissile.PartType;
import com.hbm.items.weapon.ItemCustomMissilePart;
import com.hbm.items.weapon.ItemCustomMissilePart.PartType;
import io.netty.buffer.ByteBuf;
import net.minecraft.item.Item;
@ -9,35 +9,35 @@ import net.minecraft.item.ItemStack;
public class MissileStruct {
public ItemMissile warhead;
public ItemMissile fuselage;
public ItemMissile fins;
public ItemMissile thruster;
public ItemCustomMissilePart warhead;
public ItemCustomMissilePart fuselage;
public ItemCustomMissilePart fins;
public ItemCustomMissilePart thruster;
public MissileStruct() { }
public MissileStruct(ItemStack w, ItemStack f, ItemStack s, ItemStack t) {
if(w != null && w.getItem() instanceof ItemMissile)
warhead = (ItemMissile) w.getItem();
if(f != null && f.getItem() instanceof ItemMissile)
fuselage = (ItemMissile) f.getItem();
if(s != null && s.getItem() instanceof ItemMissile)
fins = (ItemMissile) s.getItem();
if(t != null && t.getItem() instanceof ItemMissile)
thruster = (ItemMissile) t.getItem();
if(w != null && w.getItem() instanceof ItemCustomMissilePart)
warhead = (ItemCustomMissilePart) w.getItem();
if(f != null && f.getItem() instanceof ItemCustomMissilePart)
fuselage = (ItemCustomMissilePart) f.getItem();
if(s != null && s.getItem() instanceof ItemCustomMissilePart)
fins = (ItemCustomMissilePart) s.getItem();
if(t != null && t.getItem() instanceof ItemCustomMissilePart)
thruster = (ItemCustomMissilePart) t.getItem();
}
public MissileStruct(Item w, Item f, Item s, Item t) {
if(w instanceof ItemMissile)
warhead = (ItemMissile) w;
if(f instanceof ItemMissile)
fuselage = (ItemMissile) f;
if(s instanceof ItemMissile)
fins = (ItemMissile) s;
if(t instanceof ItemMissile)
thruster = (ItemMissile) t;
if(w instanceof ItemCustomMissilePart)
warhead = (ItemCustomMissilePart) w;
if(f instanceof ItemCustomMissilePart)
fuselage = (ItemCustomMissilePart) f;
if(s instanceof ItemCustomMissilePart)
fins = (ItemCustomMissilePart) s;
if(t instanceof ItemCustomMissilePart)
thruster = (ItemCustomMissilePart) t;
}
public void writeToByteBuffer(ByteBuf buf) {
@ -74,16 +74,16 @@ public class MissileStruct {
int t = buf.readInt();
if(w != 0)
multipart.warhead = (ItemMissile) Item.getItemById(w);
multipart.warhead = (ItemCustomMissilePart) Item.getItemById(w);
if(f != 0)
multipart.fuselage = (ItemMissile) Item.getItemById(f);
multipart.fuselage = (ItemCustomMissilePart) Item.getItemById(f);
if(s != 0)
multipart.fins = (ItemMissile) Item.getItemById(s);
multipart.fins = (ItemCustomMissilePart) Item.getItemById(s);
if(t != 0)
multipart.thruster = (ItemMissile) Item.getItemById(t);
multipart.thruster = (ItemCustomMissilePart) Item.getItemById(t);
return multipart;
}

View File

@ -0,0 +1,55 @@
package com.hbm.inventory.container;
import com.hbm.inventory.SlotTakeOnly;
import com.hbm.tileentity.bomb.TileEntityLaunchPadLarge;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.Container;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
public class ContainerLaunchPadLarge extends Container {
private TileEntityLaunchPadLarge launchpad;
public ContainerLaunchPadLarge(InventoryPlayer invPlayer, TileEntityLaunchPadLarge tedf) {
launchpad = tedf;
//Missile
this.addSlotToContainer(new Slot(tedf, 0, 26, 36));
//Designator
this.addSlotToContainer(new Slot(tedf, 1, 26, 72));
//Battery
this.addSlotToContainer(new Slot(tedf, 2, 107, 90));
//Fuel in
this.addSlotToContainer(new Slot(tedf, 3, 125, 90));
//Fuel out
this.addSlotToContainer(new SlotTakeOnly(tedf, 4, 125, 108));
//Oxidizer in
this.addSlotToContainer(new Slot(tedf, 5, 143, 90));
//Oxidizer out
this.addSlotToContainer(new SlotTakeOnly(tedf, 6, 143, 108));
for(int i = 0; i < 3; i++) {
for(int j = 0; j < 9; j++) {
this.addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, 8 + j * 18, 154 + i * 18));
}
}
for(int i = 0; i < 9; i++) {
this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 212));
}
}
@Override
public ItemStack transferStackInSlot(EntityPlayer player, int par2) {
return null; //TODO
}
@Override
public boolean canInteractWith(EntityPlayer player) {
return launchpad.isUseableByPlayer(player);
}
}

View File

@ -0,0 +1,88 @@
package com.hbm.inventory.gui;
import java.util.function.Consumer;
import org.lwjgl.opengl.GL11;
import org.lwjgl.opengl.GL12;
import com.hbm.inventory.RecipesCommon.ComparableStack;
import com.hbm.inventory.container.ContainerLaunchPadLarge;
import com.hbm.items.ModItems;
import com.hbm.items.weapon.ItemMissile;
import com.hbm.lib.RefStrings;
import com.hbm.render.item.ItemRenderMissileGeneric;
import com.hbm.tileentity.bomb.TileEntityLaunchPadLarge;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.RenderHelper;
import net.minecraft.client.renderer.texture.TextureManager;
import net.minecraft.client.resources.I18n;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.util.ResourceLocation;
public class GUILaunchPadLarge extends GuiInfoContainer {
private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/weapon/gui_launch_pad_large.png");
private TileEntityLaunchPadLarge launchpad;
public GUILaunchPadLarge(InventoryPlayer invPlayer, TileEntityLaunchPadLarge tedf) {
super(new ContainerLaunchPadLarge(invPlayer, tedf));
launchpad = tedf;
this.xSize = 176;
this.ySize = 236;
}
@Override
protected void drawGuiContainerForegroundLayer(int i, int j) {
String name = this.launchpad.hasCustomInventoryName() ? this.launchpad.getInventoryName() : I18n.format(this.launchpad.getInventoryName());
this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 4, 4210752);
this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752);
}
@Override
protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_) {
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
Minecraft.getMinecraft().getTextureManager().bindTexture(texture);
drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize);
if(launchpad.slots[0] != null) {
Consumer<TextureManager> renderer = ItemRenderMissileGeneric.renderers.get(new ComparableStack(launchpad.slots[0]).makeSingular());
if(renderer != null) {
GL11.glPushMatrix();
GL11.glTranslatef(guiLeft + 70, guiTop + 120, 100);
double scale = 1D;
if(launchpad.slots[0].getItem() instanceof ItemMissile) {
ItemMissile missile = (ItemMissile) launchpad.slots[0].getItem();
switch(missile.formFactor) {
case ABM: scale = 1.45D; break;
case MICRO: scale = 2.5D; break;
case V2: scale = 1.75D; break;
case STRONG: scale = 1.375D; break;
case HUGE: scale = 0.925D; break;
case ATLAS: break;
case OTHER: break;
}
if(missile == ModItems.missile_stealth) scale = 1.125D;
}
GL11.glRotatef(90, 0, 1, 0);
GL11.glScaled(scale, scale, scale);
GL11.glScalef(-8, -8, -8);
GL11.glPushMatrix();
GL11.glRotatef(75, 0.0F, 1.0F, 0.0F);
RenderHelper.enableStandardItemLighting();
GL11.glPopMatrix();
GL11.glEnable(GL12.GL_RESCALE_NORMAL);
renderer.accept(Minecraft.getMinecraft().getTextureManager());
GL11.glEnable(GL12.GL_RESCALE_NORMAL);
GL11.glPopMatrix();
}
}
}
}

View File

@ -4,7 +4,7 @@ import org.lwjgl.opengl.GL11;
import com.hbm.inventory.container.ContainerLaunchTable;
import com.hbm.items.weapon.ItemCustomMissile;
import com.hbm.items.weapon.ItemMissile.PartSize;
import com.hbm.items.weapon.ItemCustomMissilePart.PartSize;
import com.hbm.lib.RefStrings;
import com.hbm.packet.AuxButtonPacket;
import com.hbm.packet.PacketDispatcher;

View File

@ -110,9 +110,6 @@ public class ArcWelderRecipes extends SerializableRecipe {
recipes.add(new ArcWelderRecipe(new ItemStack(ModItems.missile_nuclear), 600, 50_000L, new ComparableStack(ModItems.warhead_nuclear), new ComparableStack(ModItems.fuel_tank_large), new ComparableStack(ModItems.thruster_large)));
recipes.add(new ArcWelderRecipe(new ItemStack(ModItems.missile_nuclear_cluster), 600, 50_000L, new ComparableStack(ModItems.warhead_mirv), new ComparableStack(ModItems.fuel_tank_large), new ComparableStack(ModItems.thruster_large)));
recipes.add(new ArcWelderRecipe(new ItemStack(ModItems.missile_volcano), 600, 50_000L, new ComparableStack(ModItems.warhead_volcano), new ComparableStack(ModItems.fuel_tank_large), new ComparableStack(ModItems.thruster_large)));
recipes.add(new ArcWelderRecipe(new ItemStack(ModItems.missile_endo), 200, 10_000L, new ComparableStack(ModItems.warhead_thermo_endo), new ComparableStack(ModItems.fuel_tank_large), new ComparableStack(ModItems.thruster_large)));
recipes.add(new ArcWelderRecipe(new ItemStack(ModItems.missile_exo), 200, 10_000L, new ComparableStack(ModItems.warhead_thermo_exo), new ComparableStack(ModItems.fuel_tank_large), new ComparableStack(ModItems.thruster_large)));
}
public static HashMap getRecipes() {

View File

@ -195,8 +195,6 @@ public class AssemblerRecipes {
makeRecipe(new ComparableStack(ModItems.warhead_nuclear, 1), new AStack[] {new ComparableStack(ModItems.boy_shielding, 1), new ComparableStack(ModItems.boy_target, 1), new ComparableStack(ModItems.boy_bullet, 1), new ComparableStack(ModItems.boy_propellant, 1), new ComparableStack(ModItems.wire_red_copper, 6), new OreDictStack(TI.plate(), 24), new ComparableStack(ModItems.circuit_targeting_tier4, 1) },300);
makeRecipe(new ComparableStack(ModItems.warhead_mirv, 1), new AStack[] {new OreDictStack(TI.plate(), 24), new OreDictStack(STEEL.plate(), 12), new OreDictStack(PU239.ingot(), 1), new ComparableStack(ModItems.ball_tatb, 8), new OreDictStack(BE.ingot(), 4), new OreDictStack(LI.ingot(), 4), new ComparableStack(ModItems.cell_deuterium, 6), new ComparableStack(ModItems.circuit_targeting_tier4, 3) },500);
makeRecipe(new ComparableStack(ModItems.warhead_volcano, 1), new AStack[] {new OreDictStack(TI.plate(), 24), new OreDictStack(STEEL.plate(), 16), new ComparableStack(ModBlocks.det_nuke, 3), new OreDictStack(U238.block(), 24), new ComparableStack(ModItems.circuit_tantalium, 5) }, 600);
makeRecipe(new ComparableStack(ModItems.warhead_thermo_endo, 1), new AStack[] {new ComparableStack(ModBlocks.therm_endo, 2), new OreDictStack(TI.plate(), 12), new ComparableStack(ModItems.circuit_targeting_tier3, 1) },300);
makeRecipe(new ComparableStack(ModItems.warhead_thermo_exo, 1), new AStack[] {new ComparableStack(ModBlocks.therm_exo, 2), new OreDictStack(TI.plate(), 12), new ComparableStack(ModItems.circuit_targeting_tier3, 1) },300);
makeRecipe(new ComparableStack(ModItems.missile_stealth, 1), new AStack[] { new OreDictStack(TI.plate(), 20), new OreDictStack(AL.plate(), 20), new OreDictStack(CU.plate(), 10), new OreDictStack(KEY_BLACK, 16), new OreDictStack(ANY_HARDPLASTIC.ingot(), 16), new OreDictStack(ANY_HIGHEXPLOSIVE.ingot(), 4), new ComparableStack(ModItems.circuit_gold), new OreDictStack(STEEL.bolt(), 32) },1200);
makeRecipe(new ComparableStack(ModItems.thruster_nuclear, 1), new AStack[] {new OreDictStack(DURA.ingot(), 32), new OreDictStack(B.ingot(), 8), new OreDictStack(PB.plate(), 16), new ComparableStack(ModItems.pipes_steel), new ComparableStack(ModItems.circuit_gold, 1) },600);
makeRecipe(new ComparableStack(ModItems.sat_base, 1), new AStack[] {new ComparableStack(ModItems.thruster_large, 1), new OreDictStack(STEEL.plate(), 6), new ComparableStack(ModItems.plate_desh, 4), new ComparableStack(ModItems.hull_big_titanium, 3), new ComparableStack(ModItems.fluid_barrel_full, 1, Fluids.KEROSENE.getID()), new ComparableStack(ModItems.photo_panel, 24), new ComparableStack(ModItems.board_copper, 12), new ComparableStack(ModItems.circuit_gold, 6), new ComparableStack(ModItems.battery_lithium_cell_6, 1), },500);

View File

@ -63,7 +63,8 @@ public class ItemEnums {
DIGAMMAKNOW,
DIGAMMAKAUAIMOHO,
DIGAMMAUPONTOP,
DIGAMMAFOROURRIGHT
DIGAMMAFOROURRIGHT,
QUESTIONMARK
}
public static enum EnumFuelAdditive {

View File

@ -33,7 +33,10 @@ import com.hbm.items.special.ItemPlasticScrap.ScrapType;
import com.hbm.items.tool.*;
import com.hbm.items.tool.ItemToolAbility.EnumToolType;
import com.hbm.items.weapon.*;
import com.hbm.items.weapon.ItemMissile.*;
import com.hbm.items.weapon.ItemCustomMissilePart.*;
import com.hbm.items.weapon.ItemMissile.MissileFormFactor;
import com.hbm.items.weapon.ItemMissile.MissileFuel;
import com.hbm.items.weapon.ItemMissile.MissileTier;
import com.hbm.items.weapon.gununified.ItemEnergyGunBase;
import com.hbm.lib.RefStrings;
import com.hbm.main.MainRegistry;
@ -706,8 +709,6 @@ public class ModItems {
public static Item warhead_mirvlet;
public static Item warhead_mirv;
public static Item warhead_volcano;
public static Item warhead_thermo_endo;
public static Item warhead_thermo_exo;
public static Item fuel_tank_small;
public static Item fuel_tank_medium;
@ -1321,8 +1322,6 @@ public class ModItems {
public static Item missile_nuclear;
public static Item missile_nuclear_cluster;
public static Item missile_volcano;
public static Item missile_endo;
public static Item missile_exo;
public static Item missile_doomsday;
public static Item missile_taint;
public static Item missile_micro;
@ -1633,7 +1632,6 @@ public class ModItems {
public static Item gun_defabricator;
public static Item gun_defabricator_ammo;
public static Item gun_vortex;
public static Item gun_dampfmaschine;
public static Item gun_waluigi;
public static Item gun_darter;
public static Item gun_detonator;
@ -3075,8 +3073,6 @@ public class ModItems {
warhead_mirvlet = new Item().setUnlocalizedName("warhead_mirvlet").setCreativeTab(null).setTextureName(RefStrings.MODID + ":warhead_mirvlet");
warhead_mirv = new Item().setUnlocalizedName("warhead_mirv").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":warhead_mirv");
warhead_volcano = new Item().setUnlocalizedName("warhead_volcano").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":warhead_volcano");
warhead_thermo_endo = new Item().setUnlocalizedName("warhead_thermo_endo").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":warhead_thermo_endo");
warhead_thermo_exo = new Item().setUnlocalizedName("warhead_thermo_exo").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":warhead_thermo_exo");
fuel_tank_small = new Item().setUnlocalizedName("fuel_tank_small").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":fuel_tank_small");
fuel_tank_medium = new Item().setUnlocalizedName("fuel_tank_medium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":fuel_tank_medium");
@ -3935,34 +3931,32 @@ public class ModItems {
designator_manual = new ItemDesingatorManual().setUnlocalizedName("designator_manual").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":designator_manual");
designator_arty_range = new ItemDesignatorArtyRange().setUnlocalizedName("designator_arty_range").setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":designator_arty_range");
missile_assembly = new Item().setUnlocalizedName("missile_assembly").setMaxStackSize(1).setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":missile_assembly");
missile_generic = new Item().setUnlocalizedName("missile_generic").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_generic");
missile_anti_ballistic = new Item().setUnlocalizedName("missile_anti_ballistic").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_anti_ballistic");
missile_incendiary = new Item().setUnlocalizedName("missile_incendiary").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_incendiary");
missile_cluster = new Item().setUnlocalizedName("missile_cluster").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_cluster");
missile_buster = new Item().setUnlocalizedName("missile_buster").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_buster");
missile_decoy = new Item().setUnlocalizedName("missile_decoy").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_decoy");
missile_strong = new Item().setUnlocalizedName("missile_strong").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_strong");
missile_incendiary_strong = new Item().setUnlocalizedName("missile_incendiary_strong").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_incendiary_strong");
missile_cluster_strong = new Item().setUnlocalizedName("missile_cluster_strong").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_cluster_strong");
missile_buster_strong = new Item().setUnlocalizedName("missile_buster_strong").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_buster_strong");
missile_emp_strong = new Item().setUnlocalizedName("missile_emp_strong").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_emp_strong");
missile_burst = new Item().setUnlocalizedName("missile_burst").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_burst");
missile_inferno = new Item().setUnlocalizedName("missile_inferno").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_inferno");
missile_rain = new Item().setUnlocalizedName("missile_rain").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_rain");
missile_drill = new Item().setUnlocalizedName("missile_drill").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_drill");
missile_nuclear = new Item().setUnlocalizedName("missile_nuclear").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_nuclear");
missile_nuclear_cluster = new Item().setUnlocalizedName("missile_nuclear_cluster").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_nuclear_cluster");
missile_volcano = new ItemCustomLore().setUnlocalizedName("missile_volcano").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_volcano");
missile_endo = new Item().setUnlocalizedName("missile_endo").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_endo");
missile_exo = new Item().setUnlocalizedName("missile_exo").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_exo");
missile_doomsday = new Item().setUnlocalizedName("missile_doomsday").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_doomsday");
missile_taint = new Item().setUnlocalizedName("missile_taint").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_taint");
missile_micro = new Item().setUnlocalizedName("missile_micro").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_micro");
missile_bhole = new Item().setUnlocalizedName("missile_bhole").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_bhole");
missile_schrabidium = new Item().setUnlocalizedName("missile_schrabidium").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_schrabidium");
missile_emp = new Item().setUnlocalizedName("missile_emp").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_emp");
missile_shuttle = new ItemMissileShuttle().setUnlocalizedName("missile_shuttle").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_shuttle");
missile_stealth = new Item().setUnlocalizedName("missile_stealth").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_stealth");
missile_generic = new ItemMissile(MissileFormFactor.V2, MissileTier.TIER1).setUnlocalizedName("missile_generic").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_generic");
missile_anti_ballistic = new ItemMissile(MissileFormFactor.ABM, MissileTier.TIER1).setUnlocalizedName("missile_anti_ballistic").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_anti_ballistic");
missile_incendiary = new ItemMissile(MissileFormFactor.V2, MissileTier.TIER1).setUnlocalizedName("missile_incendiary").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_incendiary");
missile_cluster = new ItemMissile(MissileFormFactor.V2, MissileTier.TIER1).setUnlocalizedName("missile_cluster").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_cluster");
missile_buster = new ItemMissile(MissileFormFactor.V2, MissileTier.TIER1).setUnlocalizedName("missile_buster").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_buster");
missile_decoy = new ItemMissile(MissileFormFactor.V2, MissileTier.TIER1).setUnlocalizedName("missile_decoy").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_decoy");
missile_strong = new ItemMissile(MissileFormFactor.STRONG, MissileTier.TIER2).setUnlocalizedName("missile_strong").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_strong");
missile_incendiary_strong = new ItemMissile(MissileFormFactor.STRONG, MissileTier.TIER2).setUnlocalizedName("missile_incendiary_strong").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_incendiary_strong");
missile_cluster_strong = new ItemMissile(MissileFormFactor.STRONG, MissileTier.TIER2).setUnlocalizedName("missile_cluster_strong").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_cluster_strong");
missile_buster_strong = new ItemMissile(MissileFormFactor.STRONG, MissileTier.TIER2).setUnlocalizedName("missile_buster_strong").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_buster_strong");
missile_emp_strong = new ItemMissile(MissileFormFactor.STRONG, MissileTier.TIER2).setUnlocalizedName("missile_emp_strong").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_emp_strong");
missile_burst = new ItemMissile(MissileFormFactor.HUGE, MissileTier.TIER3).setUnlocalizedName("missile_burst").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_burst");
missile_inferno = new ItemMissile(MissileFormFactor.HUGE, MissileTier.TIER3).setUnlocalizedName("missile_inferno").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_inferno");
missile_rain = new ItemMissile(MissileFormFactor.HUGE, MissileTier.TIER3).setUnlocalizedName("missile_rain").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_rain");
missile_drill = new ItemMissile(MissileFormFactor.HUGE, MissileTier.TIER3).setUnlocalizedName("missile_drill").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_drill");
missile_nuclear = new ItemMissile(MissileFormFactor.ATLAS, MissileTier.TIER4).setUnlocalizedName("missile_nuclear").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_nuclear");
missile_nuclear_cluster = new ItemMissile(MissileFormFactor.ATLAS, MissileTier.TIER4).setUnlocalizedName("missile_nuclear_cluster").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_nuclear_cluster");
missile_volcano = new ItemMissile(MissileFormFactor.ATLAS, MissileTier.TIER4).setUnlocalizedName("missile_volcano").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_volcano");
missile_doomsday = new ItemMissile(MissileFormFactor.ATLAS, MissileTier.TIER4).setUnlocalizedName("missile_doomsday").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_doomsday");
missile_taint = new ItemMissile(MissileFormFactor.MICRO, MissileTier.TIER0).setUnlocalizedName("missile_taint").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_taint");
missile_micro = new ItemMissile(MissileFormFactor.MICRO, MissileTier.TIER0).setUnlocalizedName("missile_micro").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_micro");
missile_bhole = new ItemMissile(MissileFormFactor.MICRO, MissileTier.TIER0).setUnlocalizedName("missile_bhole").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_bhole");
missile_schrabidium = new ItemMissile(MissileFormFactor.MICRO, MissileTier.TIER0).setUnlocalizedName("missile_schrabidium").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_schrabidium");
missile_emp = new ItemMissile(MissileFormFactor.MICRO, MissileTier.TIER0).setUnlocalizedName("missile_emp").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_emp");
missile_shuttle = new ItemMissile(MissileFormFactor.OTHER, MissileTier.TIER3, MissileFuel.KEROSENE_PEROXIDE).setUnlocalizedName("missile_shuttle").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_shuttle");
missile_stealth = new ItemMissile(MissileFormFactor.STRONG, MissileTier.TIER1).setUnlocalizedName("missile_stealth").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_stealth");
missile_carrier = new Item().setUnlocalizedName("missile_carrier").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_carrier");
missile_soyuz = new ItemSoyuz().setUnlocalizedName("missile_soyuz").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":soyuz");
missile_soyuz_lander = new ItemCustomLore().setUnlocalizedName("missile_soyuz_lander").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":soyuz_lander");
@ -3982,147 +3976,147 @@ public class ModItems {
sat_designator = new ItemSatDesignator().setUnlocalizedName("sat_designator").setFull3D().setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":sat_designator");
sat_relay = new ItemSatRelay().setUnlocalizedName("sat_relay").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":sat_relay");
mp_thruster_10_kerosene = new ItemMissile().makeThruster(FuelType.KEROSENE, 1F, 1.5F, PartSize.SIZE_10).setHealth(10F) .setUnlocalizedName("mp_thruster_10_kerosene");
mp_thruster_10_kerosene_tec = new ItemMissile().makeThruster(FuelType.KEROSENE, 1F, 1.5F, PartSize.SIZE_10).setHealth(15F).setRarity(Rarity.COMMON).setUnlocalizedName("mp_thruster_10_kerosene_tec");
mp_thruster_10_solid = new ItemMissile().makeThruster(FuelType.SOLID, 1F, 1.5F, PartSize.SIZE_10).setHealth(15F) .setUnlocalizedName("mp_thruster_10_solid");
mp_thruster_10_xenon = new ItemMissile().makeThruster(FuelType.XENON, 1F, 1.5F, PartSize.SIZE_10).setHealth(5F) .setUnlocalizedName("mp_thruster_10_xenon");
mp_thruster_15_kerosene = new ItemMissile().makeThruster(FuelType.KEROSENE, 1F, 7.5F, PartSize.SIZE_15).setHealth(15F) .setUnlocalizedName("mp_thruster_15_kerosene");
mp_thruster_15_kerosene_tec = new ItemMissile().makeThruster(FuelType.KEROSENE, 1F, 7.5F, PartSize.SIZE_15).setHealth(20F).setRarity(Rarity.COMMON).setUnlocalizedName("mp_thruster_15_kerosene_tec");
mp_thruster_15_kerosene_dual = new ItemMissile().makeThruster(FuelType.KEROSENE, 1F, 2.5F, PartSize.SIZE_15).setHealth(15F) .setUnlocalizedName("mp_thruster_15_kerosene_dual");
mp_thruster_15_kerosene_triple = new ItemMissile().makeThruster(FuelType.KEROSENE, 1F, 5F, PartSize.SIZE_15).setHealth(15F) .setUnlocalizedName("mp_thruster_15_kerosene_triple");
mp_thruster_15_solid = new ItemMissile().makeThruster(FuelType.SOLID, 1F, 5F, PartSize.SIZE_15).setHealth(20F) .setUnlocalizedName("mp_thruster_15_solid");
mp_thruster_15_solid_hexdecuple = new ItemMissile().makeThruster(FuelType.SOLID, 1F, 5F, PartSize.SIZE_15).setHealth(25F).setRarity(Rarity.UNCOMMON).setUnlocalizedName("mp_thruster_15_solid_hexdecuple");
mp_thruster_15_hydrogen = new ItemMissile().makeThruster(FuelType.HYDROGEN, 1F, 7.5F, PartSize.SIZE_15).setHealth(20F) .setUnlocalizedName("mp_thruster_15_hydrogen");
mp_thruster_15_hydrogen_dual = new ItemMissile().makeThruster(FuelType.HYDROGEN, 1F, 2.5F, PartSize.SIZE_15).setHealth(15F) .setUnlocalizedName("mp_thruster_15_hydrogen_dual");
mp_thruster_15_balefire_short = new ItemMissile().makeThruster(FuelType.BALEFIRE, 1F, 5F, PartSize.SIZE_15).setHealth(25F) .setUnlocalizedName("mp_thruster_15_balefire_short");
mp_thruster_15_balefire = new ItemMissile().makeThruster(FuelType.BALEFIRE, 1F, 5F, PartSize.SIZE_15).setHealth(25F) .setUnlocalizedName("mp_thruster_15_balefire");
mp_thruster_15_balefire_large = new ItemMissile().makeThruster(FuelType.BALEFIRE, 1F, 7.5F, PartSize.SIZE_15).setHealth(35F) .setUnlocalizedName("mp_thruster_15_balefire_large");
mp_thruster_15_balefire_large_rad = new ItemMissile().makeThruster(FuelType.BALEFIRE, 1F, 7.5F, PartSize.SIZE_15).setAuthor("The Master").setHealth(35F).setRarity(Rarity.UNCOMMON).setUnlocalizedName("mp_thruster_15_balefire_large_rad");
mp_thruster_20_kerosene = new ItemMissile().makeThruster(FuelType.KEROSENE, 1F, 100F, PartSize.SIZE_20).setHealth(30F) .setUnlocalizedName("mp_thruster_20_kerosene");
mp_thruster_20_kerosene_dual = new ItemMissile().makeThruster(FuelType.KEROSENE, 1F, 100F, PartSize.SIZE_20).setHealth(30F) .setUnlocalizedName("mp_thruster_20_kerosene_dual");
mp_thruster_20_kerosene_triple = new ItemMissile().makeThruster(FuelType.KEROSENE, 1F, 100F, PartSize.SIZE_20).setHealth(30F) .setUnlocalizedName("mp_thruster_20_kerosene_triple");
mp_thruster_20_solid = new ItemMissile().makeThruster(FuelType.SOLID, 1F, 100F, PartSize.SIZE_20).setHealth(35F).setWittyText("It's basically just a big hole at the end of the fuel tank.").setUnlocalizedName("mp_thruster_20_solid");
mp_thruster_20_solid_multi = new ItemMissile().makeThruster(FuelType.SOLID, 1F, 100F, PartSize.SIZE_20).setHealth(35F) .setUnlocalizedName("mp_thruster_20_solid_multi");
mp_thruster_20_solid_multier = new ItemMissile().makeThruster(FuelType.SOLID, 1F, 100F, PartSize.SIZE_20).setHealth(35F).setWittyText("Did I miscount? Hope not.").setUnlocalizedName("mp_thruster_20_solid_multier");
mp_thruster_10_kerosene = new ItemCustomMissilePart().makeThruster(FuelType.KEROSENE, 1F, 1.5F, PartSize.SIZE_10).setHealth(10F) .setUnlocalizedName("mp_thruster_10_kerosene");
mp_thruster_10_kerosene_tec = new ItemCustomMissilePart().makeThruster(FuelType.KEROSENE, 1F, 1.5F, PartSize.SIZE_10).setHealth(15F).setRarity(Rarity.COMMON).setUnlocalizedName("mp_thruster_10_kerosene_tec");
mp_thruster_10_solid = new ItemCustomMissilePart().makeThruster(FuelType.SOLID, 1F, 1.5F, PartSize.SIZE_10).setHealth(15F) .setUnlocalizedName("mp_thruster_10_solid");
mp_thruster_10_xenon = new ItemCustomMissilePart().makeThruster(FuelType.XENON, 1F, 1.5F, PartSize.SIZE_10).setHealth(5F) .setUnlocalizedName("mp_thruster_10_xenon");
mp_thruster_15_kerosene = new ItemCustomMissilePart().makeThruster(FuelType.KEROSENE, 1F, 7.5F, PartSize.SIZE_15).setHealth(15F) .setUnlocalizedName("mp_thruster_15_kerosene");
mp_thruster_15_kerosene_tec = new ItemCustomMissilePart().makeThruster(FuelType.KEROSENE, 1F, 7.5F, PartSize.SIZE_15).setHealth(20F).setRarity(Rarity.COMMON).setUnlocalizedName("mp_thruster_15_kerosene_tec");
mp_thruster_15_kerosene_dual = new ItemCustomMissilePart().makeThruster(FuelType.KEROSENE, 1F, 2.5F, PartSize.SIZE_15).setHealth(15F) .setUnlocalizedName("mp_thruster_15_kerosene_dual");
mp_thruster_15_kerosene_triple = new ItemCustomMissilePart().makeThruster(FuelType.KEROSENE, 1F, 5F, PartSize.SIZE_15).setHealth(15F) .setUnlocalizedName("mp_thruster_15_kerosene_triple");
mp_thruster_15_solid = new ItemCustomMissilePart().makeThruster(FuelType.SOLID, 1F, 5F, PartSize.SIZE_15).setHealth(20F) .setUnlocalizedName("mp_thruster_15_solid");
mp_thruster_15_solid_hexdecuple = new ItemCustomMissilePart().makeThruster(FuelType.SOLID, 1F, 5F, PartSize.SIZE_15).setHealth(25F).setRarity(Rarity.UNCOMMON).setUnlocalizedName("mp_thruster_15_solid_hexdecuple");
mp_thruster_15_hydrogen = new ItemCustomMissilePart().makeThruster(FuelType.HYDROGEN, 1F, 7.5F, PartSize.SIZE_15).setHealth(20F) .setUnlocalizedName("mp_thruster_15_hydrogen");
mp_thruster_15_hydrogen_dual = new ItemCustomMissilePart().makeThruster(FuelType.HYDROGEN, 1F, 2.5F, PartSize.SIZE_15).setHealth(15F) .setUnlocalizedName("mp_thruster_15_hydrogen_dual");
mp_thruster_15_balefire_short = new ItemCustomMissilePart().makeThruster(FuelType.BALEFIRE, 1F, 5F, PartSize.SIZE_15).setHealth(25F) .setUnlocalizedName("mp_thruster_15_balefire_short");
mp_thruster_15_balefire = new ItemCustomMissilePart().makeThruster(FuelType.BALEFIRE, 1F, 5F, PartSize.SIZE_15).setHealth(25F) .setUnlocalizedName("mp_thruster_15_balefire");
mp_thruster_15_balefire_large = new ItemCustomMissilePart().makeThruster(FuelType.BALEFIRE, 1F, 7.5F, PartSize.SIZE_15).setHealth(35F) .setUnlocalizedName("mp_thruster_15_balefire_large");
mp_thruster_15_balefire_large_rad = new ItemCustomMissilePart().makeThruster(FuelType.BALEFIRE, 1F, 7.5F, PartSize.SIZE_15).setAuthor("The Master").setHealth(35F).setRarity(Rarity.UNCOMMON).setUnlocalizedName("mp_thruster_15_balefire_large_rad");
mp_thruster_20_kerosene = new ItemCustomMissilePart().makeThruster(FuelType.KEROSENE, 1F, 100F, PartSize.SIZE_20).setHealth(30F) .setUnlocalizedName("mp_thruster_20_kerosene");
mp_thruster_20_kerosene_dual = new ItemCustomMissilePart().makeThruster(FuelType.KEROSENE, 1F, 100F, PartSize.SIZE_20).setHealth(30F) .setUnlocalizedName("mp_thruster_20_kerosene_dual");
mp_thruster_20_kerosene_triple = new ItemCustomMissilePart().makeThruster(FuelType.KEROSENE, 1F, 100F, PartSize.SIZE_20).setHealth(30F) .setUnlocalizedName("mp_thruster_20_kerosene_triple");
mp_thruster_20_solid = new ItemCustomMissilePart().makeThruster(FuelType.SOLID, 1F, 100F, PartSize.SIZE_20).setHealth(35F).setWittyText("It's basically just a big hole at the end of the fuel tank.").setUnlocalizedName("mp_thruster_20_solid");
mp_thruster_20_solid_multi = new ItemCustomMissilePart().makeThruster(FuelType.SOLID, 1F, 100F, PartSize.SIZE_20).setHealth(35F) .setUnlocalizedName("mp_thruster_20_solid_multi");
mp_thruster_20_solid_multier = new ItemCustomMissilePart().makeThruster(FuelType.SOLID, 1F, 100F, PartSize.SIZE_20).setHealth(35F).setWittyText("Did I miscount? Hope not.").setUnlocalizedName("mp_thruster_20_solid_multier");
mp_stability_10_flat = new ItemMissile().makeStability(0.5F, PartSize.SIZE_10).setHealth(10F) .setUnlocalizedName("mp_stability_10_flat");
mp_stability_10_cruise = new ItemMissile().makeStability(0.25F, PartSize.SIZE_10).setHealth(5F) .setUnlocalizedName("mp_stability_10_cruise");
mp_stability_10_space = new ItemMissile().makeStability(0.35F, PartSize.SIZE_10).setHealth(5F).setRarity(Rarity.COMMON).setWittyText("Standing there alone, the ship is waiting / All systems are go, are you sure?") .setUnlocalizedName("mp_stability_10_space");
mp_stability_15_flat = new ItemMissile().makeStability(0.5F, PartSize.SIZE_15).setHealth(10F) .setUnlocalizedName("mp_stability_15_flat");
mp_stability_15_thin = new ItemMissile().makeStability(0.35F, PartSize.SIZE_15).setHealth(5F) .setUnlocalizedName("mp_stability_15_thin");
mp_stability_15_soyuz = new ItemMissile().makeStability(0.25F, PartSize.SIZE_15).setHealth(15F).setRarity(Rarity.COMMON).setWittyText("Союз!").setUnlocalizedName("mp_stability_15_soyuz");
mp_stability_20_flat = new ItemMissile().makeStability(0.5F, PartSize.SIZE_20) .setUnlocalizedName("mp_s_20");
mp_stability_10_flat = new ItemCustomMissilePart().makeStability(0.5F, PartSize.SIZE_10).setHealth(10F) .setUnlocalizedName("mp_stability_10_flat");
mp_stability_10_cruise = new ItemCustomMissilePart().makeStability(0.25F, PartSize.SIZE_10).setHealth(5F) .setUnlocalizedName("mp_stability_10_cruise");
mp_stability_10_space = new ItemCustomMissilePart().makeStability(0.35F, PartSize.SIZE_10).setHealth(5F).setRarity(Rarity.COMMON).setWittyText("Standing there alone, the ship is waiting / All systems are go, are you sure?") .setUnlocalizedName("mp_stability_10_space");
mp_stability_15_flat = new ItemCustomMissilePart().makeStability(0.5F, PartSize.SIZE_15).setHealth(10F) .setUnlocalizedName("mp_stability_15_flat");
mp_stability_15_thin = new ItemCustomMissilePart().makeStability(0.35F, PartSize.SIZE_15).setHealth(5F) .setUnlocalizedName("mp_stability_15_thin");
mp_stability_15_soyuz = new ItemCustomMissilePart().makeStability(0.25F, PartSize.SIZE_15).setHealth(15F).setRarity(Rarity.COMMON).setWittyText("Союз!").setUnlocalizedName("mp_stability_15_soyuz");
mp_stability_20_flat = new ItemCustomMissilePart().makeStability(0.5F, PartSize.SIZE_20) .setUnlocalizedName("mp_s_20");
mp_fuselage_10_kerosene = new ItemMissile().makeFuselage(FuelType.KEROSENE, 2500F, PartSize.SIZE_10, PartSize.SIZE_10).setAuthor("Hoboy").setHealth(20F).setUnlocalizedName("mp_fuselage_10_kerosene");
mp_fuselage_10_kerosene_camo = ((ItemMissile) mp_fuselage_10_kerosene).copy().setRarity(Rarity.COMMON).setTitle("Camo").setUnlocalizedName("mp_fuselage_10_kerosene_camo");
mp_fuselage_10_kerosene_desert = ((ItemMissile) mp_fuselage_10_kerosene).copy().setRarity(Rarity.COMMON).setTitle("Desert Camo").setUnlocalizedName("mp_fuselage_10_kerosene_desert");
mp_fuselage_10_kerosene_sky = ((ItemMissile) mp_fuselage_10_kerosene).copy().setRarity(Rarity.COMMON).setTitle("Sky Camo").setUnlocalizedName("mp_fuselage_10_kerosene_sky");
mp_fuselage_10_kerosene_flames = ((ItemMissile) mp_fuselage_10_kerosene).copy().setRarity(Rarity.UNCOMMON).setTitle("Sick Flames").setUnlocalizedName("mp_fuselage_10_kerosene_flames");
mp_fuselage_10_kerosene_insulation = ((ItemMissile) mp_fuselage_10_kerosene).copy().setRarity(Rarity.COMMON).setTitle("Orange Insulation").setHealth(25F).setUnlocalizedName("mp_fuselage_10_kerosene_insulation");
mp_fuselage_10_kerosene_sleek = ((ItemMissile) mp_fuselage_10_kerosene).copy().setRarity(Rarity.RARE).setTitle("IF-R&D").setHealth(35F).setUnlocalizedName("mp_fuselage_10_kerosene_sleek");
mp_fuselage_10_kerosene_metal = ((ItemMissile) mp_fuselage_10_kerosene).copy().setRarity(Rarity.UNCOMMON).setTitle("Bolted Metal").setHealth(30F).setAuthor("Hoboy").setUnlocalizedName("mp_fuselage_10_kerosene_metal");
mp_fuselage_10_kerosene_taint = ((ItemMissile) mp_fuselage_10_kerosene).copy().setRarity(Rarity.UNCOMMON).setAuthor("Sam").setTitle("Tainted").setUnlocalizedName("mp_fuselage_10_kerosene_taint");
mp_fuselage_10_kerosene = new ItemCustomMissilePart().makeFuselage(FuelType.KEROSENE, 2500F, PartSize.SIZE_10, PartSize.SIZE_10).setAuthor("Hoboy").setHealth(20F).setUnlocalizedName("mp_fuselage_10_kerosene");
mp_fuselage_10_kerosene_camo = ((ItemCustomMissilePart) mp_fuselage_10_kerosene).copy().setRarity(Rarity.COMMON).setTitle("Camo").setUnlocalizedName("mp_fuselage_10_kerosene_camo");
mp_fuselage_10_kerosene_desert = ((ItemCustomMissilePart) mp_fuselage_10_kerosene).copy().setRarity(Rarity.COMMON).setTitle("Desert Camo").setUnlocalizedName("mp_fuselage_10_kerosene_desert");
mp_fuselage_10_kerosene_sky = ((ItemCustomMissilePart) mp_fuselage_10_kerosene).copy().setRarity(Rarity.COMMON).setTitle("Sky Camo").setUnlocalizedName("mp_fuselage_10_kerosene_sky");
mp_fuselage_10_kerosene_flames = ((ItemCustomMissilePart) mp_fuselage_10_kerosene).copy().setRarity(Rarity.UNCOMMON).setTitle("Sick Flames").setUnlocalizedName("mp_fuselage_10_kerosene_flames");
mp_fuselage_10_kerosene_insulation = ((ItemCustomMissilePart) mp_fuselage_10_kerosene).copy().setRarity(Rarity.COMMON).setTitle("Orange Insulation").setHealth(25F).setUnlocalizedName("mp_fuselage_10_kerosene_insulation");
mp_fuselage_10_kerosene_sleek = ((ItemCustomMissilePart) mp_fuselage_10_kerosene).copy().setRarity(Rarity.RARE).setTitle("IF-R&D").setHealth(35F).setUnlocalizedName("mp_fuselage_10_kerosene_sleek");
mp_fuselage_10_kerosene_metal = ((ItemCustomMissilePart) mp_fuselage_10_kerosene).copy().setRarity(Rarity.UNCOMMON).setTitle("Bolted Metal").setHealth(30F).setAuthor("Hoboy").setUnlocalizedName("mp_fuselage_10_kerosene_metal");
mp_fuselage_10_kerosene_taint = ((ItemCustomMissilePart) mp_fuselage_10_kerosene).copy().setRarity(Rarity.UNCOMMON).setAuthor("Sam").setTitle("Tainted").setUnlocalizedName("mp_fuselage_10_kerosene_taint");
mp_fuselage_10_solid = new ItemMissile().makeFuselage(FuelType.SOLID, 2500F, PartSize.SIZE_10, PartSize.SIZE_10).setHealth(25F) .setUnlocalizedName("mp_fuselage_10_solid");
mp_fuselage_10_solid_flames = ((ItemMissile) mp_fuselage_10_solid).copy().setRarity(Rarity.UNCOMMON).setTitle("Sick Flames").setUnlocalizedName("mp_fuselage_10_solid_flames");
mp_fuselage_10_solid_insulation = ((ItemMissile) mp_fuselage_10_solid).copy().setRarity(Rarity.COMMON).setTitle("Orange Insulation").setHealth(30F).setUnlocalizedName("mp_fuselage_10_solid_insulation");
mp_fuselage_10_solid_sleek = ((ItemMissile) mp_fuselage_10_solid).copy().setRarity(Rarity.RARE).setTitle("IF-R&D").setHealth(35F).setUnlocalizedName("mp_fuselage_10_solid_sleek");
mp_fuselage_10_solid_soviet_glory = ((ItemMissile) mp_fuselage_10_solid).copy().setRarity(Rarity.EPIC).setAuthor("Hoboy").setHealth(35F).setTitle("Soviet Glory").setUnlocalizedName("mp_fuselage_10_solid_soviet_glory");
mp_fuselage_10_solid_cathedral = ((ItemMissile) mp_fuselage_10_solid).copy().setRarity(Rarity.RARE).setAuthor("Satan").setTitle("Unholy Cathedral").setWittyText("Quakeesque!").setUnlocalizedName("mp_fuselage_10_solid_cathedral");
mp_fuselage_10_solid_moonlit = ((ItemMissile) mp_fuselage_10_solid).copy().setRarity(Rarity.UNCOMMON).setAuthor("The Master & Hoboy").setTitle("Moonlit").setUnlocalizedName("mp_fuselage_10_solid_moonlit");
mp_fuselage_10_solid_battery = ((ItemMissile) mp_fuselage_10_solid).copy().setRarity(Rarity.UNCOMMON).setAuthor("wolfmonster222").setHealth(30F).setTitle("Ecstatic").setWittyText("I got caught eating batteries again :(").setUnlocalizedName("mp_fuselage_10_solid_battery");
mp_fuselage_10_solid_duracell = ((ItemMissile) mp_fuselage_10_solid).copy().setRarity(Rarity.RARE).setAuthor("Hoboy").setTitle("Duracell").setHealth(30F).setWittyText("The crunchiest battery on the market!").setUnlocalizedName("mp_fuselage_10_solid_duracell");
mp_fuselage_10_solid = new ItemCustomMissilePart().makeFuselage(FuelType.SOLID, 2500F, PartSize.SIZE_10, PartSize.SIZE_10).setHealth(25F) .setUnlocalizedName("mp_fuselage_10_solid");
mp_fuselage_10_solid_flames = ((ItemCustomMissilePart) mp_fuselage_10_solid).copy().setRarity(Rarity.UNCOMMON).setTitle("Sick Flames").setUnlocalizedName("mp_fuselage_10_solid_flames");
mp_fuselage_10_solid_insulation = ((ItemCustomMissilePart) mp_fuselage_10_solid).copy().setRarity(Rarity.COMMON).setTitle("Orange Insulation").setHealth(30F).setUnlocalizedName("mp_fuselage_10_solid_insulation");
mp_fuselage_10_solid_sleek = ((ItemCustomMissilePart) mp_fuselage_10_solid).copy().setRarity(Rarity.RARE).setTitle("IF-R&D").setHealth(35F).setUnlocalizedName("mp_fuselage_10_solid_sleek");
mp_fuselage_10_solid_soviet_glory = ((ItemCustomMissilePart) mp_fuselage_10_solid).copy().setRarity(Rarity.EPIC).setAuthor("Hoboy").setHealth(35F).setTitle("Soviet Glory").setUnlocalizedName("mp_fuselage_10_solid_soviet_glory");
mp_fuselage_10_solid_cathedral = ((ItemCustomMissilePart) mp_fuselage_10_solid).copy().setRarity(Rarity.RARE).setAuthor("Satan").setTitle("Unholy Cathedral").setWittyText("Quakeesque!").setUnlocalizedName("mp_fuselage_10_solid_cathedral");
mp_fuselage_10_solid_moonlit = ((ItemCustomMissilePart) mp_fuselage_10_solid).copy().setRarity(Rarity.UNCOMMON).setAuthor("The Master & Hoboy").setTitle("Moonlit").setUnlocalizedName("mp_fuselage_10_solid_moonlit");
mp_fuselage_10_solid_battery = ((ItemCustomMissilePart) mp_fuselage_10_solid).copy().setRarity(Rarity.UNCOMMON).setAuthor("wolfmonster222").setHealth(30F).setTitle("Ecstatic").setWittyText("I got caught eating batteries again :(").setUnlocalizedName("mp_fuselage_10_solid_battery");
mp_fuselage_10_solid_duracell = ((ItemCustomMissilePart) mp_fuselage_10_solid).copy().setRarity(Rarity.RARE).setAuthor("Hoboy").setTitle("Duracell").setHealth(30F).setWittyText("The crunchiest battery on the market!").setUnlocalizedName("mp_fuselage_10_solid_duracell");
mp_fuselage_10_xenon = new ItemMissile().makeFuselage(FuelType.XENON, 5000F, PartSize.SIZE_10, PartSize.SIZE_10).setHealth(20F) .setUnlocalizedName("mp_fuselage_10_xenon");
mp_fuselage_10_xenon_bhole = ((ItemMissile) mp_fuselage_10_xenon).copy().setRarity(Rarity.RARE).setAuthor("Sten89").setTitle("Morceus-1457").setUnlocalizedName("mp_fuselage_10_xenon_bhole");
mp_fuselage_10_xenon = new ItemCustomMissilePart().makeFuselage(FuelType.XENON, 5000F, PartSize.SIZE_10, PartSize.SIZE_10).setHealth(20F) .setUnlocalizedName("mp_fuselage_10_xenon");
mp_fuselage_10_xenon_bhole = ((ItemCustomMissilePart) mp_fuselage_10_xenon).copy().setRarity(Rarity.RARE).setAuthor("Sten89").setTitle("Morceus-1457").setUnlocalizedName("mp_fuselage_10_xenon_bhole");
mp_fuselage_10_long_kerosene = new ItemMissile().makeFuselage(FuelType.KEROSENE, 5000F, PartSize.SIZE_10, PartSize.SIZE_10).setAuthor("Hoboy").setHealth(30F).setUnlocalizedName("mp_fuselage_10_long_kerosene");
mp_fuselage_10_long_kerosene_camo = ((ItemMissile) mp_fuselage_10_long_kerosene).copy().setRarity(Rarity.COMMON).setTitle("Camo").setUnlocalizedName("mp_fuselage_10_long_kerosene_camo");
mp_fuselage_10_long_kerosene_desert = ((ItemMissile) mp_fuselage_10_long_kerosene).copy().setRarity(Rarity.COMMON).setTitle("Desert Camo").setUnlocalizedName("mp_fuselage_10_long_kerosene_desert");
mp_fuselage_10_long_kerosene_sky = ((ItemMissile) mp_fuselage_10_long_kerosene).copy().setRarity(Rarity.COMMON).setTitle("Sky Camo").setUnlocalizedName("mp_fuselage_10_long_kerosene_sky");
mp_fuselage_10_long_kerosene_flames = ((ItemMissile) mp_fuselage_10_long_kerosene).copy().setRarity(Rarity.UNCOMMON).setTitle("Sick Flames").setUnlocalizedName("mp_fuselage_10_long_kerosene_flames");
mp_fuselage_10_long_kerosene_insulation = ((ItemMissile) mp_fuselage_10_long_kerosene).copy().setRarity(Rarity.COMMON).setTitle("Orange Insulation").setHealth(35F).setUnlocalizedName("mp_fuselage_10_long_kerosene_insulation");
mp_fuselage_10_long_kerosene_sleek = ((ItemMissile) mp_fuselage_10_long_kerosene).copy().setRarity(Rarity.RARE).setTitle("IF-R&D").setHealth(40F).setUnlocalizedName("mp_fuselage_10_long_kerosene_sleek");
mp_fuselage_10_long_kerosene_metal = ((ItemMissile) mp_fuselage_10_long_kerosene).copy().setRarity(Rarity.UNCOMMON).setAuthor("Hoboy").setHealth(35F).setUnlocalizedName("mp_fuselage_10_long_kerosene_metal");
mp_fuselage_10_long_kerosene_dash = ((ItemMissile) mp_fuselage_10_long_kerosene).copy().setRarity(Rarity.EPIC).setAuthor("Sam").setTitle("Dash").setWittyText("I wash my hands of it.").setCreativeTab(null).setUnlocalizedName("mp_fuselage_10_long_kerosene_dash");
mp_fuselage_10_long_kerosene_taint = ((ItemMissile) mp_fuselage_10_long_kerosene).copy().setRarity(Rarity.UNCOMMON).setAuthor("Sam").setTitle("Tainted").setUnlocalizedName("mp_fuselage_10_long_kerosene_taint");
mp_fuselage_10_long_kerosene_vap = ((ItemMissile) mp_fuselage_10_long_kerosene).copy().setRarity(Rarity.EPIC).setAuthor("VT-6/24").setTitle("Minty Contrail").setWittyText("Upper rivet!").setUnlocalizedName("mp_fuselage_10_long_kerosene_vap");
mp_fuselage_10_long_kerosene = new ItemCustomMissilePart().makeFuselage(FuelType.KEROSENE, 5000F, PartSize.SIZE_10, PartSize.SIZE_10).setAuthor("Hoboy").setHealth(30F).setUnlocalizedName("mp_fuselage_10_long_kerosene");
mp_fuselage_10_long_kerosene_camo = ((ItemCustomMissilePart) mp_fuselage_10_long_kerosene).copy().setRarity(Rarity.COMMON).setTitle("Camo").setUnlocalizedName("mp_fuselage_10_long_kerosene_camo");
mp_fuselage_10_long_kerosene_desert = ((ItemCustomMissilePart) mp_fuselage_10_long_kerosene).copy().setRarity(Rarity.COMMON).setTitle("Desert Camo").setUnlocalizedName("mp_fuselage_10_long_kerosene_desert");
mp_fuselage_10_long_kerosene_sky = ((ItemCustomMissilePart) mp_fuselage_10_long_kerosene).copy().setRarity(Rarity.COMMON).setTitle("Sky Camo").setUnlocalizedName("mp_fuselage_10_long_kerosene_sky");
mp_fuselage_10_long_kerosene_flames = ((ItemCustomMissilePart) mp_fuselage_10_long_kerosene).copy().setRarity(Rarity.UNCOMMON).setTitle("Sick Flames").setUnlocalizedName("mp_fuselage_10_long_kerosene_flames");
mp_fuselage_10_long_kerosene_insulation = ((ItemCustomMissilePart) mp_fuselage_10_long_kerosene).copy().setRarity(Rarity.COMMON).setTitle("Orange Insulation").setHealth(35F).setUnlocalizedName("mp_fuselage_10_long_kerosene_insulation");
mp_fuselage_10_long_kerosene_sleek = ((ItemCustomMissilePart) mp_fuselage_10_long_kerosene).copy().setRarity(Rarity.RARE).setTitle("IF-R&D").setHealth(40F).setUnlocalizedName("mp_fuselage_10_long_kerosene_sleek");
mp_fuselage_10_long_kerosene_metal = ((ItemCustomMissilePart) mp_fuselage_10_long_kerosene).copy().setRarity(Rarity.UNCOMMON).setAuthor("Hoboy").setHealth(35F).setUnlocalizedName("mp_fuselage_10_long_kerosene_metal");
mp_fuselage_10_long_kerosene_dash = ((ItemCustomMissilePart) mp_fuselage_10_long_kerosene).copy().setRarity(Rarity.EPIC).setAuthor("Sam").setTitle("Dash").setWittyText("I wash my hands of it.").setCreativeTab(null).setUnlocalizedName("mp_fuselage_10_long_kerosene_dash");
mp_fuselage_10_long_kerosene_taint = ((ItemCustomMissilePart) mp_fuselage_10_long_kerosene).copy().setRarity(Rarity.UNCOMMON).setAuthor("Sam").setTitle("Tainted").setUnlocalizedName("mp_fuselage_10_long_kerosene_taint");
mp_fuselage_10_long_kerosene_vap = ((ItemCustomMissilePart) mp_fuselage_10_long_kerosene).copy().setRarity(Rarity.EPIC).setAuthor("VT-6/24").setTitle("Minty Contrail").setWittyText("Upper rivet!").setUnlocalizedName("mp_fuselage_10_long_kerosene_vap");
mp_fuselage_10_long_solid = new ItemMissile().makeFuselage(FuelType.SOLID, 5000F, PartSize.SIZE_10, PartSize.SIZE_10).setHealth(35F) .setUnlocalizedName("mp_fuselage_10_long_solid");
mp_fuselage_10_long_solid_flames = ((ItemMissile) mp_fuselage_10_long_solid).copy().setRarity(Rarity.UNCOMMON).setTitle("Sick Flames").setUnlocalizedName("mp_fuselage_10_long_solid_flames");
mp_fuselage_10_long_solid_insulation = ((ItemMissile) mp_fuselage_10_long_solid).copy().setRarity(Rarity.COMMON).setTitle("Orange Insulation").setHealth(40F).setUnlocalizedName("mp_fuselage_10_long_solid_insulation");
mp_fuselage_10_long_solid_sleek = ((ItemMissile) mp_fuselage_10_long_solid).copy().setRarity(Rarity.RARE).setTitle("IF-R&D").setHealth(45F).setUnlocalizedName("mp_fuselage_10_long_solid_sleek");
mp_fuselage_10_long_solid_soviet_glory = ((ItemMissile) mp_fuselage_10_long_solid).copy().setRarity(Rarity.EPIC).setAuthor("Hoboy").setHealth(45F).setTitle("Soviet Glory").setWittyText("Fully Automated Luxury Gay Space Communism!").setUnlocalizedName("mp_fuselage_10_long_solid_soviet_glory");
mp_fuselage_10_long_solid_bullet = ((ItemMissile) mp_fuselage_10_long_solid).copy().setRarity(Rarity.COMMON).setAuthor("Sam").setTitle("Bullet Bill").setUnlocalizedName("mp_fuselage_10_long_solid_bullet");
mp_fuselage_10_long_solid_silvermoonlight = ((ItemMissile) mp_fuselage_10_long_solid).copy().setRarity(Rarity.UNCOMMON).setAuthor("The Master").setTitle("Silver Moonlight").setUnlocalizedName("mp_fuselage_10_long_solid_silvermoonlight");
mp_fuselage_10_long_solid = new ItemCustomMissilePart().makeFuselage(FuelType.SOLID, 5000F, PartSize.SIZE_10, PartSize.SIZE_10).setHealth(35F) .setUnlocalizedName("mp_fuselage_10_long_solid");
mp_fuselage_10_long_solid_flames = ((ItemCustomMissilePart) mp_fuselage_10_long_solid).copy().setRarity(Rarity.UNCOMMON).setTitle("Sick Flames").setUnlocalizedName("mp_fuselage_10_long_solid_flames");
mp_fuselage_10_long_solid_insulation = ((ItemCustomMissilePart) mp_fuselage_10_long_solid).copy().setRarity(Rarity.COMMON).setTitle("Orange Insulation").setHealth(40F).setUnlocalizedName("mp_fuselage_10_long_solid_insulation");
mp_fuselage_10_long_solid_sleek = ((ItemCustomMissilePart) mp_fuselage_10_long_solid).copy().setRarity(Rarity.RARE).setTitle("IF-R&D").setHealth(45F).setUnlocalizedName("mp_fuselage_10_long_solid_sleek");
mp_fuselage_10_long_solid_soviet_glory = ((ItemCustomMissilePart) mp_fuselage_10_long_solid).copy().setRarity(Rarity.EPIC).setAuthor("Hoboy").setHealth(45F).setTitle("Soviet Glory").setWittyText("Fully Automated Luxury Gay Space Communism!").setUnlocalizedName("mp_fuselage_10_long_solid_soviet_glory");
mp_fuselage_10_long_solid_bullet = ((ItemCustomMissilePart) mp_fuselage_10_long_solid).copy().setRarity(Rarity.COMMON).setAuthor("Sam").setTitle("Bullet Bill").setUnlocalizedName("mp_fuselage_10_long_solid_bullet");
mp_fuselage_10_long_solid_silvermoonlight = ((ItemCustomMissilePart) mp_fuselage_10_long_solid).copy().setRarity(Rarity.UNCOMMON).setAuthor("The Master").setTitle("Silver Moonlight").setUnlocalizedName("mp_fuselage_10_long_solid_silvermoonlight");
mp_fuselage_10_15_kerosene = new ItemMissile().makeFuselage(FuelType.KEROSENE, 10000F, PartSize.SIZE_10, PartSize.SIZE_15).setHealth(40F).setUnlocalizedName("mp_fuselage_10_15_kerosene");
mp_fuselage_10_15_solid = new ItemMissile().makeFuselage(FuelType.SOLID, 10000F, PartSize.SIZE_10, PartSize.SIZE_15).setHealth(40F) .setUnlocalizedName("mp_fuselage_10_15_solid");
mp_fuselage_10_15_hydrogen = new ItemMissile().makeFuselage(FuelType.HYDROGEN, 10000F, PartSize.SIZE_10, PartSize.SIZE_15).setHealth(40F).setUnlocalizedName("mp_fuselage_10_15_hydrogen");
mp_fuselage_10_15_balefire = new ItemMissile().makeFuselage(FuelType.BALEFIRE, 10000F, PartSize.SIZE_10, PartSize.SIZE_15).setHealth(40F).setUnlocalizedName("mp_fuselage_10_15_balefire");
mp_fuselage_10_15_kerosene = new ItemCustomMissilePart().makeFuselage(FuelType.KEROSENE, 10000F, PartSize.SIZE_10, PartSize.SIZE_15).setHealth(40F).setUnlocalizedName("mp_fuselage_10_15_kerosene");
mp_fuselage_10_15_solid = new ItemCustomMissilePart().makeFuselage(FuelType.SOLID, 10000F, PartSize.SIZE_10, PartSize.SIZE_15).setHealth(40F) .setUnlocalizedName("mp_fuselage_10_15_solid");
mp_fuselage_10_15_hydrogen = new ItemCustomMissilePart().makeFuselage(FuelType.HYDROGEN, 10000F, PartSize.SIZE_10, PartSize.SIZE_15).setHealth(40F).setUnlocalizedName("mp_fuselage_10_15_hydrogen");
mp_fuselage_10_15_balefire = new ItemCustomMissilePart().makeFuselage(FuelType.BALEFIRE, 10000F, PartSize.SIZE_10, PartSize.SIZE_15).setHealth(40F).setUnlocalizedName("mp_fuselage_10_15_balefire");
mp_fuselage_15_kerosene = new ItemMissile().makeFuselage(FuelType.KEROSENE, 15000F, PartSize.SIZE_15, PartSize.SIZE_15).setAuthor("Hoboy").setHealth(50F).setUnlocalizedName("mp_fuselage_15_kerosene");
mp_fuselage_15_kerosene_camo = ((ItemMissile) mp_fuselage_15_kerosene).copy().setRarity(Rarity.COMMON).setTitle("Camo").setUnlocalizedName("mp_fuselage_15_kerosene_camo");
mp_fuselage_15_kerosene_desert = ((ItemMissile) mp_fuselage_15_kerosene).copy().setRarity(Rarity.COMMON).setTitle("Desert Camo").setUnlocalizedName("mp_fuselage_15_kerosene_desert");
mp_fuselage_15_kerosene_sky = ((ItemMissile) mp_fuselage_15_kerosene).copy().setRarity(Rarity.COMMON).setTitle("Sky Camo").setUnlocalizedName("mp_fuselage_15_kerosene_sky");
mp_fuselage_15_kerosene_insulation = ((ItemMissile) mp_fuselage_15_kerosene).copy().setRarity(Rarity.COMMON).setTitle("Orange Insulation").setHealth(55F).setWittyText("Rest in spaghetti Columbia :(").setUnlocalizedName("mp_fuselage_15_kerosene_insulation");
mp_fuselage_15_kerosene_metal = ((ItemMissile) mp_fuselage_15_kerosene).copy().setRarity(Rarity.UNCOMMON).setAuthor("Hoboy").setTitle("Bolted Metal").setHealth(60F).setWittyText("Metal frame with metal plating reinforced with bolted metal sheets and metal.").setUnlocalizedName("mp_fuselage_15_kerosene_metal");
mp_fuselage_15_kerosene_decorated = ((ItemMissile) mp_fuselage_15_kerosene).copy().setRarity(Rarity.UNCOMMON).setAuthor("Hoboy").setTitle("Decorated").setHealth(60F).setUnlocalizedName("mp_fuselage_15_kerosene_decorated");
mp_fuselage_15_kerosene_steampunk = ((ItemMissile) mp_fuselage_15_kerosene).copy().setRarity(Rarity.RARE).setAuthor("Hoboy").setTitle("Steampunk").setHealth(60F).setUnlocalizedName("mp_fuselage_15_kerosene_steampunk");
mp_fuselage_15_kerosene_polite = ((ItemMissile) mp_fuselage_15_kerosene).copy().setRarity(Rarity.LEGENDARY).setAuthor("Hoboy").setTitle("Polite").setHealth(60F).setUnlocalizedName("mp_fuselage_15_kerosene_polite");
mp_fuselage_15_kerosene_blackjack = ((ItemMissile) mp_fuselage_15_kerosene).copy().setRarity(Rarity.LEGENDARY).setTitle("Queen Whiskey").setHealth(100F).setUnlocalizedName("mp_fuselage_15_kerosene_blackjack");
mp_fuselage_15_kerosene_lambda = ((ItemMissile) mp_fuselage_15_kerosene).copy().setRarity(Rarity.RARE).setAuthor("VT-6/24").setTitle("Lambda Complex").setHealth(75F).setWittyText("MAGNIFICENT MICROWAVE CASSEROLE").setUnlocalizedName("mp_fuselage_15_kerosene_lambda");
mp_fuselage_15_kerosene_minuteman = ((ItemMissile) mp_fuselage_15_kerosene).copy().setRarity(Rarity.UNCOMMON).setAuthor("Spexta").setTitle("MX 1702").setUnlocalizedName("mp_fuselage_15_kerosene_minuteman");
mp_fuselage_15_kerosene_pip = ((ItemMissile) mp_fuselage_15_kerosene).copy().setRarity(Rarity.EPIC).setAuthor("The Doctor").setTitle("LittlePip").setWittyText("31!").setCreativeTab(null).setUnlocalizedName("mp_fuselage_15_kerosene_pip");
mp_fuselage_15_kerosene_taint = ((ItemMissile) mp_fuselage_15_kerosene).copy().setRarity(Rarity.UNCOMMON).setAuthor("Sam").setTitle("Tainted").setWittyText("DUN-DUN!").setUnlocalizedName("mp_fuselage_15_kerosene_taint");
mp_fuselage_15_kerosene_yuck = ((ItemMissile) mp_fuselage_15_kerosene).copy().setRarity(Rarity.EPIC).setAuthor("Hoboy").setTitle("Flesh").setWittyText("Note: Never clean DNA vials with your own spit.").setHealth(60F).setUnlocalizedName("mp_fuselage_15_kerosene_yuck");
mp_fuselage_15_kerosene = new ItemCustomMissilePart().makeFuselage(FuelType.KEROSENE, 15000F, PartSize.SIZE_15, PartSize.SIZE_15).setAuthor("Hoboy").setHealth(50F).setUnlocalizedName("mp_fuselage_15_kerosene");
mp_fuselage_15_kerosene_camo = ((ItemCustomMissilePart) mp_fuselage_15_kerosene).copy().setRarity(Rarity.COMMON).setTitle("Camo").setUnlocalizedName("mp_fuselage_15_kerosene_camo");
mp_fuselage_15_kerosene_desert = ((ItemCustomMissilePart) mp_fuselage_15_kerosene).copy().setRarity(Rarity.COMMON).setTitle("Desert Camo").setUnlocalizedName("mp_fuselage_15_kerosene_desert");
mp_fuselage_15_kerosene_sky = ((ItemCustomMissilePart) mp_fuselage_15_kerosene).copy().setRarity(Rarity.COMMON).setTitle("Sky Camo").setUnlocalizedName("mp_fuselage_15_kerosene_sky");
mp_fuselage_15_kerosene_insulation = ((ItemCustomMissilePart) mp_fuselage_15_kerosene).copy().setRarity(Rarity.COMMON).setTitle("Orange Insulation").setHealth(55F).setWittyText("Rest in spaghetti Columbia :(").setUnlocalizedName("mp_fuselage_15_kerosene_insulation");
mp_fuselage_15_kerosene_metal = ((ItemCustomMissilePart) mp_fuselage_15_kerosene).copy().setRarity(Rarity.UNCOMMON).setAuthor("Hoboy").setTitle("Bolted Metal").setHealth(60F).setWittyText("Metal frame with metal plating reinforced with bolted metal sheets and metal.").setUnlocalizedName("mp_fuselage_15_kerosene_metal");
mp_fuselage_15_kerosene_decorated = ((ItemCustomMissilePart) mp_fuselage_15_kerosene).copy().setRarity(Rarity.UNCOMMON).setAuthor("Hoboy").setTitle("Decorated").setHealth(60F).setUnlocalizedName("mp_fuselage_15_kerosene_decorated");
mp_fuselage_15_kerosene_steampunk = ((ItemCustomMissilePart) mp_fuselage_15_kerosene).copy().setRarity(Rarity.RARE).setAuthor("Hoboy").setTitle("Steampunk").setHealth(60F).setUnlocalizedName("mp_fuselage_15_kerosene_steampunk");
mp_fuselage_15_kerosene_polite = ((ItemCustomMissilePart) mp_fuselage_15_kerosene).copy().setRarity(Rarity.LEGENDARY).setAuthor("Hoboy").setTitle("Polite").setHealth(60F).setUnlocalizedName("mp_fuselage_15_kerosene_polite");
mp_fuselage_15_kerosene_blackjack = ((ItemCustomMissilePart) mp_fuselage_15_kerosene).copy().setRarity(Rarity.LEGENDARY).setTitle("Queen Whiskey").setHealth(100F).setUnlocalizedName("mp_fuselage_15_kerosene_blackjack");
mp_fuselage_15_kerosene_lambda = ((ItemCustomMissilePart) mp_fuselage_15_kerosene).copy().setRarity(Rarity.RARE).setAuthor("VT-6/24").setTitle("Lambda Complex").setHealth(75F).setWittyText("MAGNIFICENT MICROWAVE CASSEROLE").setUnlocalizedName("mp_fuselage_15_kerosene_lambda");
mp_fuselage_15_kerosene_minuteman = ((ItemCustomMissilePart) mp_fuselage_15_kerosene).copy().setRarity(Rarity.UNCOMMON).setAuthor("Spexta").setTitle("MX 1702").setUnlocalizedName("mp_fuselage_15_kerosene_minuteman");
mp_fuselage_15_kerosene_pip = ((ItemCustomMissilePart) mp_fuselage_15_kerosene).copy().setRarity(Rarity.EPIC).setAuthor("The Doctor").setTitle("LittlePip").setWittyText("31!").setCreativeTab(null).setUnlocalizedName("mp_fuselage_15_kerosene_pip");
mp_fuselage_15_kerosene_taint = ((ItemCustomMissilePart) mp_fuselage_15_kerosene).copy().setRarity(Rarity.UNCOMMON).setAuthor("Sam").setTitle("Tainted").setWittyText("DUN-DUN!").setUnlocalizedName("mp_fuselage_15_kerosene_taint");
mp_fuselage_15_kerosene_yuck = ((ItemCustomMissilePart) mp_fuselage_15_kerosene).copy().setRarity(Rarity.EPIC).setAuthor("Hoboy").setTitle("Flesh").setWittyText("Note: Never clean DNA vials with your own spit.").setHealth(60F).setUnlocalizedName("mp_fuselage_15_kerosene_yuck");
mp_fuselage_15_solid = new ItemMissile().makeFuselage(FuelType.SOLID, 15000F, PartSize.SIZE_15, PartSize.SIZE_15).setHealth(60F) .setUnlocalizedName("mp_fuselage_15_solid").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_fuselage");
mp_fuselage_15_solid_insulation = ((ItemMissile) mp_fuselage_15_solid).copy().setRarity(Rarity.COMMON).setTitle("Orange Insulation").setHealth(65F).setUnlocalizedName("mp_fuselage_15_solid_insulation");
mp_fuselage_15_solid_desh = ((ItemMissile) mp_fuselage_15_solid).copy().setRarity(Rarity.RARE).setAuthor("Hoboy").setTitle("Desh Plating").setHealth(80F).setUnlocalizedName("mp_fuselage_15_solid_desh");
mp_fuselage_15_solid_soviet_glory = ((ItemMissile) mp_fuselage_15_solid).copy().setRarity(Rarity.RARE).setAuthor("Hoboy").setTitle("Soviet Glory").setHealth(70F).setUnlocalizedName("mp_fuselage_15_solid_soviet_glory");
mp_fuselage_15_solid_soviet_stank = ((ItemMissile) mp_fuselage_15_solid).copy().setRarity(Rarity.EPIC).setAuthor("Hoboy").setTitle("Soviet Stank").setHealth(15F).setWittyText("Aged like a fine wine! Well, almost.").setUnlocalizedName("mp_fuselage_15_solid_soviet_stank");
mp_fuselage_15_solid_faust = ((ItemMissile) mp_fuselage_15_solid).copy().setRarity(Rarity.LEGENDARY).setAuthor("Dr.Nostalgia").setTitle("Mighty Lauren").setHealth(250F).setWittyText("Welcome to Subway, may I take your order?").setUnlocalizedName("mp_fuselage_15_solid_faust");
mp_fuselage_15_solid_silvermoonlight = ((ItemMissile) mp_fuselage_15_solid).copy().setRarity(Rarity.UNCOMMON).setAuthor("The Master").setTitle("Silver Moonlight").setUnlocalizedName("mp_fuselage_15_solid_silvermoonlight");
mp_fuselage_15_solid_snowy = ((ItemMissile) mp_fuselage_15_solid).copy().setRarity(Rarity.UNCOMMON).setAuthor("Dr.Nostalgia").setTitle("Chilly Day").setUnlocalizedName("mp_fuselage_15_solid_snowy");
mp_fuselage_15_solid_panorama = ((ItemMissile) mp_fuselage_15_solid).copy().setRarity(Rarity.RARE).setAuthor("Hoboy").setTitle("Panorama").setUnlocalizedName("mp_fuselage_15_solid_panorama");
mp_fuselage_15_solid_roses = ((ItemMissile) mp_fuselage_15_solid).copy().setRarity(Rarity.UNCOMMON).setAuthor("Hoboy").setTitle("Bed of roses").setUnlocalizedName("mp_fuselage_15_solid_roses");
mp_fuselage_15_solid_mimi = ((ItemMissile) mp_fuselage_15_solid).copy().setRarity(Rarity.RARE).setTitle("Mimi-chan").setUnlocalizedName("mp_fuselage_15_solid_mimi");
mp_fuselage_15_solid = new ItemCustomMissilePart().makeFuselage(FuelType.SOLID, 15000F, PartSize.SIZE_15, PartSize.SIZE_15).setHealth(60F) .setUnlocalizedName("mp_fuselage_15_solid").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_fuselage");
mp_fuselage_15_solid_insulation = ((ItemCustomMissilePart) mp_fuselage_15_solid).copy().setRarity(Rarity.COMMON).setTitle("Orange Insulation").setHealth(65F).setUnlocalizedName("mp_fuselage_15_solid_insulation");
mp_fuselage_15_solid_desh = ((ItemCustomMissilePart) mp_fuselage_15_solid).copy().setRarity(Rarity.RARE).setAuthor("Hoboy").setTitle("Desh Plating").setHealth(80F).setUnlocalizedName("mp_fuselage_15_solid_desh");
mp_fuselage_15_solid_soviet_glory = ((ItemCustomMissilePart) mp_fuselage_15_solid).copy().setRarity(Rarity.RARE).setAuthor("Hoboy").setTitle("Soviet Glory").setHealth(70F).setUnlocalizedName("mp_fuselage_15_solid_soviet_glory");
mp_fuselage_15_solid_soviet_stank = ((ItemCustomMissilePart) mp_fuselage_15_solid).copy().setRarity(Rarity.EPIC).setAuthor("Hoboy").setTitle("Soviet Stank").setHealth(15F).setWittyText("Aged like a fine wine! Well, almost.").setUnlocalizedName("mp_fuselage_15_solid_soviet_stank");
mp_fuselage_15_solid_faust = ((ItemCustomMissilePart) mp_fuselage_15_solid).copy().setRarity(Rarity.LEGENDARY).setAuthor("Dr.Nostalgia").setTitle("Mighty Lauren").setHealth(250F).setWittyText("Welcome to Subway, may I take your order?").setUnlocalizedName("mp_fuselage_15_solid_faust");
mp_fuselage_15_solid_silvermoonlight = ((ItemCustomMissilePart) mp_fuselage_15_solid).copy().setRarity(Rarity.UNCOMMON).setAuthor("The Master").setTitle("Silver Moonlight").setUnlocalizedName("mp_fuselage_15_solid_silvermoonlight");
mp_fuselage_15_solid_snowy = ((ItemCustomMissilePart) mp_fuselage_15_solid).copy().setRarity(Rarity.UNCOMMON).setAuthor("Dr.Nostalgia").setTitle("Chilly Day").setUnlocalizedName("mp_fuselage_15_solid_snowy");
mp_fuselage_15_solid_panorama = ((ItemCustomMissilePart) mp_fuselage_15_solid).copy().setRarity(Rarity.RARE).setAuthor("Hoboy").setTitle("Panorama").setUnlocalizedName("mp_fuselage_15_solid_panorama");
mp_fuselage_15_solid_roses = ((ItemCustomMissilePart) mp_fuselage_15_solid).copy().setRarity(Rarity.UNCOMMON).setAuthor("Hoboy").setTitle("Bed of roses").setUnlocalizedName("mp_fuselage_15_solid_roses");
mp_fuselage_15_solid_mimi = ((ItemCustomMissilePart) mp_fuselage_15_solid).copy().setRarity(Rarity.RARE).setTitle("Mimi-chan").setUnlocalizedName("mp_fuselage_15_solid_mimi");
mp_fuselage_15_hydrogen = new ItemMissile().makeFuselage(FuelType.HYDROGEN, 15000F, PartSize.SIZE_15, PartSize.SIZE_15).setHealth(50F) .setUnlocalizedName("mp_fuselage_15_hydrogen").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_fuselage");
mp_fuselage_15_hydrogen_cathedral = ((ItemMissile) mp_fuselage_15_hydrogen).copy().setRarity(Rarity.UNCOMMON).setAuthor("Satan").setTitle("Unholy Cathedral").setUnlocalizedName("mp_fuselage_15_hydrogen_cathedral");
mp_fuselage_15_hydrogen = new ItemCustomMissilePart().makeFuselage(FuelType.HYDROGEN, 15000F, PartSize.SIZE_15, PartSize.SIZE_15).setHealth(50F) .setUnlocalizedName("mp_fuselage_15_hydrogen").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_fuselage");
mp_fuselage_15_hydrogen_cathedral = ((ItemCustomMissilePart) mp_fuselage_15_hydrogen).copy().setRarity(Rarity.UNCOMMON).setAuthor("Satan").setTitle("Unholy Cathedral").setUnlocalizedName("mp_fuselage_15_hydrogen_cathedral");
mp_fuselage_15_balefire = new ItemMissile().makeFuselage(FuelType.BALEFIRE, 15000F, PartSize.SIZE_15, PartSize.SIZE_15).setHealth(75F) .setUnlocalizedName("mp_fuselage_15_balefire").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_fuselage");
mp_fuselage_15_balefire = new ItemCustomMissilePart().makeFuselage(FuelType.BALEFIRE, 15000F, PartSize.SIZE_15, PartSize.SIZE_15).setHealth(75F) .setUnlocalizedName("mp_fuselage_15_balefire").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_fuselage");
mp_fuselage_15_20_kerosene = new ItemMissile().makeFuselage(FuelType.KEROSENE, 20000, PartSize.SIZE_15, PartSize.SIZE_20).setAuthor("Hoboy").setHealth(70F).setUnlocalizedName("mp_fuselage_15_20_kerosene").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_fuselage");
mp_fuselage_15_20_kerosene_magnusson = ((ItemMissile)mp_fuselage_15_20_kerosene).copy().setRarity(Rarity.RARE).setAuthor("VT-6/24").setTitle("White Forest Rocket").setWittyText("And get your cranio-conjugal parasite away from my nose cone!").setUnlocalizedName("mp_fuselage_15_20_kerosene_magnusson");
mp_fuselage_15_20_solid = new ItemMissile().makeFuselage(FuelType.SOLID, 20000, PartSize.SIZE_15, PartSize.SIZE_20).setHealth(70F).setUnlocalizedName("mp_fuselage_15_20_solid").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_fuselage");
mp_fuselage_15_20_kerosene = new ItemCustomMissilePart().makeFuselage(FuelType.KEROSENE, 20000, PartSize.SIZE_15, PartSize.SIZE_20).setAuthor("Hoboy").setHealth(70F).setUnlocalizedName("mp_fuselage_15_20_kerosene").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_fuselage");
mp_fuselage_15_20_kerosene_magnusson = ((ItemCustomMissilePart)mp_fuselage_15_20_kerosene).copy().setRarity(Rarity.RARE).setAuthor("VT-6/24").setTitle("White Forest Rocket").setWittyText("And get your cranio-conjugal parasite away from my nose cone!").setUnlocalizedName("mp_fuselage_15_20_kerosene_magnusson");
mp_fuselage_15_20_solid = new ItemCustomMissilePart().makeFuselage(FuelType.SOLID, 20000, PartSize.SIZE_15, PartSize.SIZE_20).setHealth(70F).setUnlocalizedName("mp_fuselage_15_20_solid").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_fuselage");
mp_fuselage_20_kerosene = new ItemMissile().makeFuselage(FuelType.KEROSENE, 1000F, PartSize.SIZE_20, PartSize.SIZE_20) .setUnlocalizedName("mp_f_20").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_fuselage");
mp_fuselage_20_kerosene = new ItemCustomMissilePart().makeFuselage(FuelType.KEROSENE, 1000F, PartSize.SIZE_20, PartSize.SIZE_20) .setUnlocalizedName("mp_f_20").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_fuselage");
mp_warhead_10_he = new ItemMissile().makeWarhead(WarheadType.HE, 15F, 1.5F, PartSize.SIZE_10).setHealth(5F) .setUnlocalizedName("mp_warhead_10_he").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead");
mp_warhead_10_incendiary = new ItemMissile().makeWarhead(WarheadType.INC, 15F, 1.5F, PartSize.SIZE_10).setHealth(5F) .setUnlocalizedName("mp_warhead_10_incendiary").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead");
mp_warhead_10_buster = new ItemMissile().makeWarhead(WarheadType.BUSTER, 5F, 1.5F, PartSize.SIZE_10).setHealth(5F) .setUnlocalizedName("mp_warhead_10_buster").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead");
mp_warhead_10_nuclear = new ItemMissile().makeWarhead(WarheadType.NUCLEAR, 35F, 1.5F, PartSize.SIZE_10).setTitle("Tater Tot").setHealth(10F).setUnlocalizedName("mp_warhead_10_nuclear").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead");
mp_warhead_10_nuclear_large = new ItemMissile().makeWarhead(WarheadType.NUCLEAR, 75F, 2.5F, PartSize.SIZE_10).setTitle("Chernobyl Boris").setHealth(15F).setUnlocalizedName("mp_warhead_10_nuclear_large").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead");
mp_warhead_10_taint = new ItemMissile().makeWarhead(WarheadType.TAINT, 15F, 1.5F, PartSize.SIZE_10).setHealth(20F).setRarity(Rarity.UNCOMMON).setWittyText("Eat my taint! Bureaucracy is dead and we killed it!").setUnlocalizedName("mp_warhead_10_taint").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead");
mp_warhead_10_cloud = new ItemMissile().makeWarhead(WarheadType.CLOUD, 15F, 1.5F, PartSize.SIZE_10).setHealth(20F).setRarity(Rarity.RARE).setUnlocalizedName("mp_warhead_10_cloud").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead");
mp_warhead_15_he = new ItemMissile().makeWarhead(WarheadType.HE, 50F, 2.5F, PartSize.SIZE_15).setHealth(10F) .setUnlocalizedName("mp_warhead_15_he").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead");
mp_warhead_15_incendiary = new ItemMissile().makeWarhead(WarheadType.INC, 35F, 2.5F, PartSize.SIZE_15).setHealth(10F) .setUnlocalizedName("mp_warhead_15_incendiary").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead");
mp_warhead_15_nuclear = new ItemMissile().makeWarhead(WarheadType.NUCLEAR, 125F, 5F, PartSize.SIZE_15).setTitle("Auntie Bertha").setHealth(15F).setUnlocalizedName("mp_warhead_15_nuclear").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead");
mp_warhead_15_nuclear_shark = ((ItemMissile) mp_warhead_15_nuclear).copy().setRarity(Rarity.UNCOMMON).setTitle("Discount Bullet Bill").setWittyText("Nose art on a cannon bullet? Who does that?").setUnlocalizedName("mp_warhead_15_nuclear_shark");
mp_warhead_15_nuclear_mimi = ((ItemMissile) mp_warhead_15_nuclear).copy().setRarity(Rarity.RARE).setTitle("FASHIONABLE MISSILE").setUnlocalizedName("mp_warhead_15_nuclear_mimi");
mp_warhead_15_boxcar = new ItemMissile().makeWarhead(WarheadType.TX, 250F, 7.5F, PartSize.SIZE_15).setWittyText("?!?!").setHealth(35F).setRarity(Rarity.LEGENDARY).setUnlocalizedName("mp_warhead_15_boxcar").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead");
mp_warhead_15_n2 = new ItemMissile().makeWarhead(WarheadType.N2, 100F, 5F, PartSize.SIZE_15).setWittyText("[screams geometrically]").setHealth(20F).setRarity(Rarity.RARE).setUnlocalizedName("mp_warhead_15_n2").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead");
mp_warhead_15_balefire = new ItemMissile().makeWarhead(WarheadType.BALEFIRE, 100F, 7.5F, PartSize.SIZE_15).setRarity(Rarity.LEGENDARY).setAuthor("VT-6/24").setHealth(15F).setWittyText("Hightower, never forgetti.").setUnlocalizedName("mp_warhead_15_balefire").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead");
mp_warhead_15_turbine = new ItemMissile().makeWarhead(WarheadType.TURBINE, 200F, 5F, PartSize.SIZE_15).setRarity(Rarity.SEWS_CLOTHES_AND_SUCKS_HORSE_COCK).setHealth(250F).setUnlocalizedName("mp_warhead_15_turbine").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead");
mp_warhead_20_he = new ItemMissile().makeWarhead(WarheadType.HE, 15F, 1F, PartSize.SIZE_20) .setUnlocalizedName("mp_w_20").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead");
mp_warhead_10_he = new ItemCustomMissilePart().makeWarhead(WarheadType.HE, 15F, 1.5F, PartSize.SIZE_10).setHealth(5F) .setUnlocalizedName("mp_warhead_10_he").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead");
mp_warhead_10_incendiary = new ItemCustomMissilePart().makeWarhead(WarheadType.INC, 15F, 1.5F, PartSize.SIZE_10).setHealth(5F) .setUnlocalizedName("mp_warhead_10_incendiary").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead");
mp_warhead_10_buster = new ItemCustomMissilePart().makeWarhead(WarheadType.BUSTER, 5F, 1.5F, PartSize.SIZE_10).setHealth(5F) .setUnlocalizedName("mp_warhead_10_buster").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead");
mp_warhead_10_nuclear = new ItemCustomMissilePart().makeWarhead(WarheadType.NUCLEAR, 35F, 1.5F, PartSize.SIZE_10).setTitle("Tater Tot").setHealth(10F).setUnlocalizedName("mp_warhead_10_nuclear").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead");
mp_warhead_10_nuclear_large = new ItemCustomMissilePart().makeWarhead(WarheadType.NUCLEAR, 75F, 2.5F, PartSize.SIZE_10).setTitle("Chernobyl Boris").setHealth(15F).setUnlocalizedName("mp_warhead_10_nuclear_large").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead");
mp_warhead_10_taint = new ItemCustomMissilePart().makeWarhead(WarheadType.TAINT, 15F, 1.5F, PartSize.SIZE_10).setHealth(20F).setRarity(Rarity.UNCOMMON).setWittyText("Eat my taint! Bureaucracy is dead and we killed it!").setUnlocalizedName("mp_warhead_10_taint").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead");
mp_warhead_10_cloud = new ItemCustomMissilePart().makeWarhead(WarheadType.CLOUD, 15F, 1.5F, PartSize.SIZE_10).setHealth(20F).setRarity(Rarity.RARE).setUnlocalizedName("mp_warhead_10_cloud").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead");
mp_warhead_15_he = new ItemCustomMissilePart().makeWarhead(WarheadType.HE, 50F, 2.5F, PartSize.SIZE_15).setHealth(10F) .setUnlocalizedName("mp_warhead_15_he").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead");
mp_warhead_15_incendiary = new ItemCustomMissilePart().makeWarhead(WarheadType.INC, 35F, 2.5F, PartSize.SIZE_15).setHealth(10F) .setUnlocalizedName("mp_warhead_15_incendiary").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead");
mp_warhead_15_nuclear = new ItemCustomMissilePart().makeWarhead(WarheadType.NUCLEAR, 125F, 5F, PartSize.SIZE_15).setTitle("Auntie Bertha").setHealth(15F).setUnlocalizedName("mp_warhead_15_nuclear").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead");
mp_warhead_15_nuclear_shark = ((ItemCustomMissilePart) mp_warhead_15_nuclear).copy().setRarity(Rarity.UNCOMMON).setTitle("Discount Bullet Bill").setWittyText("Nose art on a cannon bullet? Who does that?").setUnlocalizedName("mp_warhead_15_nuclear_shark");
mp_warhead_15_nuclear_mimi = ((ItemCustomMissilePart) mp_warhead_15_nuclear).copy().setRarity(Rarity.RARE).setTitle("FASHIONABLE MISSILE").setUnlocalizedName("mp_warhead_15_nuclear_mimi");
mp_warhead_15_boxcar = new ItemCustomMissilePart().makeWarhead(WarheadType.TX, 250F, 7.5F, PartSize.SIZE_15).setWittyText("?!?!").setHealth(35F).setRarity(Rarity.LEGENDARY).setUnlocalizedName("mp_warhead_15_boxcar").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead");
mp_warhead_15_n2 = new ItemCustomMissilePart().makeWarhead(WarheadType.N2, 100F, 5F, PartSize.SIZE_15).setWittyText("[screams geometrically]").setHealth(20F).setRarity(Rarity.RARE).setUnlocalizedName("mp_warhead_15_n2").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead");
mp_warhead_15_balefire = new ItemCustomMissilePart().makeWarhead(WarheadType.BALEFIRE, 100F, 7.5F, PartSize.SIZE_15).setRarity(Rarity.LEGENDARY).setAuthor("VT-6/24").setHealth(15F).setWittyText("Hightower, never forgetti.").setUnlocalizedName("mp_warhead_15_balefire").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead");
mp_warhead_15_turbine = new ItemCustomMissilePart().makeWarhead(WarheadType.TURBINE, 200F, 5F, PartSize.SIZE_15).setRarity(Rarity.SEWS_CLOTHES_AND_SUCKS_HORSE_COCK).setHealth(250F).setUnlocalizedName("mp_warhead_15_turbine").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead");
mp_warhead_20_he = new ItemCustomMissilePart().makeWarhead(WarheadType.HE, 15F, 1F, PartSize.SIZE_20) .setUnlocalizedName("mp_w_20").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead");
mp_chip_1 = new ItemMissile().makeChip(0.1F) .setUnlocalizedName("mp_c_1").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_c_1");
mp_chip_2 = new ItemMissile().makeChip(0.05F) .setUnlocalizedName("mp_c_2").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_c_2");
mp_chip_3 = new ItemMissile().makeChip(0.01F) .setUnlocalizedName("mp_c_3").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_c_3");
mp_chip_4 = new ItemMissile().makeChip(0.005F) .setUnlocalizedName("mp_c_4").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_c_4");
mp_chip_5 = new ItemMissile().makeChip(0.0F) .setUnlocalizedName("mp_c_5").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_c_5");
mp_chip_1 = new ItemCustomMissilePart().makeChip(0.1F) .setUnlocalizedName("mp_c_1").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_c_1");
mp_chip_2 = new ItemCustomMissilePart().makeChip(0.05F) .setUnlocalizedName("mp_c_2").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_c_2");
mp_chip_3 = new ItemCustomMissilePart().makeChip(0.01F) .setUnlocalizedName("mp_c_3").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_c_3");
mp_chip_4 = new ItemCustomMissilePart().makeChip(0.005F) .setUnlocalizedName("mp_c_4").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_c_4");
mp_chip_5 = new ItemCustomMissilePart().makeChip(0.0F) .setUnlocalizedName("mp_c_5").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_c_5");
missile_skin_camo = new ItemCustomLore().setUnlocalizedName("missile_skin_camo").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_skin_camo");
missile_skin_desert = new ItemCustomLore().setUnlocalizedName("missile_skin_desert").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_skin_desert");
@ -4261,7 +4255,6 @@ public class ModItems {
gun_vortex = new ItemGunBase(Gun556mmFactory.getEuphieConfig()).setUnlocalizedName("gun_vortex").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_vortex");
gun_super_shotgun = new ItemCustomLore().setUnlocalizedName("gun_super_shotgun").setMaxStackSize(1).setFull3D().setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_super_shotgun");
gun_moist_nugget = new ItemNugget(3, false).setUnlocalizedName("gun_moist_nugget").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_moist_nugget");
gun_dampfmaschine = new GunDampfmaschine().setUnlocalizedName("gun_dampfmaschine").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_dampfmaschine");
gun_darter = new ItemGunDart(GunDartFactory.getDarterConfig()).setFull3D().setUnlocalizedName("gun_darter").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_darter");
gun_detonator = new ItemGunDetonator(GunDetonatorFactory.getDetonatorConfig()).setFull3D().setUnlocalizedName("gun_detonator").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_darter");
gun_glass_cannon = new ItemEnergyGunBase(GunPoweredFactory.getGlassCannonConfig()).setFull3D().setUnlocalizedName("gun_glass_cannon").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_darter");
@ -6203,8 +6196,6 @@ public class ModItems {
GameRegistry.registerItem(warhead_mirvlet, warhead_mirvlet.getUnlocalizedName());
GameRegistry.registerItem(warhead_mirv, warhead_mirv.getUnlocalizedName());
GameRegistry.registerItem(warhead_volcano, warhead_volcano.getUnlocalizedName());
GameRegistry.registerItem(warhead_thermo_endo, warhead_thermo_endo.getUnlocalizedName());
GameRegistry.registerItem(warhead_thermo_exo, warhead_thermo_exo.getUnlocalizedName());
GameRegistry.registerItem(fuel_tank_small, fuel_tank_small.getUnlocalizedName());
GameRegistry.registerItem(fuel_tank_medium, fuel_tank_medium.getUnlocalizedName());
GameRegistry.registerItem(fuel_tank_large, fuel_tank_large.getUnlocalizedName());
@ -6890,34 +6881,38 @@ public class ModItems {
GameRegistry.registerItem(padlock_unbreakable, padlock_unbreakable.getUnlocalizedName());
//Missiles
GameRegistry.registerItem(missile_generic, missile_generic.getUnlocalizedName());
GameRegistry.registerItem(missile_anti_ballistic, missile_anti_ballistic.getUnlocalizedName());
GameRegistry.registerItem(missile_decoy, missile_decoy.getUnlocalizedName());
GameRegistry.registerItem(missile_incendiary, missile_incendiary.getUnlocalizedName());
GameRegistry.registerItem(missile_cluster, missile_cluster.getUnlocalizedName());
GameRegistry.registerItem(missile_buster, missile_buster.getUnlocalizedName());
GameRegistry.registerItem(missile_strong, missile_strong.getUnlocalizedName());
GameRegistry.registerItem(missile_incendiary_strong, missile_incendiary_strong.getUnlocalizedName());
GameRegistry.registerItem(missile_cluster_strong, missile_cluster_strong.getUnlocalizedName());
GameRegistry.registerItem(missile_buster_strong, missile_buster_strong.getUnlocalizedName());
GameRegistry.registerItem(missile_emp_strong, missile_emp_strong.getUnlocalizedName());
GameRegistry.registerItem(missile_burst, missile_burst.getUnlocalizedName());
GameRegistry.registerItem(missile_inferno, missile_inferno.getUnlocalizedName());
GameRegistry.registerItem(missile_rain, missile_rain.getUnlocalizedName());
GameRegistry.registerItem(missile_drill, missile_drill.getUnlocalizedName());
GameRegistry.registerItem(missile_nuclear, missile_nuclear.getUnlocalizedName());
GameRegistry.registerItem(missile_nuclear_cluster, missile_nuclear_cluster.getUnlocalizedName());
GameRegistry.registerItem(missile_volcano, missile_volcano.getUnlocalizedName());
GameRegistry.registerItem(missile_endo, missile_endo.getUnlocalizedName());
GameRegistry.registerItem(missile_exo, missile_exo.getUnlocalizedName());
GameRegistry.registerItem(missile_doomsday, missile_doomsday.getUnlocalizedName());
//Tier 0
GameRegistry.registerItem(missile_taint, missile_taint.getUnlocalizedName());
GameRegistry.registerItem(missile_micro, missile_micro.getUnlocalizedName());
GameRegistry.registerItem(missile_bhole, missile_bhole.getUnlocalizedName());
GameRegistry.registerItem(missile_schrabidium, missile_schrabidium.getUnlocalizedName());
GameRegistry.registerItem(missile_emp, missile_emp.getUnlocalizedName());
GameRegistry.registerItem(missile_shuttle, missile_shuttle.getUnlocalizedName());
//Tier 1
GameRegistry.registerItem(missile_generic, missile_generic.getUnlocalizedName());
GameRegistry.registerItem(missile_decoy, missile_decoy.getUnlocalizedName());
GameRegistry.registerItem(missile_incendiary, missile_incendiary.getUnlocalizedName());
GameRegistry.registerItem(missile_cluster, missile_cluster.getUnlocalizedName());
GameRegistry.registerItem(missile_buster, missile_buster.getUnlocalizedName());
GameRegistry.registerItem(missile_stealth, missile_stealth.getUnlocalizedName());
GameRegistry.registerItem(missile_anti_ballistic, missile_anti_ballistic.getUnlocalizedName());
//Tier 2
GameRegistry.registerItem(missile_strong, missile_strong.getUnlocalizedName());
GameRegistry.registerItem(missile_incendiary_strong, missile_incendiary_strong.getUnlocalizedName());
GameRegistry.registerItem(missile_cluster_strong, missile_cluster_strong.getUnlocalizedName());
GameRegistry.registerItem(missile_buster_strong, missile_buster_strong.getUnlocalizedName());
GameRegistry.registerItem(missile_emp_strong, missile_emp_strong.getUnlocalizedName());
//Tier 3
GameRegistry.registerItem(missile_burst, missile_burst.getUnlocalizedName());
GameRegistry.registerItem(missile_inferno, missile_inferno.getUnlocalizedName());
GameRegistry.registerItem(missile_rain, missile_rain.getUnlocalizedName());
GameRegistry.registerItem(missile_drill, missile_drill.getUnlocalizedName());
GameRegistry.registerItem(missile_shuttle, missile_shuttle.getUnlocalizedName());
//Tier 4
GameRegistry.registerItem(missile_nuclear, missile_nuclear.getUnlocalizedName());
GameRegistry.registerItem(missile_nuclear_cluster, missile_nuclear_cluster.getUnlocalizedName());
GameRegistry.registerItem(missile_volcano, missile_volcano.getUnlocalizedName());
GameRegistry.registerItem(missile_doomsday, missile_doomsday.getUnlocalizedName());
//Rockets
GameRegistry.registerItem(missile_carrier, missile_carrier.getUnlocalizedName());
GameRegistry.registerItem(missile_soyuz, missile_soyuz.getUnlocalizedName());
GameRegistry.registerItem(missile_soyuz_lander, missile_soyuz_lander.getUnlocalizedName());
@ -7160,7 +7155,6 @@ public class ModItems {
GameRegistry.registerItem(gun_vortex, gun_vortex.getUnlocalizedName());
GameRegistry.registerItem(gun_super_shotgun, gun_super_shotgun.getUnlocalizedName());
GameRegistry.registerItem(gun_moist_nugget, gun_moist_nugget.getUnlocalizedName());
GameRegistry.registerItem(gun_dampfmaschine, gun_dampfmaschine.getUnlocalizedName());
GameRegistry.registerItem(gun_darter, gun_darter.getUnlocalizedName());
GameRegistry.registerItem(gun_detonator, gun_detonator.getUnlocalizedName());
GameRegistry.registerItem(crucible, crucible.getUnlocalizedName());
@ -7168,29 +7162,7 @@ public class ModItems {
GameRegistry.registerItem(gun_lunatic_marksman, gun_lunatic_marksman.getUnlocalizedName());
//Ammo
/*GameRegistry.registerItem(gun_revolver_iron_ammo, gun_revolver_iron_ammo.getUnlocalizedName());
GameRegistry.registerItem(gun_revolver_ammo, gun_revolver_ammo.getUnlocalizedName());
GameRegistry.registerItem(gun_revolver_gold_ammo, gun_revolver_gold_ammo.getUnlocalizedName());
GameRegistry.registerItem(gun_revolver_lead_ammo, gun_revolver_lead_ammo.getUnlocalizedName());
GameRegistry.registerItem(gun_revolver_schrabidium_ammo, gun_revolver_schrabidium_ammo.getUnlocalizedName());
GameRegistry.registerItem(gun_revolver_cursed_ammo, gun_revolver_cursed_ammo.getUnlocalizedName());
GameRegistry.registerItem(gun_revolver_nightmare_ammo, gun_revolver_nightmare_ammo.getUnlocalizedName());
GameRegistry.registerItem(ammo_357_desh, ammo_357_desh.getUnlocalizedName());
GameRegistry.registerItem(gun_revolver_nightmare2_ammo, gun_revolver_nightmare2_ammo.getUnlocalizedName());*/
//GameRegistry.registerItem(gun_revolver_pip_ammo, gun_revolver_pip_ammo.getUnlocalizedName());
//GameRegistry.registerItem(gun_revolver_nopip_ammo, gun_revolver_nopip_ammo.getUnlocalizedName());
//GameRegistry.registerItem(gun_calamity_ammo, gun_calamity_ammo.getUnlocalizedName());
//GameRegistry.registerItem(gun_lacunae_ammo, gun_lacunae_ammo.getUnlocalizedName());
GameRegistry.registerItem(gun_b92_ammo, gun_b92_ammo.getUnlocalizedName());
//GameRegistry.registerItem(gun_rpg_ammo, gun_rpg_ammo.getUnlocalizedName());
//GameRegistry.registerItem(gun_stinger_ammo, gun_stinger_ammo.getUnlocalizedName());
//GameRegistry.registerItem(gun_fatman_ammo, gun_fatman_ammo.getUnlocalizedName());
//GameRegistry.registerItem(gun_mirv_ammo, gun_mirv_ammo.getUnlocalizedName());
//GameRegistry.registerItem(gun_mp40_ammo, gun_mp40_ammo.getUnlocalizedName());
//GameRegistry.registerItem(gun_uzi_ammo, gun_uzi_ammo.getUnlocalizedName());
//GameRegistry.registerItem(gun_uboinik_ammo, gun_uboinik_ammo.getUnlocalizedName());
//GameRegistry.registerItem(gun_lever_action_ammo, gun_lever_action_ammo.getUnlocalizedName());
//GameRegistry.registerItem(gun_bolt_action_ammo, gun_bolt_action_ammo.getUnlocalizedName());
GameRegistry.registerItem(gun_xvl1456_ammo, gun_xvl1456_ammo.getUnlocalizedName());
GameRegistry.registerItem(gun_osipr_ammo, gun_osipr_ammo.getUnlocalizedName());
GameRegistry.registerItem(gun_osipr_ammo2, gun_osipr_ammo2.getUnlocalizedName());
@ -7228,157 +7200,9 @@ public class ModItems {
GameRegistry.registerItem(ammo_coilgun, ammo_coilgun.getUnlocalizedName());
GameRegistry.registerItem(ammo_grenade, ammo_grenade.getUnlocalizedName());
GameRegistry.registerItem(ammo_shell, ammo_shell.getUnlocalizedName());
/*GameRegistry.registerItem(ammo_12gauge, ammo_12gauge.getUnlocalizedName());
GameRegistry.registerItem(ammo_12gauge_incendiary, ammo_12gauge_incendiary.getUnlocalizedName());
GameRegistry.registerItem(ammo_12gauge_shrapnel, ammo_12gauge_shrapnel.getUnlocalizedName());
GameRegistry.registerItem(ammo_12gauge_du, ammo_12gauge_du.getUnlocalizedName());
GameRegistry.registerItem(ammo_12gauge_sleek, ammo_12gauge_sleek.getUnlocalizedName());
GameRegistry.registerItem(ammo_12gauge_marauder, ammo_12gauge_marauder.getUnlocalizedName());
GameRegistry.registerItem(ammo_20gauge, ammo_20gauge.getUnlocalizedName());
GameRegistry.registerItem(ammo_20gauge_slug, ammo_20gauge_slug.getUnlocalizedName());
GameRegistry.registerItem(ammo_20gauge_flechette, ammo_20gauge_flechette.getUnlocalizedName());
GameRegistry.registerItem(ammo_20gauge_incendiary, ammo_20gauge_incendiary.getUnlocalizedName());
GameRegistry.registerItem(ammo_20gauge_shrapnel, ammo_20gauge_shrapnel.getUnlocalizedName());
GameRegistry.registerItem(ammo_20gauge_explosive, ammo_20gauge_explosive.getUnlocalizedName());
GameRegistry.registerItem(ammo_20gauge_caustic, ammo_20gauge_caustic.getUnlocalizedName());
GameRegistry.registerItem(ammo_20gauge_shock, ammo_20gauge_shock.getUnlocalizedName());
GameRegistry.registerItem(ammo_20gauge_wither, ammo_20gauge_wither.getUnlocalizedName());
GameRegistry.registerItem(ammo_20gauge_sleek, ammo_20gauge_sleek.getUnlocalizedName());
GameRegistry.registerItem(ammo_4gauge, ammo_4gauge.getUnlocalizedName());
GameRegistry.registerItem(ammo_4gauge_slug, ammo_4gauge_slug.getUnlocalizedName());
GameRegistry.registerItem(ammo_4gauge_flechette, ammo_4gauge_flechette.getUnlocalizedName());
GameRegistry.registerItem(ammo_4gauge_flechette_phosphorus, ammo_4gauge_flechette_phosphorus.getUnlocalizedName());
GameRegistry.registerItem(ammo_4gauge_explosive, ammo_4gauge_explosive.getUnlocalizedName());
GameRegistry.registerItem(ammo_4gauge_semtex, ammo_4gauge_semtex.getUnlocalizedName());
GameRegistry.registerItem(ammo_4gauge_balefire, ammo_4gauge_balefire.getUnlocalizedName());
GameRegistry.registerItem(ammo_4gauge_kampf, ammo_4gauge_kampf.getUnlocalizedName());
GameRegistry.registerItem(ammo_4gauge_canister, ammo_4gauge_canister.getUnlocalizedName());
GameRegistry.registerItem(ammo_4gauge_claw, ammo_4gauge_claw.getUnlocalizedName());
GameRegistry.registerItem(ammo_4gauge_vampire, ammo_4gauge_vampire.getUnlocalizedName());
GameRegistry.registerItem(ammo_4gauge_void, ammo_4gauge_void.getUnlocalizedName());
GameRegistry.registerItem(ammo_4gauge_titan, ammo_4gauge_titan.getUnlocalizedName());
GameRegistry.registerItem(ammo_4gauge_sleek, ammo_4gauge_sleek.getUnlocalizedName());
GameRegistry.registerItem(ammo_44, ammo_44.getUnlocalizedName());
GameRegistry.registerItem(ammo_44_ap, ammo_44_ap.getUnlocalizedName());
GameRegistry.registerItem(ammo_44_du, ammo_44_du.getUnlocalizedName());
GameRegistry.registerItem(ammo_44_phosphorus, ammo_44_phosphorus.getUnlocalizedName());
GameRegistry.registerItem(ammo_44_star, ammo_44_star.getUnlocalizedName());
GameRegistry.registerItem(ammo_44_chlorophyte, ammo_44_chlorophyte.getUnlocalizedName());
GameRegistry.registerItem(ammo_44_pip, ammo_44_pip.getUnlocalizedName());
GameRegistry.registerItem(ammo_44_bj, ammo_44_bj.getUnlocalizedName());
GameRegistry.registerItem(ammo_44_silver, ammo_44_silver.getUnlocalizedName());
GameRegistry.registerItem(ammo_44_rocket, ammo_44_rocket.getUnlocalizedName());
GameRegistry.registerItem(ammo_5mm, ammo_5mm.getUnlocalizedName());
GameRegistry.registerItem(ammo_5mm_explosive, ammo_5mm_explosive.getUnlocalizedName());
GameRegistry.registerItem(ammo_5mm_du, ammo_5mm_du.getUnlocalizedName());
GameRegistry.registerItem(ammo_5mm_star, ammo_5mm_star.getUnlocalizedName());
GameRegistry.registerItem(ammo_5mm_chlorophyte, ammo_5mm_chlorophyte.getUnlocalizedName());
GameRegistry.registerItem(ammo_9mm, ammo_9mm.getUnlocalizedName());
GameRegistry.registerItem(ammo_9mm_ap, ammo_9mm_ap.getUnlocalizedName());
GameRegistry.registerItem(ammo_9mm_du, ammo_9mm_du.getUnlocalizedName());
GameRegistry.registerItem(ammo_9mm_chlorophyte, ammo_9mm_chlorophyte.getUnlocalizedName());
GameRegistry.registerItem(ammo_9mm_rocket, ammo_9mm_rocket.getUnlocalizedName());
GameRegistry.registerItem(ammo_556, ammo_556.getUnlocalizedName());
GameRegistry.registerItem(ammo_566_gold, ammo_566_gold.getUnlocalizedName());
GameRegistry.registerItem(ammo_556_phosphorus, ammo_556_phosphorus.getUnlocalizedName());
GameRegistry.registerItem(ammo_556_ap, ammo_556_ap.getUnlocalizedName());
GameRegistry.registerItem(ammo_556_du, ammo_556_du.getUnlocalizedName());
GameRegistry.registerItem(ammo_556_star, ammo_556_star.getUnlocalizedName());
GameRegistry.registerItem(ammo_556_chlorophyte, ammo_556_chlorophyte.getUnlocalizedName());
GameRegistry.registerItem(ammo_556_sleek, ammo_556_sleek.getUnlocalizedName());
GameRegistry.registerItem(ammo_556_tracer, ammo_556_tracer.getUnlocalizedName());
GameRegistry.registerItem(ammo_556_flechette, ammo_556_flechette.getUnlocalizedName());
GameRegistry.registerItem(ammo_556_flechette_incendiary, ammo_556_flechette_incendiary.getUnlocalizedName());
GameRegistry.registerItem(ammo_556_flechette_phosphorus, ammo_556_flechette_phosphorus.getUnlocalizedName());
GameRegistry.registerItem(ammo_556_flechette_du, ammo_556_flechette_du.getUnlocalizedName());
GameRegistry.registerItem(ammo_556_flechette_chlorophyte, ammo_556_flechette_chlorophyte.getUnlocalizedName());
GameRegistry.registerItem(ammo_556_flechette_sleek, ammo_556_flechette_sleek.getUnlocalizedName());
GameRegistry.registerItem(ammo_556_k, ammo_556_k.getUnlocalizedName());
GameRegistry.registerItem(ammo_22lr, ammo_22lr.getUnlocalizedName());
GameRegistry.registerItem(ammo_22lr_ap, ammo_22lr_ap.getUnlocalizedName());
GameRegistry.registerItem(ammo_22lr_chlorophyte, ammo_22lr_chlorophyte.getUnlocalizedName());
GameRegistry.registerItem(ammo_50ae, ammo_50ae.getUnlocalizedName());
GameRegistry.registerItem(ammo_50ae_ap, ammo_50ae_ap.getUnlocalizedName());
GameRegistry.registerItem(ammo_50ae_du, ammo_50ae_du.getUnlocalizedName());
GameRegistry.registerItem(ammo_50ae_star, ammo_50ae_star.getUnlocalizedName());
GameRegistry.registerItem(ammo_50ae_chlorophyte, ammo_50ae_chlorophyte.getUnlocalizedName());
GameRegistry.registerItem(ammo_50bmg, ammo_50bmg.getUnlocalizedName());
GameRegistry.registerItem(ammo_50bmg_incendiary, ammo_50bmg_incendiary.getUnlocalizedName());
GameRegistry.registerItem(ammo_50bmg_phosphorus, ammo_50bmg_phosphorus.getUnlocalizedName());
GameRegistry.registerItem(ammo_50bmg_explosive, ammo_50bmg_explosive.getUnlocalizedName());
GameRegistry.registerItem(ammo_50bmg_ap, ammo_50bmg_ap.getUnlocalizedName());
GameRegistry.registerItem(ammo_50bmg_du, ammo_50bmg_du.getUnlocalizedName());
GameRegistry.registerItem(ammo_50bmg_star, ammo_50bmg_star.getUnlocalizedName());
GameRegistry.registerItem(ammo_50bmg_chlorophyte, ammo_50bmg_chlorophyte.getUnlocalizedName());
GameRegistry.registerItem(ammo_50bmg_flechette, ammo_50bmg_flechette.getUnlocalizedName());
GameRegistry.registerItem(ammo_50bmg_flechette_am, ammo_50bmg_flechette_am.getUnlocalizedName());
GameRegistry.registerItem(ammo_50bmg_flechette_po, ammo_50bmg_flechette_po.getUnlocalizedName());
GameRegistry.registerItem(ammo_50bmg_sleek, ammo_50bmg_sleek.getUnlocalizedName());
GameRegistry.registerItem(ammo_75bolt, ammo_75bolt.getUnlocalizedName());
GameRegistry.registerItem(ammo_75bolt_incendiary, ammo_75bolt_incendiary.getUnlocalizedName());
GameRegistry.registerItem(ammo_75bolt_he, ammo_75bolt_he.getUnlocalizedName());
GameRegistry.registerItem(ammo_fuel, ammo_fuel.getUnlocalizedName());
GameRegistry.registerItem(ammo_fuel_napalm, ammo_fuel_napalm.getUnlocalizedName());
GameRegistry.registerItem(ammo_fuel_phosphorus, ammo_fuel_phosphorus.getUnlocalizedName());
GameRegistry.registerItem(ammo_fuel_vaporizer, ammo_fuel_vaporizer.getUnlocalizedName());
GameRegistry.registerItem(ammo_fuel_gas, ammo_fuel_gas.getUnlocalizedName());
GameRegistry.registerItem(ammo_fireext, ammo_fireext.getUnlocalizedName());
GameRegistry.registerItem(ammo_fireext_foam, ammo_fireext_foam.getUnlocalizedName());
GameRegistry.registerItem(ammo_fireext_sand, ammo_fireext_sand.getUnlocalizedName());
GameRegistry.registerItem(ammo_cell, ammo_cell.getUnlocalizedName());
GameRegistry.registerItem(ammo_dart, ammo_dart.getUnlocalizedName());
GameRegistry.registerItem(ammo_dart_nuclear, ammo_dart_nuclear.getUnlocalizedName());
GameRegistry.registerItem(ammo_dart_nerf, ammo_dart_nerf.getUnlocalizedName());
GameRegistry.registerItem(ammo_rocket, ammo_rocket.getUnlocalizedName());
GameRegistry.registerItem(ammo_rocket_he, ammo_rocket_he.getUnlocalizedName());
GameRegistry.registerItem(ammo_rocket_incendiary, ammo_rocket_incendiary.getUnlocalizedName());
GameRegistry.registerItem(ammo_rocket_phosphorus, ammo_rocket_phosphorus.getUnlocalizedName());
GameRegistry.registerItem(ammo_rocket_shrapnel, ammo_rocket_shrapnel.getUnlocalizedName());
GameRegistry.registerItem(ammo_rocket_emp, ammo_rocket_emp.getUnlocalizedName());
GameRegistry.registerItem(ammo_rocket_glare, ammo_rocket_glare.getUnlocalizedName());
GameRegistry.registerItem(ammo_rocket_toxic, ammo_rocket_toxic.getUnlocalizedName());
GameRegistry.registerItem(ammo_rocket_canister, ammo_rocket_canister.getUnlocalizedName());
GameRegistry.registerItem(ammo_rocket_sleek, ammo_rocket_sleek.getUnlocalizedName());
GameRegistry.registerItem(ammo_rocket_nuclear, ammo_rocket_nuclear.getUnlocalizedName());
GameRegistry.registerItem(ammo_rocket_rpc, ammo_rocket_rpc.getUnlocalizedName());
GameRegistry.registerItem(ammo_rocket_digamma, ammo_rocket_digamma.getUnlocalizedName());
GameRegistry.registerItem(ammo_stinger_rocket, ammo_stinger_rocket.getUnlocalizedName());
GameRegistry.registerItem(ammo_stinger_rocket_he, ammo_stinger_rocket_he.getUnlocalizedName());
GameRegistry.registerItem(ammo_stinger_rocket_incendiary, ammo_stinger_rocket_incendiary.getUnlocalizedName());
GameRegistry.registerItem(ammo_stinger_rocket_nuclear, ammo_stinger_rocket_nuclear.getUnlocalizedName());
GameRegistry.registerItem(ammo_stinger_rocket_bones, ammo_stinger_rocket_bones.getUnlocalizedName());
GameRegistry.registerItem(ammo_grenade, ammo_grenade.getUnlocalizedName());
GameRegistry.registerItem(ammo_grenade_he, ammo_grenade_he.getUnlocalizedName());
GameRegistry.registerItem(ammo_grenade_incendiary, ammo_grenade_incendiary.getUnlocalizedName());
GameRegistry.registerItem(ammo_grenade_phosphorus, ammo_grenade_phosphorus.getUnlocalizedName());
GameRegistry.registerItem(ammo_grenade_toxic, ammo_grenade_toxic.getUnlocalizedName());
GameRegistry.registerItem(ammo_grenade_concussion, ammo_grenade_concussion.getUnlocalizedName());
GameRegistry.registerItem(ammo_grenade_finned, ammo_grenade_finned.getUnlocalizedName());
GameRegistry.registerItem(ammo_grenade_sleek, ammo_grenade_sleek.getUnlocalizedName());
GameRegistry.registerItem(ammo_grenade_nuclear, ammo_grenade_nuclear.getUnlocalizedName());
GameRegistry.registerItem(ammo_grenade_tracer, ammo_grenade_tracer.getUnlocalizedName());
GameRegistry.registerItem(ammo_grenade_kampf, ammo_grenade_kampf.getUnlocalizedName());
GameRegistry.registerItem(ammo_shell, ammo_shell.getUnlocalizedName());
GameRegistry.registerItem(ammo_shell_explosive, ammo_shell_explosive.getUnlocalizedName());
GameRegistry.registerItem(ammo_shell_apfsds_t, ammo_shell_apfsds_t.getUnlocalizedName());
GameRegistry.registerItem(ammo_shell_apfsds_du, ammo_shell_apfsds_du.getUnlocalizedName());
GameRegistry.registerItem(ammo_shell_w9, ammo_shell_w9.getUnlocalizedName());*/
GameRegistry.registerItem(ammo_dgk, ammo_dgk.getUnlocalizedName());
GameRegistry.registerItem(ammo_arty, ammo_arty.getUnlocalizedName());
GameRegistry.registerItem(ammo_himars, ammo_himars.getUnlocalizedName());
/*GameRegistry.registerItem(ammo_nuke, ammo_nuke.getUnlocalizedName());
GameRegistry.registerItem(ammo_nuke_low, ammo_nuke_low.getUnlocalizedName());
GameRegistry.registerItem(ammo_nuke_high, ammo_nuke_high.getUnlocalizedName());
GameRegistry.registerItem(ammo_nuke_tots, ammo_nuke_tots.getUnlocalizedName());
GameRegistry.registerItem(ammo_nuke_safe, ammo_nuke_safe.getUnlocalizedName());
GameRegistry.registerItem(ammo_nuke_pumpkin, ammo_nuke_pumpkin.getUnlocalizedName());
GameRegistry.registerItem(ammo_nuke_barrel, ammo_nuke_barrel.getUnlocalizedName());
GameRegistry.registerItem(ammo_mirv, ammo_mirv.getUnlocalizedName());
GameRegistry.registerItem(ammo_mirv_low, ammo_mirv_low.getUnlocalizedName());
GameRegistry.registerItem(ammo_mirv_high, ammo_mirv_high.getUnlocalizedName());
GameRegistry.registerItem(ammo_mirv_safe, ammo_mirv_safe.getUnlocalizedName());
GameRegistry.registerItem(ammo_mirv_special, ammo_mirv_special.getUnlocalizedName());*/
GameRegistry.registerItem(ammo_folly, ammo_folly.getUnlocalizedName());
GameRegistry.registerItem(ammo_folly_nuclear, ammo_folly_nuclear.getUnlocalizedName());
GameRegistry.registerItem(ammo_folly_du, ammo_folly_du.getUnlocalizedName());

View File

@ -5,7 +5,7 @@ import java.util.List;
import java.util.Random;
import com.hbm.items.ModItems;
import com.hbm.items.weapon.ItemMissile;
import com.hbm.items.weapon.ItemCustomMissilePart;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
@ -14,9 +14,9 @@ import net.minecraft.world.World;
public class ItemLootCrate extends Item {
public static List<ItemMissile> list10 = new ArrayList();
public static List<ItemMissile> list15 = new ArrayList();
public static List<ItemMissile> listMisc = new ArrayList();
public static List<ItemCustomMissilePart> list10 = new ArrayList();
public static List<ItemCustomMissilePart> list15 = new ArrayList();
public static List<ItemCustomMissilePart> listMisc = new ArrayList();
private static Random rand = new Random();
@Override
@ -35,10 +35,10 @@ public class ItemLootCrate extends Item {
return stack;
}
private ItemMissile choose(List<ItemMissile> parts) {
private ItemCustomMissilePart choose(List<ItemCustomMissilePart> parts) {
boolean flag = true;
ItemMissile item = null;
ItemCustomMissilePart item = null;
while(flag) {
item = parts.get(rand.nextInt(parts.size()));

View File

@ -428,8 +428,6 @@ public class ItemStarterKit extends Item {
player.inventory.addItemStackToInventory(new ItemStack(ModItems.missile_nuclear, 1));
player.inventory.addItemStackToInventory(new ItemStack(ModItems.missile_nuclear_cluster, 1));
player.inventory.addItemStackToInventory(new ItemStack(ModItems.missile_volcano, 1));
player.inventory.addItemStackToInventory(new ItemStack(ModItems.missile_endo, 1));
player.inventory.addItemStackToInventory(new ItemStack(ModItems.missile_exo, 1));
player.inventory.addItemStackToInventory(new ItemStack(ModItems.missile_doomsday, 1));
player.inventory.addItemStackToInventory(new ItemStack(ModItems.missile_taint, 1));
player.inventory.addItemStackToInventory(new ItemStack(ModItems.missile_micro, 1));

View File

@ -1,115 +0,0 @@
package com.hbm.items.weapon;
import java.util.List;
import java.util.Random;
import com.google.common.collect.Multimap;
import com.hbm.entity.missile.EntityBombletSelena;
import com.hbm.entity.projectile.EntityRocket;
import net.minecraft.entity.SharedMonsterAttributes;
import net.minecraft.entity.ai.attributes.AttributeModifier;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.EnumAction;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
import net.minecraftforge.event.entity.player.ArrowNockEvent;
public class GunDampfmaschine extends Item {
Random rand = new Random();
public GunDampfmaschine()
{
this.maxStackSize = 1;
}
@Override
public EnumAction getItemUseAction(ItemStack par1ItemStack) {
return EnumAction.bow;
}
@Override
public int getMaxItemUseDuration(ItemStack p_77626_1_) {
return 72000;
}
@Override
public ItemStack onItemRightClick(ItemStack p_77659_1_, World p_77659_2_, EntityPlayer p_77659_3_) {
new ArrowNockEvent(p_77659_3_, p_77659_1_);
{
p_77659_3_.setItemInUse(p_77659_1_, this.getMaxItemUseDuration(p_77659_1_));
}
return p_77659_1_;
}
@Override
public void onUsingTick(ItemStack stack, EntityPlayer player, int count)
{
World world = player.worldObj;
if (true) {
if(!player.isSneaking()) {
EntityRocket entitybullet = new EntityRocket(world, player, 3.0F);
world.playSoundAtEntity(player, "hbm:block.crateBreak", 10.0F, 0.9F + (rand.nextFloat() * 0.2F));
if(count == this.getMaxItemUseDuration(stack))
world.playSoundAtEntity(player, "hbm:alarm.autopilot", 100.0F, 1.0F);
if (!world.isRemote) {
world.spawnEntityInWorld(entitybullet);
}
} else {
world.playSoundAtEntity(player, "mob.pig.say", 10.0F, 0.9F + (rand.nextFloat() * 0.2F));
if(count % 10 == 0) {
EntityBombletSelena bomb = new EntityBombletSelena(world);
bomb.posX = player.posX;
bomb.posY = player.posY + player.eyeHeight;
bomb.posZ = player.posZ;
bomb.motionX = player.getLookVec().xCoord * 5;
bomb.motionY = player.getLookVec().yCoord * 5;
bomb.motionZ = player.getLookVec().zCoord * 5;
if(count == this.getMaxItemUseDuration(stack))
world.playSoundAtEntity(player, "hbm:entity.chopperDrop", 10.0F, 1.0F);
if (!world.isRemote) {
world.spawnEntityInWorld(bomb);
}
}
}
}
}
@Override
public int getItemEnchantability() {
return 0;
}
@Override
public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) {
list.add("Sometimes, to do whats right,");
list.add("you have to become the villain of");
list.add("the pi-I mean me too, thanks.");
list.add("");
list.add("oh sorry how did this get here i'm not good with computer can somebody tell me how i can get out of here oh fiddlesticks this is not good oh no please can anybody hear me i am afraid please for the love of god somebody get me out of here");
list.add("");
list.add("Ammo: orang");
list.add("Damage: aaaaaaaaa");
list.add("");
list.add("[LEGENDARY WEAPON]");
}
@Override
public Multimap getItemAttributeModifiers() {
Multimap multimap = super.getItemAttributeModifiers();
multimap.put(SharedMonsterAttributes.attackDamage.getAttributeUnlocalizedName(),
new AttributeModifier(field_111210_e, "Weapon modifier", -2, 0));
return multimap;
}
}

View File

@ -4,8 +4,8 @@ import java.util.List;
import com.hbm.handler.MissileStruct;
import com.hbm.items.ModItems;
import com.hbm.items.weapon.ItemMissile.FuelType;
import com.hbm.items.weapon.ItemMissile.WarheadType;
import com.hbm.items.weapon.ItemCustomMissilePart.FuelType;
import com.hbm.items.weapon.ItemCustomMissilePart.WarheadType;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
@ -57,11 +57,11 @@ public class ItemCustomMissile extends Item {
return;
try {
ItemMissile chip = (ItemMissile) Item.getItemById(readFromNBT(stack, "chip"));
ItemMissile warhead = (ItemMissile) Item.getItemById(readFromNBT(stack, "warhead"));
ItemMissile fuselage = (ItemMissile) Item.getItemById(readFromNBT(stack, "fuselage"));
ItemMissile stability = (ItemMissile) Item.getItemById(readFromNBT(stack, "stability"));
ItemMissile thruster = (ItemMissile) Item.getItemById(readFromNBT(stack, "thruster"));
ItemCustomMissilePart chip = (ItemCustomMissilePart) Item.getItemById(readFromNBT(stack, "chip"));
ItemCustomMissilePart warhead = (ItemCustomMissilePart) Item.getItemById(readFromNBT(stack, "warhead"));
ItemCustomMissilePart fuselage = (ItemCustomMissilePart) Item.getItemById(readFromNBT(stack, "fuselage"));
ItemCustomMissilePart stability = (ItemCustomMissilePart) Item.getItemById(readFromNBT(stack, "stability"));
ItemCustomMissilePart thruster = (ItemCustomMissilePart) Item.getItemById(readFromNBT(stack, "thruster"));
list.add(EnumChatFormatting.BOLD + "Warhead: " + EnumChatFormatting.GRAY + warhead.getWarhead((WarheadType)warhead.attributes[0]));
list.add(EnumChatFormatting.BOLD + "Strength: " + EnumChatFormatting.GRAY + (Float)warhead.attributes[1]);
@ -92,10 +92,10 @@ public class ItemCustomMissile extends Item {
if(stack == null || !(stack.getItem() instanceof ItemCustomMissile))
return null;
ItemMissile warhead = (ItemMissile) Item.getItemById(readFromNBT(stack, "warhead"));
ItemMissile fuselage = (ItemMissile) Item.getItemById(readFromNBT(stack, "fuselage"));
ItemMissile stability = (ItemMissile) Item.getItemById(readFromNBT(stack, "stability"));
ItemMissile thruster = (ItemMissile) Item.getItemById(readFromNBT(stack, "thruster"));
ItemCustomMissilePart warhead = (ItemCustomMissilePart) Item.getItemById(readFromNBT(stack, "warhead"));
ItemCustomMissilePart fuselage = (ItemCustomMissilePart) Item.getItemById(readFromNBT(stack, "fuselage"));
ItemCustomMissilePart stability = (ItemCustomMissilePart) Item.getItemById(readFromNBT(stack, "stability"));
ItemCustomMissilePart thruster = (ItemCustomMissilePart) Item.getItemById(readFromNBT(stack, "thruster"));
MissileStruct missile = new MissileStruct(warhead, fuselage, stability, thruster);

View File

@ -0,0 +1,347 @@
package com.hbm.items.weapon;
import java.util.HashMap;
import java.util.List;
import com.hbm.items.special.ItemLootCrate;
import com.hbm.lib.RefStrings;
import com.hbm.main.MainRegistry;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumChatFormatting;
public class ItemCustomMissilePart extends Item {
public PartType type;
public PartSize top;
public PartSize bottom;
public Rarity rarity;
public float health;
private String title;
private String author;
private String witty;
public ItemCustomMissilePart() {
this.setMaxStackSize(1);
this.setCreativeTab(MainRegistry.missileTab);
}
public static HashMap<Integer, ItemCustomMissilePart> parts = new HashMap();
/**
* == Chips ==
* [0]: inaccuracy
*
* == Warheads ==
* [0]: type
* [1]: strength/radius/cluster count
* [2]: weight
*
* == Fuselages ==
* [0]: type
* [1]: tank size
*
* == Stability ==
* [0]: inaccuracy mod
*
* == Thrusters ===
* [0]: type
* [1]: consumption
* [2]: lift strength
*/
public Object[] attributes;
public enum PartType {
CHIP,
WARHEAD,
FUSELAGE,
FINS,
THRUSTER
}
public enum PartSize {
//for chips
ANY,
//for missile tips and thrusters
NONE,
//regular sizes, 1.0m, 1.5m and 2.0m
SIZE_10,
SIZE_15,
SIZE_20
}
public enum WarheadType {
HE,
INC,
BUSTER,
CLUSTER,
NUCLEAR,
TX,
N2,
BALEFIRE,
SCHRAB,
TAINT,
CLOUD,
TURBINE
}
public enum FuelType {
KEROSENE,
SOLID,
HYDROGEN,
XENON,
BALEFIRE
}
public enum Rarity {
COMMON(EnumChatFormatting.GRAY + "Common"),
UNCOMMON(EnumChatFormatting.YELLOW + "Uncommon"),
RARE(EnumChatFormatting.AQUA + "Rare"),
EPIC(EnumChatFormatting.LIGHT_PURPLE + "Epic"),
LEGENDARY(EnumChatFormatting.DARK_GREEN + "Legendary"),
SEWS_CLOTHES_AND_SUCKS_HORSE_COCK(EnumChatFormatting.DARK_AQUA + "Strange");
String name;
Rarity(String name) {
this.name = name;
}
}
public ItemCustomMissilePart makeChip(float inaccuracy) {
this.type = PartType.CHIP;
this.top = PartSize.ANY;
this.bottom = PartSize.ANY;
this.attributes = new Object[] { inaccuracy };
parts.put(this.hashCode(), this);
return this;
}
public ItemCustomMissilePart makeWarhead(WarheadType type, float punch, float weight, PartSize size) {
this.type = PartType.WARHEAD;
this.top = PartSize.NONE;
this.bottom = size;
this.attributes = new Object[] { type, punch, weight };
setTextureName(RefStrings.MODID + ":mp_warhead");
parts.put(this.hashCode(), this);
return this;
}
public ItemCustomMissilePart makeFuselage(FuelType type, float fuel, PartSize top, PartSize bottom) {
this.type = PartType.FUSELAGE;
this.top = top;
this.bottom = bottom;
attributes = new Object[] { type, fuel };
setTextureName(RefStrings.MODID + ":mp_fuselage");
parts.put(this.hashCode(), this);
return this;
}
public ItemCustomMissilePart makeStability(float inaccuracy, PartSize size) {
this.type = PartType.FINS;
this.top = size;
this.bottom = size;
this.attributes = new Object[] { inaccuracy };
setTextureName(RefStrings.MODID + ":mp_stability");
parts.put(this.hashCode(), this);
return this;
}
public ItemCustomMissilePart makeThruster(FuelType type, float consumption, float lift, PartSize size) {
this.type = PartType.THRUSTER;
this.top = size;
this.bottom = PartSize.NONE;
this.attributes = new Object[] { type, consumption, lift };
setTextureName(RefStrings.MODID + ":mp_thruster");
parts.put(this.hashCode(), this);
return this;
}
@Override
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool)
{
if(title != null)
list.add(EnumChatFormatting.DARK_PURPLE + "\"" + title + "\"");
try {
switch(type) {
case CHIP:
list.add(EnumChatFormatting.BOLD + "Inaccuracy: " + EnumChatFormatting.GRAY + (Float)attributes[0] * 100 + "%");
break;
case WARHEAD:
list.add(EnumChatFormatting.BOLD + "Size: " + EnumChatFormatting.GRAY + getSize(bottom));
list.add(EnumChatFormatting.BOLD + "Type: " + EnumChatFormatting.GRAY + getWarhead((WarheadType)attributes[0]));
list.add(EnumChatFormatting.BOLD + "Strength: " + EnumChatFormatting.GRAY + (Float)attributes[1]);
list.add(EnumChatFormatting.BOLD + "Weight: " + EnumChatFormatting.GRAY + (Float)attributes[2] + "t");
break;
case FUSELAGE:
list.add(EnumChatFormatting.BOLD + "Top size: " + EnumChatFormatting.GRAY + getSize(top));
list.add(EnumChatFormatting.BOLD + "Bottom size: " + EnumChatFormatting.GRAY + getSize(bottom));
list.add(EnumChatFormatting.BOLD + "Fuel type: " + EnumChatFormatting.GRAY + getFuel((FuelType)attributes[0]));
list.add(EnumChatFormatting.BOLD + "Fuel amount: " + EnumChatFormatting.GRAY + (Float)attributes[1] + "l");
break;
case FINS:
list.add(EnumChatFormatting.BOLD + "Size: " + EnumChatFormatting.GRAY + getSize(top));
list.add(EnumChatFormatting.BOLD + "Inaccuracy: " + EnumChatFormatting.GRAY + (Float)attributes[0] * 100 + "%");
break;
case THRUSTER:
list.add(EnumChatFormatting.BOLD + "Size: " + EnumChatFormatting.GRAY + getSize(top));
list.add(EnumChatFormatting.BOLD + "Fuel type: " + EnumChatFormatting.GRAY + getFuel((FuelType)attributes[0]));
list.add(EnumChatFormatting.BOLD + "Fuel consumption: " + EnumChatFormatting.GRAY + (Float)attributes[1] + "l/tick");
list.add(EnumChatFormatting.BOLD + "Max. payload: " + EnumChatFormatting.GRAY + (Float)attributes[2] + "t");
break;
}
} catch(Exception ex) {
list.add("### I AM ERROR ###");
}
if(type != PartType.CHIP)
list.add(EnumChatFormatting.BOLD + "Health: " + EnumChatFormatting.GRAY + health + "HP");
if(this.rarity != null)
list.add(EnumChatFormatting.BOLD + "Rarity: " + EnumChatFormatting.GRAY + this.rarity.name);
if(author != null)
list.add(EnumChatFormatting.WHITE + " by " + author);
if(witty != null)
list.add(EnumChatFormatting.GOLD + " " + EnumChatFormatting.ITALIC + "\"" + witty + "\"");
}
public String getSize(PartSize size) {
switch(size) {
case ANY:
return "Any";
case SIZE_10:
return "1.0m";
case SIZE_15:
return "1.5m";
case SIZE_20:
return "2.0m";
default:
return "None";
}
}
public String getWarhead(WarheadType type) {
switch(type) {
case HE:
return EnumChatFormatting.YELLOW + "HE";
case INC:
return EnumChatFormatting.GOLD + "Incendiary";
case CLUSTER:
return EnumChatFormatting.GRAY + "Cluster";
case BUSTER:
return EnumChatFormatting.WHITE + "Bunker Buster";
case NUCLEAR:
return EnumChatFormatting.DARK_GREEN + "Nuclear";
case TX:
return EnumChatFormatting.DARK_PURPLE + "Thermonuclear (TX)";
case N2:
return EnumChatFormatting.RED + "";
case BALEFIRE:
return EnumChatFormatting.GREEN + "BF";
case SCHRAB:
return EnumChatFormatting.AQUA + "Schrabidium";
case TAINT:
return EnumChatFormatting.DARK_PURPLE + "Taint";
case CLOUD:
return EnumChatFormatting.LIGHT_PURPLE + "Cloud";
case TURBINE:
return (System.currentTimeMillis() % 1000 < 500 ? EnumChatFormatting.RED : EnumChatFormatting.LIGHT_PURPLE) + "Turbine";
default:
return EnumChatFormatting.BOLD + "N/A";
}
}
public String getFuel(FuelType type) {
switch(type) {
case KEROSENE:
return EnumChatFormatting.LIGHT_PURPLE + "Kerosene / Peroxide";
case SOLID:
return EnumChatFormatting.GOLD + "Solid Fuel";
case HYDROGEN:
return EnumChatFormatting.DARK_AQUA + "Hydrogen / Oxygen";
case XENON:
return EnumChatFormatting.DARK_PURPLE + "Xenon Gas";
case BALEFIRE:
return EnumChatFormatting.GREEN + "BF Rocket Fuel / Peroxide";
default:
return EnumChatFormatting.BOLD + "N/A";
}
}
//am i retarded?
/* yes */
public ItemCustomMissilePart copy() {
ItemCustomMissilePart part = new ItemCustomMissilePart();
part.type = this.type;
part.top = this.top;
part.bottom = this.bottom;
part.health = this.health;
part.attributes = this.attributes;
part.health = this.health;
part.setTextureName(this.iconString);
return part;
}
public ItemCustomMissilePart setAuthor(String author) {
this.author = author;
return this;
}
public ItemCustomMissilePart setTitle(String title) {
this.title = title;
return this;
}
public ItemCustomMissilePart setWittyText(String witty) {
this.witty = witty;
return this;
}
public ItemCustomMissilePart setHealth(float health) {
this.health = health;
return this;
}
public ItemCustomMissilePart setRarity(Rarity rarity) {
this.rarity = rarity;
if(this.type == PartType.FUSELAGE) {
if(this.top == PartSize.SIZE_10)
ItemLootCrate.list10.add(this);
if(this.top == PartSize.SIZE_15)
ItemLootCrate.list15.add(this);
} else {
ItemLootCrate.listMisc.add(this);
}
return this;
}
}

View File

@ -1,347 +1,79 @@
package com.hbm.items.weapon;
import java.util.HashMap;
import java.util.List;
import com.hbm.items.special.ItemLootCrate;
import com.hbm.lib.RefStrings;
import com.hbm.main.MainRegistry;
import com.hbm.items.ItemCustomLore;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumChatFormatting;
public class ItemMissile extends Item {
public class ItemMissile extends ItemCustomLore {
public PartType type;
public PartSize top;
public PartSize bottom;
public Rarity rarity;
public float health;
private String title;
private String author;
private String witty;
public final MissileFormFactor formFactor;
public final MissileTier tier;
public final MissileFuel fuel;
public ItemMissile() {
this.setMaxStackSize(1);
this.setCreativeTab(MainRegistry.missileTab);
public ItemMissile(MissileFormFactor form, MissileTier tier) {
this.formFactor = form;
this.tier = tier;
this.fuel = form.defaultFuel;
}
public static HashMap<Integer, ItemMissile> parts = new HashMap();
/**
* == Chips ==
* [0]: inaccuracy
*
* == Warheads ==
* [0]: type
* [1]: strength/radius/cluster count
* [2]: weight
*
* == Fuselages ==
* [0]: type
* [1]: tank size
*
* == Stability ==
* [0]: inaccuracy mod
*
* == Thrusters ===
* [0]: type
* [1]: consumption
* [2]: lift strength
*/
public Object[] attributes;
public enum PartType {
CHIP,
WARHEAD,
FUSELAGE,
FINS,
THRUSTER
public ItemMissile(MissileFormFactor form, MissileTier tier, MissileFuel fuel) {
this.formFactor = form;
this.tier = tier;
this.fuel = fuel;
}
public enum PartSize {
//for chips
ANY,
//for missile tips and thrusters
NONE,
//regular sizes, 1.0m, 1.5m and 2.0m
SIZE_10,
SIZE_15,
SIZE_20
}
public enum WarheadType {
HE,
INC,
BUSTER,
CLUSTER,
NUCLEAR,
TX,
N2,
BALEFIRE,
SCHRAB,
TAINT,
CLOUD,
TURBINE
}
public enum FuelType {
KEROSENE,
SOLID,
HYDROGEN,
XENON,
BALEFIRE
}
public enum Rarity {
COMMON(EnumChatFormatting.GRAY + "Common"),
UNCOMMON(EnumChatFormatting.YELLOW + "Uncommon"),
RARE(EnumChatFormatting.AQUA + "Rare"),
EPIC(EnumChatFormatting.LIGHT_PURPLE + "Epic"),
LEGENDARY(EnumChatFormatting.DARK_GREEN + "Legendary"),
SEWS_CLOTHES_AND_SUCKS_HORSE_COCK(EnumChatFormatting.DARK_AQUA + "Strange");
String name;
Rarity(String name) {
this.name = name;
}
}
public ItemMissile makeChip(float inaccuracy) {
this.type = PartType.CHIP;
this.top = PartSize.ANY;
this.bottom = PartSize.ANY;
this.attributes = new Object[] { inaccuracy };
parts.put(this.hashCode(), this);
return this;
}
public ItemMissile makeWarhead(WarheadType type, float punch, float weight, PartSize size) {
this.type = PartType.WARHEAD;
this.top = PartSize.NONE;
this.bottom = size;
this.attributes = new Object[] { type, punch, weight };
setTextureName(RefStrings.MODID + ":mp_warhead");
parts.put(this.hashCode(), this);
return this;
}
public ItemMissile makeFuselage(FuelType type, float fuel, PartSize top, PartSize bottom) {
this.type = PartType.FUSELAGE;
this.top = top;
this.bottom = bottom;
attributes = new Object[] { type, fuel };
setTextureName(RefStrings.MODID + ":mp_fuselage");
parts.put(this.hashCode(), this);
return this;
}
public ItemMissile makeStability(float inaccuracy, PartSize size) {
this.type = PartType.FINS;
this.top = size;
this.bottom = size;
this.attributes = new Object[] { inaccuracy };
setTextureName(RefStrings.MODID + ":mp_stability");
parts.put(this.hashCode(), this);
return this;
}
public ItemMissile makeThruster(FuelType type, float consumption, float lift, PartSize size) {
this.type = PartType.THRUSTER;
this.top = size;
this.bottom = PartSize.NONE;
this.attributes = new Object[] { type, consumption, lift };
setTextureName(RefStrings.MODID + ":mp_thruster");
parts.put(this.hashCode(), this);
return this;
}
@Override
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool)
{
if(title != null)
list.add(EnumChatFormatting.DARK_PURPLE + "\"" + title + "\"");
try {
switch(type) {
case CHIP:
list.add(EnumChatFormatting.BOLD + "Inaccuracy: " + EnumChatFormatting.GRAY + (Float)attributes[0] * 100 + "%");
break;
case WARHEAD:
list.add(EnumChatFormatting.BOLD + "Size: " + EnumChatFormatting.GRAY + getSize(bottom));
list.add(EnumChatFormatting.BOLD + "Type: " + EnumChatFormatting.GRAY + getWarhead((WarheadType)attributes[0]));
list.add(EnumChatFormatting.BOLD + "Strength: " + EnumChatFormatting.GRAY + (Float)attributes[1]);
list.add(EnumChatFormatting.BOLD + "Weight: " + EnumChatFormatting.GRAY + (Float)attributes[2] + "t");
break;
case FUSELAGE:
list.add(EnumChatFormatting.BOLD + "Top size: " + EnumChatFormatting.GRAY + getSize(top));
list.add(EnumChatFormatting.BOLD + "Bottom size: " + EnumChatFormatting.GRAY + getSize(bottom));
list.add(EnumChatFormatting.BOLD + "Fuel type: " + EnumChatFormatting.GRAY + getFuel((FuelType)attributes[0]));
list.add(EnumChatFormatting.BOLD + "Fuel amount: " + EnumChatFormatting.GRAY + (Float)attributes[1] + "l");
break;
case FINS:
list.add(EnumChatFormatting.BOLD + "Size: " + EnumChatFormatting.GRAY + getSize(top));
list.add(EnumChatFormatting.BOLD + "Inaccuracy: " + EnumChatFormatting.GRAY + (Float)attributes[0] * 100 + "%");
break;
case THRUSTER:
list.add(EnumChatFormatting.BOLD + "Size: " + EnumChatFormatting.GRAY + getSize(top));
list.add(EnumChatFormatting.BOLD + "Fuel type: " + EnumChatFormatting.GRAY + getFuel((FuelType)attributes[0]));
list.add(EnumChatFormatting.BOLD + "Fuel consumption: " + EnumChatFormatting.GRAY + (Float)attributes[1] + "l/tick");
list.add(EnumChatFormatting.BOLD + "Max. payload: " + EnumChatFormatting.GRAY + (Float)attributes[2] + "t");
break;
}
} catch(Exception ex) {
list.add("### I AM ERROR ###");
}
if(type != PartType.CHIP)
list.add(EnumChatFormatting.BOLD + "Health: " + EnumChatFormatting.GRAY + health + "HP");
if(this.rarity != null)
list.add(EnumChatFormatting.BOLD + "Rarity: " + EnumChatFormatting.GRAY + this.rarity.name);
if(author != null)
list.add(EnumChatFormatting.WHITE + " by " + author);
if(witty != null)
list.add(EnumChatFormatting.GOLD + " " + EnumChatFormatting.ITALIC + "\"" + witty + "\"");
public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) {
list.add(EnumChatFormatting.ITALIC + this.tier.display);
list.add("Fuel: " + this.fuel.display);
super.addInformation(itemstack, player, list, bool);
}
public String getSize(PartSize size) {
public enum MissileFormFactor {
ABM(MissileFuel.SOLID),
MICRO(MissileFuel.SOLID),
V2(MissileFuel.ETHANOL_PEROXIDE),
STRONG(MissileFuel.KEROSENE_PEROXIDE),
HUGE(MissileFuel.KEROSENE_LOXY),
ATLAS(MissileFuel.JETFUEL_LOXY),
OTHER(MissileFuel.KEROSENE_PEROXIDE);
switch(size) {
case ANY:
return "Any";
case SIZE_10:
return "1.0m";
case SIZE_15:
return "1.5m";
case SIZE_20:
return "2.0m";
default:
return "None";
protected MissileFuel defaultFuel;
private MissileFormFactor(MissileFuel defaultFuel) {
this.defaultFuel = defaultFuel;
}
}
public String getWarhead(WarheadType type) {
public enum MissileTier {
TIER0("Tier 0"),
TIER1("Tier 1"),
TIER2("Tier 2"),
TIER3("Tier 3"),
TIER4("Tier 4");
switch(type) {
case HE:
return EnumChatFormatting.YELLOW + "HE";
case INC:
return EnumChatFormatting.GOLD + "Incendiary";
case CLUSTER:
return EnumChatFormatting.GRAY + "Cluster";
case BUSTER:
return EnumChatFormatting.WHITE + "Bunker Buster";
case NUCLEAR:
return EnumChatFormatting.DARK_GREEN + "Nuclear";
case TX:
return EnumChatFormatting.DARK_PURPLE + "Thermonuclear (TX)";
case N2:
return EnumChatFormatting.RED + "";
case BALEFIRE:
return EnumChatFormatting.GREEN + "BF";
case SCHRAB:
return EnumChatFormatting.AQUA + "Schrabidium";
case TAINT:
return EnumChatFormatting.DARK_PURPLE + "Taint";
case CLOUD:
return EnumChatFormatting.LIGHT_PURPLE + "Cloud";
case TURBINE:
return (System.currentTimeMillis() % 1000 < 500 ? EnumChatFormatting.RED : EnumChatFormatting.LIGHT_PURPLE) + "Turbine";
default:
return EnumChatFormatting.BOLD + "N/A";
public String display;
private MissileTier(String display) {
this.display = display;
}
}
public String getFuel(FuelType type) {
public enum MissileFuel {
SOLID(EnumChatFormatting.GOLD + "Solid Fuel (pre-fueled)"),
ETHANOL_PEROXIDE(EnumChatFormatting.AQUA + "Ethanol / Hydrogen Peroxide"),
KEROSENE_PEROXIDE(EnumChatFormatting.BLUE + "Kerosene / Hydrogen Peroxide"),
KEROSENE_LOXY(EnumChatFormatting.LIGHT_PURPLE + "Kerosene / Liquid Oxygen"),
JETFUEL_LOXY(EnumChatFormatting.RED + "Jet Fuel / Liquid Oxygen");
switch(type) {
case KEROSENE:
return EnumChatFormatting.LIGHT_PURPLE + "Kerosene / Peroxide";
case SOLID:
return EnumChatFormatting.GOLD + "Solid Fuel";
case HYDROGEN:
return EnumChatFormatting.DARK_AQUA + "Hydrogen / Oxygen";
case XENON:
return EnumChatFormatting.DARK_PURPLE + "Xenon Gas";
case BALEFIRE:
return EnumChatFormatting.GREEN + "BF Rocket Fuel / Peroxide";
default:
return EnumChatFormatting.BOLD + "N/A";
public String display;
private MissileFuel(String display) {
this.display = display;
}
}
//am i retarded?
/* yes */
public ItemMissile copy() {
ItemMissile part = new ItemMissile();
part.type = this.type;
part.top = this.top;
part.bottom = this.bottom;
part.health = this.health;
part.attributes = this.attributes;
part.health = this.health;
part.setTextureName(this.iconString);
return part;
}
public ItemMissile setAuthor(String author) {
this.author = author;
return this;
}
public ItemMissile setTitle(String title) {
this.title = title;
return this;
}
public ItemMissile setWittyText(String witty) {
this.witty = witty;
return this;
}
public ItemMissile setHealth(float health) {
this.health = health;
return this;
}
public ItemMissile setRarity(Rarity rarity) {
this.rarity = rarity;
if(this.type == PartType.FUSELAGE) {
if(this.top == PartSize.SIZE_10)
ItemLootCrate.list10.add(this);
if(this.top == PartSize.SIZE_15)
ItemLootCrate.list15.add(this);
} else {
ItemLootCrate.listMisc.add(this);
}
return this;
}
}

View File

@ -323,7 +323,8 @@ public class ClientProxy extends ServerProxy {
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityCoreStabilizer.class, new RenderCoreComponent());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityCore.class, new RenderCore());
//missile blocks
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityLaunchPad.class, new RenderLaunchPadTier1());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityLaunchPad.class, new RenderLaunchPad());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityLaunchPadLarge.class, new RenderLaunchPadLarge());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineMissileAssembly.class, new RenderMissileAssembly());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityCompactLauncher.class, new RenderCompactLauncher());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityLaunchTable.class, new RenderLaunchTable());
@ -442,8 +443,6 @@ public class ClientProxy extends ServerProxy {
MinecraftForgeClient.registerItemRenderer(ModItems.missile_nuclear, new ItemRenderMissileGeneric(RenderMissileType.TYPE_NUCLEAR));
MinecraftForgeClient.registerItemRenderer(ModItems.missile_nuclear_cluster, new ItemRenderMissileGeneric(RenderMissileType.TYPE_NUCLEAR));
MinecraftForgeClient.registerItemRenderer(ModItems.missile_volcano, new ItemRenderMissileGeneric(RenderMissileType.TYPE_NUCLEAR));
MinecraftForgeClient.registerItemRenderer(ModItems.missile_endo, new ItemRenderMissileGeneric(RenderMissileType.TYPE_THERMAL));
MinecraftForgeClient.registerItemRenderer(ModItems.missile_exo, new ItemRenderMissileGeneric(RenderMissileType.TYPE_THERMAL));
MinecraftForgeClient.registerItemRenderer(ModItems.missile_doomsday, new ItemRenderMissileGeneric(RenderMissileType.TYPE_DOOMSDAY));
MinecraftForgeClient.registerItemRenderer(ModItems.missile_carrier, new ItemRenderMissileGeneric(RenderMissileType.TYPE_CARRIER));
MinecraftForgeClient.registerItemRenderer(ModItems.missile_shuttle, new ItemRenderMissileGeneric(RenderMissileType.TYPE_ROBIN));
@ -521,7 +520,6 @@ public class ClientProxy extends ServerProxy {
MinecraftForgeClient.registerItemRenderer(ModItems.gun_defabricator, new ItemRenderOverkill());
MinecraftForgeClient.registerItemRenderer(ModItems.gun_dash, new ItemRenderOverkill());
MinecraftForgeClient.registerItemRenderer(ModItems.gun_twigun, new ItemRenderOverkill());
MinecraftForgeClient.registerItemRenderer(ModItems.gun_dampfmaschine, new ItemRenderBullshit());
MinecraftForgeClient.registerItemRenderer(ModItems.gun_lever_action, new ItemRenderWeaponFFMaresLeg(ResourceManager.ff_gun_bright, ResourceManager.ff_wood));
MinecraftForgeClient.registerItemRenderer(ModItems.gun_bolt_action, new ItemRenderWeaponFFBolt(ResourceManager.rem700, ResourceManager.rem700_tex));
MinecraftForgeClient.registerItemRenderer(ModItems.gun_lever_action_dark, new ItemRenderWeaponFFMaresLeg(ResourceManager.ff_gun_normal, ResourceManager.ff_wood_red));
@ -609,9 +607,7 @@ public class ClientProxy extends ServerProxy {
RenderingRegistry.registerEntityRenderingHandler(EntitySiegeLaser.class, new RenderSiegeLaser());
RenderingRegistry.registerEntityRenderingHandler(EntityLN2.class, new RenderLN2(ModItems.energy_ball));
RenderingRegistry.registerEntityRenderingHandler(EntityLaser.class, new RenderLaser());
RenderingRegistry.registerEntityRenderingHandler(EntityBombletTheta.class, new RenderBombletTheta());
RenderingRegistry.registerEntityRenderingHandler(EntityBombletZeta.class, new RenderBombletTheta());
RenderingRegistry.registerEntityRenderingHandler(EntityBombletSelena.class, new RenderBombletSelena());
RenderingRegistry.registerEntityRenderingHandler(EntityMeteor.class, new RenderMeteor());
RenderingRegistry.registerEntityRenderingHandler(EntityBoxcar.class, new RenderBoxcar());
RenderingRegistry.registerEntityRenderingHandler(EntityDuchessGambit.class, new RenderBoxcar());
@ -722,8 +718,6 @@ public class ClientProxy extends ServerProxy {
RenderingRegistry.registerEntityRenderingHandler(EntityMissileBHole.class, new RenderMissileTaint());
RenderingRegistry.registerEntityRenderingHandler(EntityMissileSchrabidium.class, new RenderMissileTaint());
RenderingRegistry.registerEntityRenderingHandler(EntityMissileEMP.class, new RenderMissileTaint());
RenderingRegistry.registerEntityRenderingHandler(EntityMissileEndo.class, new RenderMissileThermo());
RenderingRegistry.registerEntityRenderingHandler(EntityMissileExo.class, new RenderMissileThermo());
RenderingRegistry.registerEntityRenderingHandler(EntityMissileShuttle.class, new RenderMissileShuttle());
//effects
RenderingRegistry.registerEntityRenderingHandler(EntityCloudFleija.class, new RenderCloudFleija());

View File

@ -676,7 +676,7 @@ public class MainRegistry {
achFreytag = new Achievement("achievement.freytag", "freytag", 0, -4, ModItems.gun_mp40, null).initIndependentStat().setSpecial().registerStat();
achPotato = new Achievement("achievement.potato", "potato", -2, -2, ModItems.battery_potatos, null).initIndependentStat().setSpecial().registerStat();
achC44 = new Achievement("achievement.c44", "c44", 2, -4, ModItems.gun_revolver_pip, null).initIndependentStat().setSpecial().registerStat();
achC20_5 = new Achievement("achievement.c20_5", "c20_5", 3, 6, ModItems.gun_dampfmaschine, null).initIndependentStat().setSpecial().registerStat();
achC20_5 = new Achievement("achievement.c20_5", "c20_5", 3, 6, DictFrame.fromOne(ModItems.achievement_icon, EnumAchievementType.QUESTIONMARK), null).initIndependentStat().setSpecial().registerStat();
achFiend = new Achievement("achievement.fiend", "fiend", -6, 8, ModItems.shimmer_sledge, null).initIndependentStat().setSpecial().registerStat();
achFiend2 = new Achievement("achievement.fiend2", "fiend2", -4, 9, ModItems.shimmer_axe, null).initIndependentStat().setSpecial().registerStat();
achStratum = new Achievement("achievement.stratum", "stratum", -4, -2, new ItemStack(ModBlocks.stone_gneiss), null).initIndependentStat().setSpecial().registerStat();
@ -689,7 +689,7 @@ public class MainRegistry {
achInferno = new Achievement("achievement.inferno", "inferno", -8, 10, ModItems.canister_napalm, null).initIndependentStat().setSpecial().registerStat();
achRedRoom = new Achievement("achievement.redRoom", "redRoom", -10, 10, ModItems.key_red, null).initIndependentStat().setSpecial().registerStat();
bobHidden = new Achievement("achievement.hidden", "hidden", 15, -4, ModItems.gun_dampfmaschine, null).initIndependentStat().registerStat();
bobHidden = new Achievement("achievement.hidden", "hidden", 15, -4, DictFrame.fromOne(ModItems.achievement_icon, EnumAchievementType.QUESTIONMARK), null).initIndependentStat().registerStat();
horizonsStart = new Achievement("achievement.horizonsStart", "horizonsStart", -5, 4, ModItems.sat_gerald, null).initIndependentStat().registerStat();
horizonsEnd = new Achievement("achievement.horizonsEnd", "horizonsEnd", -3, 4, ModItems.sat_gerald, horizonsStart).initIndependentStat().registerStat();
@ -1218,6 +1218,11 @@ public class MainRegistry {
ignoreMappings.add("hbm:tile.basalt_fluorite");
ignoreMappings.add("hbm:tile.basalt_asbestos");
ignoreMappings.add("hbm:tile.basalt_gem");
ignoreMappings.add("hbm:item.missile_endo");
ignoreMappings.add("hbm:item.missile_exo");
ignoreMappings.add("hbm:item.warhead_thermo_endo");
ignoreMappings.add("hbm:item.warhead_thermo_exo");
ignoreMappings.add("hbm:item.gun_dampfmaschine");
/// REMAP ///
remapItems.put("hbm:item.gadget_explosive8", ModItems.early_explosive_lenses);

View File

@ -1068,7 +1068,6 @@ public class ResourceManager {
public static final IModelCustom missileStrong = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/missile_strong.obj")).asDisplayList();
public static final IModelCustom missileHuge = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/missile_huge.obj")).asDisplayList();
public static final IModelCustom missileNuclear = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missileNeon.obj"));
public static final IModelCustom missileThermo = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missileThermo.obj"));
public static final IModelCustom missileDoomsday = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missileDoomsday.obj"));
public static final IModelCustom missileMicro = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/missile_micro.obj")).asDisplayList();
public static final IModelCustom missileShuttle = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missileShuttle.obj"));
@ -1087,6 +1086,7 @@ public class ResourceManager {
//Missile Parts
public static final IModelCustom missile_pad = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missilePad.obj"));
public static final IModelCustom missile_erector = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/launch_pad_erector.obj")).asDisplayList();
public static final IModelCustom missile_assembly = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missile_assembly.obj"));
public static final IModelCustom strut = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/strut.obj"));
public static final IModelCustom compact_launcher = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/compact_launcher.obj"));
@ -1221,8 +1221,6 @@ public class ResourceManager {
public static final ResourceLocation missileNuclear_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missileNeon.png");
public static final ResourceLocation missileMIRV_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missileNeonH.png");
public static final ResourceLocation missileVolcano_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missileNeonV.png");
public static final ResourceLocation missileEndo_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missileEndo.png");
public static final ResourceLocation missileExo_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missileExo.png");
public static final ResourceLocation missileDoomsday_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missileDoomsday.png");
public static final ResourceLocation missileTaint_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_micro_taint.png");
public static final ResourceLocation missileShuttle_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missileShuttle.png");
@ -1289,6 +1287,13 @@ public class ResourceManager {
//Missile Parts
public static final ResourceLocation missile_pad_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missilePad.png");
public static final ResourceLocation missile_erector_tex = new ResourceLocation(RefStrings.MODID, "textures/models/launchpad/pad.png");
public static final ResourceLocation missile_erector_micro_tex = new ResourceLocation(RefStrings.MODID, "textures/models/launchpad/erector_micro.png");
public static final ResourceLocation missile_erector_v2_tex = new ResourceLocation(RefStrings.MODID, "textures/models/launchpad/erector_v2.png");
public static final ResourceLocation missile_erector_strong_tex = new ResourceLocation(RefStrings.MODID, "textures/models/launchpad/erector_strong.png");
public static final ResourceLocation missile_erector_huge_tex = new ResourceLocation(RefStrings.MODID, "textures/models/launchpad/erector_huge.png");
public static final ResourceLocation missile_erector_atlas_tex = new ResourceLocation(RefStrings.MODID, "textures/models/launchpad/erector_atlas.png");
public static final ResourceLocation missile_erector_abm_tex = new ResourceLocation(RefStrings.MODID, "textures/models/launchpad/erector_abm.png");
public static final ResourceLocation missile_assembly_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_assembly.png");
public static final ResourceLocation strut_tex = new ResourceLocation(RefStrings.MODID, "textures/models/strut.png");
public static final ResourceLocation compact_launcher_tex = new ResourceLocation(RefStrings.MODID, "textures/models/compact_launcher.png");

View File

@ -2,7 +2,7 @@ package com.hbm.packet;
import com.hbm.config.MobConfig;
import com.hbm.entity.mob.EntityDuck;
import com.hbm.items.weapon.ItemMissile.PartSize;
import com.hbm.items.weapon.ItemCustomMissilePart.PartSize;
import com.hbm.tileentity.TileEntityMachineBase;
import com.hbm.tileentity.TileEntityTickingBase;
import com.hbm.tileentity.bomb.TileEntityLaunchTable;

View File

@ -1,7 +1,7 @@
package com.hbm.packet;
import com.hbm.interfaces.Spaghetti;
import com.hbm.items.weapon.ItemMissile.PartSize;
import com.hbm.items.weapon.ItemCustomMissilePart.PartSize;
import com.hbm.tileentity.TileEntityMachineBase;
import com.hbm.tileentity.bomb.TileEntityCompactLauncher;
import com.hbm.tileentity.bomb.TileEntityLaunchTable;

View File

@ -1,42 +0,0 @@
package com.hbm.render.entity.projectile;
import org.lwjgl.opengl.GL11;
import com.hbm.lib.RefStrings;
import net.minecraft.client.renderer.entity.Render;
import net.minecraft.entity.Entity;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.model.AdvancedModelLoader;
import net.minecraftforge.client.model.IModelCustom;
public class RenderBombletSelena extends Render {
private static final ResourceLocation objTesterModelRL = new ResourceLocation(/*"/assets/" + */RefStrings.MODID, "models/bombletSelena.obj");
private IModelCustom boyModel;
private ResourceLocation boyTexture;
public RenderBombletSelena() {
boyModel = AdvancedModelLoader.loadModel(objTesterModelRL);
boyTexture = new ResourceLocation(RefStrings.MODID, "textures/models/TheGadget3_.png");
}
@Override
public void doRender(Entity p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_) {
GL11.glPushMatrix();
GL11.glTranslatef((float)p_76986_2_, (float)p_76986_4_, (float)p_76986_6_);
GL11.glRotatef(p_76986_1_.prevRotationYaw + (p_76986_1_.rotationYaw - p_76986_1_.prevRotationYaw) * p_76986_9_ - 90.0F, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(p_76986_1_.prevRotationPitch + (p_76986_1_.rotationPitch - p_76986_1_.prevRotationPitch) * p_76986_9_, 0.0F, 0.0F, 1.0F);
GL11.glScalef(2, 2, 2);
bindTexture(boyTexture);
boyModel.renderAll();
GL11.glPopMatrix();
}
@Override
protected ResourceLocation getEntityTexture(Entity p_110775_1_) {
return new ResourceLocation(RefStrings.MODID +":textures/models/TheGadget3_.png");
}
}

View File

@ -1,37 +0,0 @@
package com.hbm.render.entity.rocket;
import org.lwjgl.opengl.GL11;
import com.hbm.entity.missile.EntityMissileTier3.*;
import com.hbm.main.ResourceManager;
import net.minecraft.client.renderer.entity.Render;
import net.minecraft.entity.Entity;
import net.minecraft.util.ResourceLocation;
public class RenderMissileThermo extends Render {
public RenderMissileThermo() { }
@Override
public void doRender(Entity entity, double x, double y, double z, float p_76986_8_, float interp) {
GL11.glPushMatrix();
GL11.glTranslatef((float) x, (float) y, (float) z);
GL11.glRotatef(entity.prevRotationYaw + (entity.rotationYaw - entity.prevRotationYaw) * interp - 90.0F, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(entity.prevRotationPitch + (entity.rotationPitch - entity.prevRotationPitch) * interp, 0.0F, 0.0F, 1.0F);
GL11.glRotatef(entity.prevRotationYaw + (entity.rotationYaw - entity.prevRotationYaw) * interp - 90.0F, 0.0F, -1.0F, 0.0F);
GL11.glScalef(1.5F, 1.5F, 1.5F);
if(entity instanceof EntityMissileEndo) bindTexture(ResourceManager.missileEndo_tex);
if(entity instanceof EntityMissileExo) bindTexture(ResourceManager.missileExo_tex);
ResourceManager.missileThermo.renderAll();
GL11.glPopMatrix();
}
@Override
protected ResourceLocation getEntityTexture(Entity p_110775_1_) {
return ResourceManager.missileEndo_tex;
}
}

View File

@ -31,7 +31,6 @@ public class ItemRenderMissileGeneric implements IItemRenderer {
TYPE_STEALTH,
TYPE_ABM,
TYPE_NUCLEAR,
TYPE_THERMAL,
TYPE_DOOMSDAY,
TYPE_CARRIER,
TYPE_ROBIN
@ -77,7 +76,6 @@ public class ItemRenderMissileGeneric implements IItemRenderer {
case TYPE_STEALTH: guiScale = 1.75D; guiOffset = 4.75D; break;
case TYPE_ABM: guiScale = 2.25D; guiOffset = 7D; break;
case TYPE_NUCLEAR: guiScale = 1.75D; guiOffset = 4D; break;
case TYPE_THERMAL: guiScale = 1.75D; guiOffset = 4.5D; break;
case TYPE_DOOMSDAY: guiScale = 1.5D; guiOffset = 3D; break;
case TYPE_CARRIER: guiScale = 0.625D; guiOffset = -17D; break;
case TYPE_ROBIN: guiScale = 1.25D; guiOffset = 2D; break;
@ -167,9 +165,6 @@ public class ItemRenderMissileGeneric implements IItemRenderer {
renderers.put(new ComparableStack(ModItems.missile_nuclear), generateLarge(ResourceManager.missileNuclear_tex, ResourceManager.missileNuclear));
renderers.put(new ComparableStack(ModItems.missile_nuclear_cluster), generateLarge(ResourceManager.missileMIRV_tex, ResourceManager.missileNuclear));
renderers.put(new ComparableStack(ModItems.missile_volcano), generateLarge(ResourceManager.missileVolcano_tex, ResourceManager.missileNuclear));
renderers.put(new ComparableStack(ModItems.missile_endo), generateLarge(ResourceManager.missileEndo_tex, ResourceManager.missileThermo));
renderers.put(new ComparableStack(ModItems.missile_exo), generateLarge(ResourceManager.missileExo_tex, ResourceManager.missileThermo));
renderers.put(new ComparableStack(ModItems.missile_doomsday), generateDouble(ResourceManager.missileDoomsday_tex, ResourceManager.missileDoomsday));

View File

@ -2,7 +2,7 @@ package com.hbm.render.item;
import org.lwjgl.opengl.GL11;
import com.hbm.items.weapon.ItemMissile.PartType;
import com.hbm.items.weapon.ItemCustomMissilePart.PartType;
import com.hbm.render.util.MissilePart;
import net.minecraft.client.Minecraft;

View File

@ -1,101 +0,0 @@
package com.hbm.render.item.weapon;
import org.lwjgl.opengl.GL11;
import com.hbm.lib.RefStrings;
import com.hbm.render.model.ModelBaleflare;
import com.hbm.render.model.ModelMP40;
import com.hbm.render.model.ModelPip;
import com.hbm.render.model.ModelSpark;
import net.minecraft.client.Minecraft;
import net.minecraft.entity.Entity;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.IItemRenderer;
public class ItemRenderBullshit implements IItemRenderer {
protected ModelSpark sparkPlug;
protected ModelPip pip;
protected ModelMP40 mp40;
protected ModelBaleflare bomb;
public ItemRenderBullshit() {
sparkPlug = new ModelSpark();
pip = new ModelPip();
mp40 = new ModelMP40();
bomb = new ModelBaleflare();
}
@Override
public boolean handleRenderType(ItemStack item, ItemRenderType type) {
switch(type) {
case EQUIPPED:
case EQUIPPED_FIRST_PERSON:
case ENTITY:
return true;
default: return false;
}
}
@Override
public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) {
return false;
}
@Override
public void renderItem(ItemRenderType type, ItemStack item, Object... data) {
switch(type) {
case EQUIPPED_FIRST_PERSON:
GL11.glPushMatrix();
GL11.glEnable(GL11.GL_CULL_FACE);
GL11.glRotatef(-135.0F, 0.0F, 0.0F, 1.0F);
GL11.glTranslatef(-0.5F, 0.0F, -0.2F);
GL11.glScalef(0.5F, 0.5F, 0.5F);
GL11.glTranslatef(-0.2F, -0.1F, -0.1F);
renderWhatever(type, item, data);
GL11.glPopMatrix();
break;
case EQUIPPED:
case ENTITY:
GL11.glPushMatrix();
GL11.glEnable(GL11.GL_CULL_FACE);
GL11.glRotatef(-200.0F, 0.0F, 0.0F, 1.0F);
GL11.glRotatef(75.0F, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(-30.0F, 1.0F, 0.0F, 0.0F);
GL11.glTranslatef(0.0F, -0.2F, -0.5F);
GL11.glRotatef(-5.0F, 0.0F, 0.0F, 1.0F);
GL11.glTranslatef(0.5F, -0.2F, 0.0F);
//GL11.glScalef(0.75F, 0.75F, 0.75F);
GL11.glTranslatef(-1.4F, 0.0F, 0.0F);
renderWhatever(type, item, data);
GL11.glPopMatrix();
default: break;
}
}
private void renderWhatever(ItemRenderType type, ItemStack item, Object... data) {
Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelMP40.png"));
GL11.glScalef(0.75F, 0.75F, 0.75F);
mp40.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F);
Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelSpark.png"));
GL11.glScalef(4/3F, 4/3F, 4/3F);
GL11.glTranslatef(-0.5F, 0.0F, 0.0F);
sparkPlug.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F);
Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelPip.png"));
GL11.glTranslatef(0.0F, 0.2F, 0.0F);
GL11.glTranslatef(0.5F, 0.0F, 0.0F);
GL11.glScalef(0.75F, 0.75F, 0.75F);
pip.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F);
Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/BaleFlare.png"));
GL11.glScalef(4/3F, 4/3F, 4/3F);
GL11.glTranslatef(-1.5F, 0.0F, 0.0F);
bomb.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F);
}
}

View File

@ -14,7 +14,7 @@ import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
public class RenderLaunchPadTier1 extends TileEntitySpecialRenderer {
public class RenderLaunchPad extends TileEntitySpecialRenderer {
@Override
public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f) {

View File

@ -0,0 +1,100 @@
package com.hbm.render.tileentity;
import java.util.function.Consumer;
import org.lwjgl.opengl.GL11;
import com.hbm.blocks.BlockDummyable;
import com.hbm.inventory.RecipesCommon.ComparableStack;
import com.hbm.items.weapon.ItemMissile;
import com.hbm.items.weapon.ItemMissile.MissileFormFactor;
import com.hbm.main.ResourceManager;
import com.hbm.render.item.ItemRenderMissileGeneric;
import com.hbm.tileentity.bomb.TileEntityLaunchPadLarge;
import net.minecraft.client.renderer.texture.TextureManager;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.tileentity.TileEntity;
public class RenderLaunchPadLarge extends TileEntitySpecialRenderer {
@Override
public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f) {
GL11.glPushMatrix();
GL11.glTranslated(x + 0.5D, y, z + 0.5D);
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glEnable(GL11.GL_CULL_FACE);
switch(tileEntity.getBlockMetadata() - BlockDummyable.offset) {
case 2: GL11.glRotatef(90, 0F, 1F, 0F); break;
case 4: GL11.glRotatef(180, 0F, 1F, 0F); break;
case 3: GL11.glRotatef(270, 0F, 1F, 0F); break;
case 5: GL11.glRotatef(0, 0F, 1F, 0F); break;
}
TileEntityLaunchPadLarge pad = (TileEntityLaunchPadLarge) tileEntity;
bindTexture(ResourceManager.missile_erector_tex);
ResourceManager.missile_erector.renderPart("Pad");
if(pad.formFactor >= 0 && pad.formFactor < ItemMissile.MissileFormFactor.values().length) {
MissileFormFactor formFactor = MissileFormFactor.values()[pad.formFactor];
String[] parts = null;
double[] offset = null;
switch(formFactor) {
case ABM: parts = new String[] {"ABM_Pad", "ABM_Erector", "ABM_Pivot", "ABM_Rope"};
offset = new double[] {1.5D, 1.25D};
bindTexture(ResourceManager.missile_erector_abm_tex); break;
case MICRO: parts = new String[] {"Micro_Pad", "Micro_Erector", "Micro_Pivot", "Micro_Rope"};
offset = new double[] {1.5D, 1.25D};
bindTexture(ResourceManager.missile_erector_micro_tex); break;
case V2: parts = new String[] {"V2_Pad", "V2_Erector", "V2_Pivot", "V2_Rope"};
offset = new double[] {1.75D, 1.25D};
bindTexture(ResourceManager.missile_erector_v2_tex); break;
case STRONG: parts = new String[] {"Strong_Pad", "Strong_Erector", "Strong_Pivot", "Strong_Rope"};
offset = new double[] {3D, 1.5D};
bindTexture(ResourceManager.missile_erector_strong_tex); break;
case HUGE: parts = new String[] {"Huge_Pad", "Huge_Erector", "Huge_Pivot", "Huge_Rope"};
offset = new double[] {3D, 1.5D};
bindTexture(ResourceManager.missile_erector_huge_tex); break;
case ATLAS: parts = new String[] {"Atlas_Pad", "Atlas_Erector", "Atlas_Pivot", "Atlas_Rope"};
offset = new double[] {4D, 1.5D};
bindTexture(ResourceManager.missile_erector_atlas_tex); break;
case OTHER: parts = new String[] {"ABM_Pad", "ABM_Erector", "ABM_Pivot", "ABM_Rope"};
offset = new double[] {1.5D, 1.25D};
bindTexture(ResourceManager.missile_erector_abm_tex); break;
}
float erectorAngle = pad.prevErector + (pad.erector - pad.prevErector) * f;
float erectorLift = pad.prevLift + (pad.lift - pad.prevLift) * f;
GL11.glPushMatrix();
GL11.glShadeModel(GL11.GL_SMOOTH);
ResourceManager.missile_erector.renderPart(parts[0]);
if(pad.toRender != null && pad.erected) ResourceManager.missile_erector.renderPart(parts[3]);
GL11.glTranslated(0, offset[1], -offset[0]);
GL11.glRotatef(-erectorAngle, 1, 0, 0);
GL11.glTranslated(0, -offset[1], offset[0]);
ResourceManager.missile_erector.renderPart(parts[2]);
GL11.glTranslatef(0, erectorLift, 0);
ResourceManager.missile_erector.renderPart(parts[1]);
GL11.glShadeModel(GL11.GL_FLAT);
if(pad.erected) {
GL11.glPopMatrix();
GL11.glPushMatrix();
}
if(pad.toRender != null && (pad.erected || pad.readyToLoad)) {
GL11.glTranslated(0, 2, 0);
Consumer<TextureManager> renderer = ItemRenderMissileGeneric.renderers.get(new ComparableStack(pad.toRender).makeSingular());
if(renderer != null) renderer.accept(this.field_147501_a.field_147553_e);
}
GL11.glPopMatrix();
}
GL11.glPopMatrix();
}
}

View File

@ -2,8 +2,8 @@ package com.hbm.render.tileentity;
import org.lwjgl.opengl.GL11;
import com.hbm.items.weapon.ItemMissile;
import com.hbm.items.weapon.ItemMissile.PartSize;
import com.hbm.items.weapon.ItemCustomMissilePart;
import com.hbm.items.weapon.ItemCustomMissilePart.PartSize;
import com.hbm.main.ResourceManager;
import com.hbm.render.util.MissileMultipart;
import com.hbm.render.util.MissilePronter;
@ -87,7 +87,7 @@ public class RenderLaunchTable extends TileEntitySpecialRenderer {
emptyM.renderAll();
} else {
if(launcher.load != null && launcher.load.fuselage != null && ((ItemMissile)launcher.load.fuselage).top == launcher.padSize) {
if(launcher.load != null && launcher.load.fuselage != null && ((ItemCustomMissilePart)launcher.load.fuselage).top == launcher.padSize) {
bindTexture(connector);
connectorM.renderAll();
} else {

View File

@ -1,7 +1,7 @@
package com.hbm.render.util;
import com.hbm.handler.MissileStruct;
import com.hbm.items.weapon.ItemMissile.PartType;
import com.hbm.items.weapon.ItemCustomMissilePart.PartType;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;

View File

@ -2,7 +2,7 @@ package com.hbm.render.util;
import java.util.HashMap;
import com.hbm.items.ModItems;
import com.hbm.items.weapon.ItemMissile.PartType;
import com.hbm.items.weapon.ItemCustomMissilePart.PartType;
import com.hbm.main.ResourceManager;
import net.minecraft.item.Item;

View File

@ -2,7 +2,7 @@ package com.hbm.render.util;
import org.lwjgl.opengl.GL11;
import com.hbm.items.weapon.ItemMissile.PartType;
import com.hbm.items.weapon.ItemCustomMissilePart.PartType;
import net.minecraft.client.renderer.texture.TextureManager;

View File

@ -170,8 +170,7 @@ public abstract class TileEntityMachineBase extends TileEntityLoadedBase impleme
if(!worldObj.isRemote) PacketDispatcher.wrapper.sendToAllAround(new BufPacket(xCoord, yCoord, zCoord, this), new TargetPoint(this.worldObj.provider.dimensionId, xCoord, yCoord, zCoord, range));
}
@Override
public void serialize(ByteBuf buf) {
@Override public void serialize(ByteBuf buf) {
buf.writeBoolean(muffled);
}

View File

@ -73,6 +73,7 @@ public class TileMappings {
put(TileEntityRedBarrel.class, "tileentity_barrel");
put(TileEntityYellowBarrel.class, "tileentity_nukebarrel");
put(TileEntityLaunchPad.class, "tileentity_launch1");
put(TileEntityLaunchPadLarge.class, "tileentity_launchpad_large");
put(TileEntityDecoBlock.class, "tileentity_deco");
put(TileEntityDecoBlockAltW.class, "tileentity_deco_w");
put(TileEntityDecoBlockAltG.class, "tileentity_deco_g");

View File

@ -13,9 +13,9 @@ import com.hbm.inventory.fluid.tank.FluidTank;
import com.hbm.inventory.gui.GUIMachineCompactLauncher;
import com.hbm.items.ModItems;
import com.hbm.items.weapon.ItemCustomMissile;
import com.hbm.items.weapon.ItemMissile;
import com.hbm.items.weapon.ItemMissile.FuelType;
import com.hbm.items.weapon.ItemMissile.PartSize;
import com.hbm.items.weapon.ItemCustomMissilePart;
import com.hbm.items.weapon.ItemCustomMissilePart.FuelType;
import com.hbm.items.weapon.ItemCustomMissilePart.PartSize;
import com.hbm.lib.Library;
import com.hbm.main.MainRegistry;
import com.hbm.packet.AuxElectricityPacket;
@ -294,12 +294,12 @@ public class TileEntityCompactLauncher extends TileEntityLoadedBase implements I
worldObj.playSoundEffect(xCoord, yCoord, zCoord, "hbm:weapon.missileTakeOff", 10.0F, 1.0F);
ItemMissile chip = (ItemMissile) Item.getItemById(ItemCustomMissile.readFromNBT(slots[0], "chip"));
ItemCustomMissilePart chip = (ItemCustomMissilePart) Item.getItemById(ItemCustomMissile.readFromNBT(slots[0], "chip"));
float c = (Float)chip.attributes[0];
float f = 1.0F;
if(getStruct(slots[0]).fins != null) {
ItemMissile fins = (ItemMissile) Item.getItemById(ItemCustomMissile.readFromNBT(slots[0], "stability"));
ItemCustomMissilePart fins = (ItemCustomMissilePart) Item.getItemById(ItemCustomMissile.readFromNBT(slots[0], "stability"));
f = (Float) fins.attributes[0];
}
@ -329,7 +329,7 @@ public class TileEntityCompactLauncher extends TileEntityLoadedBase implements I
if(multipart == null || multipart.fuselage == null)
return;
ItemMissile fuselage = (ItemMissile)multipart.fuselage;
ItemCustomMissilePart fuselage = (ItemCustomMissilePart)multipart.fuselage;
float f = (Float)fuselage.attributes[1];
int fuel = (int)f;
@ -370,7 +370,7 @@ public class TileEntityCompactLauncher extends TileEntityLoadedBase implements I
if(multipart == null || multipart.fuselage == null)
return false;
ItemMissile fuselage = (ItemMissile)multipart.fuselage;
ItemCustomMissilePart fuselage = (ItemCustomMissilePart)multipart.fuselage;
return fuselage.top == PartSize.SIZE_10;
}
@ -391,7 +391,7 @@ public class TileEntityCompactLauncher extends TileEntityLoadedBase implements I
if(multipart == null || multipart.fuselage == null)
return -1;
ItemMissile fuselage = (ItemMissile)multipart.fuselage;
ItemCustomMissilePart fuselage = (ItemCustomMissilePart)multipart.fuselage;
if((FuelType)fuselage.attributes[0] == FuelType.SOLID) {
@ -411,7 +411,7 @@ public class TileEntityCompactLauncher extends TileEntityLoadedBase implements I
if(multipart == null || multipart.fuselage == null)
return -1;
ItemMissile fuselage = (ItemMissile)multipart.fuselage;
ItemCustomMissilePart fuselage = (ItemCustomMissilePart)multipart.fuselage;
switch((FuelType)fuselage.attributes[0]) {
case KEROSENE:
@ -436,7 +436,7 @@ public class TileEntityCompactLauncher extends TileEntityLoadedBase implements I
if(multipart == null || multipart.fuselage == null)
return -1;
ItemMissile fuselage = (ItemMissile)multipart.fuselage;
ItemCustomMissilePart fuselage = (ItemCustomMissilePart)multipart.fuselage;
switch((FuelType)fuselage.attributes[0]) {
case KEROSENE:
@ -460,7 +460,7 @@ public class TileEntityCompactLauncher extends TileEntityLoadedBase implements I
if(multipart == null || multipart.fuselage == null)
return;
ItemMissile fuselage = (ItemMissile)multipart.fuselage;
ItemCustomMissilePart fuselage = (ItemCustomMissilePart)multipart.fuselage;
switch((FuelType)fuselage.attributes[0]) {
case KEROSENE:

View File

@ -83,8 +83,6 @@ public class TileEntityLaunchPad extends TileEntityMachineBase implements IEnerg
missiles.put(new ComparableStack(ModItems.missile_inferno), EntityMissileInferno.class);
missiles.put(new ComparableStack(ModItems.missile_rain), EntityMissileRain.class);
missiles.put(new ComparableStack(ModItems.missile_drill), EntityMissileDrill.class);
missiles.put(new ComparableStack(ModItems.missile_endo), EntityMissileEndo.class);
missiles.put(new ComparableStack(ModItems.missile_exo), EntityMissileExo.class);
missiles.put(new ComparableStack(ModItems.missile_shuttle), EntityMissileShuttle.class);
//Tier 4
missiles.put(new ComparableStack(ModItems.missile_nuclear), EntityMissileNuclear.class);

View File

@ -0,0 +1,228 @@
package com.hbm.tileentity.bomb;
import com.hbm.inventory.container.ContainerLaunchPadLarge;
import com.hbm.inventory.gui.GUILaunchPadLarge;
import com.hbm.items.weapon.ItemMissile;
import com.hbm.tileentity.IGUIProvider;
import com.hbm.tileentity.IRadarCommandReceiver;
import com.hbm.tileentity.TileEntityMachineBase;
import api.hbm.energy.IEnergyUser;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import io.netty.buffer.ByteBuf;
import net.minecraft.client.gui.GuiScreen;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.Container;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
public class TileEntityLaunchPadLarge extends TileEntityMachineBase implements IEnergyUser, IGUIProvider, IRadarCommandReceiver {
public ItemStack toRender;
public int formFactor = -1;
/** Whether the missile has already been placed on the launchpad. Missile will render statically on the pad if true */
public boolean erected = false;
/** Whether the missile can be lifted. Missile will not render at all if false and not erected */
public boolean readyToLoad = false;
/** Instead of setting erected to true outright, this makes it so that it ties into the delay,
* which prevents a jerky transition due to the animation of the erector lagging behind a bit */
public boolean scheduleErect = false;
public float lift = 1F;
public float erector = 90F;
public float prevLift = 1F;
public float prevErector = 90F;
public float syncLift;
public float syncErector ;
public int delay = 20;
private int sync;
public long power;
public final long maxPower = 100_000;
public TileEntityLaunchPadLarge() {
super(7);
}
@Override
public String getName() {
return "container.launchPad";
}
@Override
public void updateEntity() {
if(!worldObj.isRemote) {
float erectorSpeed = 1.5F;
float liftSpeed = 0.025F;
if(slots[0] != null) {
if(slots[0].getItem() instanceof ItemMissile) {
this.formFactor = ((ItemMissile) slots[0].getItem()).formFactor.ordinal();
}
if(this.erector == 90F && this.lift == 1F) {
this.readyToLoad = true;
}
} else {
readyToLoad = false;
erected = false;
delay = 20;
}
if(delay > 0) {
delay--;
if(delay < 10 && scheduleErect) {
this.erected = true;
this.scheduleErect = false;
}
// if there is no missile or the missile isn't ready (i.e. the erector hasn't returned to zero position yet), retract
if(slots[0] == null || !readyToLoad) {
//fold back erector
if(erector < 90F) {
erector = Math.min(erector + erectorSpeed, 90F);
if(erector == 90F) delay = 20;
//extend lift
} else if(lift < 1F) {
lift = Math.min(lift + liftSpeed, 1F);
if(erector == 1F) {
//if the lift is fully extended, the loading can begin
readyToLoad = true;
delay = 20;
}
}
}
} else {
//only extend if the erector isn't up yet and the missile can be loaded
if(!erected && readyToLoad) {
//first, rotate the erector
if(erector != 0F) {
erector = Math.max(erector - erectorSpeed, 0F);
if(erector == 0F) delay = 20;
//then retract the lift
} else if(lift > 0) {
lift = Math.max(lift - liftSpeed, 0F);
if(lift == 0F) {
//once the lift is at the bottom, the missile is deployed
scheduleErect = true;
delay = 20;
}
}
} else {
//first, fold back the erector
if(erector < 90F) {
erector = Math.min(erector + erectorSpeed, 90F);
if(erector == 90F) delay = 20;
//then extend the lift again
} else if(lift < 1F) {
lift = Math.min(lift + liftSpeed, 1F);
if(erector == 1F) {
//if the lift is fully extended, the loading can begin
readyToLoad = true;
delay = 20;
}
}
}
}
this.networkPackNT(250);
} else {
this.prevLift = this.lift;
this.prevErector = this.erector;
if(this.sync > 0) {
this.lift = this.lift + ((this.syncLift - this.lift) / (float) this.sync);
this.erector = this.erector + ((this.syncErector - this.erector) / (float) this.sync);
--this.sync;
} else {
this.lift = this.syncLift;
this.erector = this.syncErector;
}
}
}
@Override
public void serialize(ByteBuf buf) {
super.serialize(buf);
if(slots[0] != null) {
buf.writeBoolean(true);
buf.writeInt(Item.getIdFromItem(slots[0].getItem()));
buf.writeShort((short) slots[0].getItemDamage());
} else {
buf.writeBoolean(false);
}
buf.writeBoolean(erected);
buf.writeBoolean(readyToLoad);
buf.writeByte((byte) this.formFactor);
buf.writeFloat(this.lift);
buf.writeFloat(this.erector);
}
@Override
public void deserialize(ByteBuf buf) {
super.deserialize(buf);
if(buf.readBoolean()) {
this.toRender = new ItemStack(Item.getItemById(buf.readInt()), 1, buf.readShort());
} else {
this.toRender = null;
}
this.erected = buf.readBoolean();
this.readyToLoad = buf.readBoolean();
this.formFactor = buf.readByte();
this.syncLift = buf.readFloat();
this.syncErector = buf.readFloat();
if(this.lift != this.syncLift || this.erector != this.syncErector) {
this.sync = 3;
}
}
@Override
public long getPower() {
return power;
}
@Override
public void setPower(long power) {
this.power = power;
}
@Override
public long getMaxPower() {
return maxPower;
}
@Override
public boolean sendCommandPosition(int x, int y, int z) {
return false;
}
@Override
public boolean sendCommandEntity(Entity target) {
return false;
}
@Override
public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) {
return new ContainerLaunchPadLarge(player.inventory, this);
}
@Override
@SideOnly(Side.CLIENT)
public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) {
return new GUILaunchPadLarge(player.inventory, this);
}
}

View File

@ -15,9 +15,9 @@ import com.hbm.inventory.fluid.tank.FluidTank;
import com.hbm.inventory.gui.GUIMachineLaunchTable;
import com.hbm.items.ModItems;
import com.hbm.items.weapon.ItemCustomMissile;
import com.hbm.items.weapon.ItemMissile;
import com.hbm.items.weapon.ItemMissile.FuelType;
import com.hbm.items.weapon.ItemMissile.PartSize;
import com.hbm.items.weapon.ItemCustomMissilePart;
import com.hbm.items.weapon.ItemCustomMissilePart.FuelType;
import com.hbm.items.weapon.ItemCustomMissilePart.PartSize;
import com.hbm.lib.Library;
import com.hbm.main.MainRegistry;
import com.hbm.packet.AuxElectricityPacket;
@ -291,12 +291,12 @@ public class TileEntityLaunchTable extends TileEntityLoadedBase implements ISide
worldObj.playSoundEffect(xCoord, yCoord, zCoord, "hbm:weapon.missileTakeOff", 10.0F, 1.0F);
ItemMissile chip = (ItemMissile) Item.getItemById(ItemCustomMissile.readFromNBT(slots[0], "chip"));
ItemCustomMissilePart chip = (ItemCustomMissilePart) Item.getItemById(ItemCustomMissile.readFromNBT(slots[0], "chip"));
float c = (Float)chip.attributes[0];
float f = 1.0F;
if(getStruct(slots[0]).fins != null) {
ItemMissile fins = (ItemMissile) Item.getItemById(ItemCustomMissile.readFromNBT(slots[0], "stability"));
ItemCustomMissilePart fins = (ItemCustomMissilePart) Item.getItemById(ItemCustomMissile.readFromNBT(slots[0], "stability"));
f = (Float) fins.attributes[0];
}
@ -326,7 +326,7 @@ public class TileEntityLaunchTable extends TileEntityLoadedBase implements ISide
if(multipart == null || multipart.fuselage == null)
return;
ItemMissile fuselage = (ItemMissile)multipart.fuselage;
ItemCustomMissilePart fuselage = (ItemCustomMissilePart)multipart.fuselage;
float f = (Float)fuselage.attributes[1];
int fuel = (int)f;
@ -367,7 +367,7 @@ public class TileEntityLaunchTable extends TileEntityLoadedBase implements ISide
if(multipart == null || multipart.fuselage == null)
return false;
ItemMissile fuselage = (ItemMissile)multipart.fuselage;
ItemCustomMissilePart fuselage = (ItemCustomMissilePart)multipart.fuselage;
return fuselage.top == padSize;
}
@ -388,7 +388,7 @@ public class TileEntityLaunchTable extends TileEntityLoadedBase implements ISide
if(multipart == null || multipart.fuselage == null)
return -1;
ItemMissile fuselage = (ItemMissile)multipart.fuselage;
ItemCustomMissilePart fuselage = (ItemCustomMissilePart)multipart.fuselage;
if((FuelType)fuselage.attributes[0] == FuelType.SOLID) {
@ -408,7 +408,7 @@ public class TileEntityLaunchTable extends TileEntityLoadedBase implements ISide
if(multipart == null || multipart.fuselage == null)
return -1;
ItemMissile fuselage = (ItemMissile)multipart.fuselage;
ItemCustomMissilePart fuselage = (ItemCustomMissilePart)multipart.fuselage;
switch((FuelType)fuselage.attributes[0]) {
case KEROSENE:
@ -433,7 +433,7 @@ public class TileEntityLaunchTable extends TileEntityLoadedBase implements ISide
if(multipart == null || multipart.fuselage == null)
return -1;
ItemMissile fuselage = (ItemMissile)multipart.fuselage;
ItemCustomMissilePart fuselage = (ItemCustomMissilePart)multipart.fuselage;
switch((FuelType)fuselage.attributes[0]) {
case KEROSENE:
@ -457,7 +457,7 @@ public class TileEntityLaunchTable extends TileEntityLoadedBase implements ISide
if(multipart == null || multipart.fuselage == null)
return;
ItemMissile fuselage = (ItemMissile)multipart.fuselage;
ItemCustomMissilePart fuselage = (ItemCustomMissilePart)multipart.fuselage;
switch((FuelType)fuselage.attributes[0]) {
case KEROSENE:

View File

@ -4,9 +4,9 @@ import com.hbm.handler.MissileStruct;
import com.hbm.inventory.container.ContainerMachineMissileAssembly;
import com.hbm.inventory.gui.GUIMachineMissileAssembly;
import com.hbm.items.weapon.ItemCustomMissile;
import com.hbm.items.weapon.ItemMissile;
import com.hbm.items.weapon.ItemMissile.FuelType;
import com.hbm.items.weapon.ItemMissile.PartType;
import com.hbm.items.weapon.ItemCustomMissilePart;
import com.hbm.items.weapon.ItemCustomMissilePart.FuelType;
import com.hbm.items.weapon.ItemCustomMissilePart.PartType;
import com.hbm.packet.PacketDispatcher;
import com.hbm.packet.TEMissileMultipartPacket;
import com.hbm.tileentity.IGUIProvider;
@ -190,9 +190,9 @@ public class TileEntityMachineMissileAssembly extends TileEntity implements ISid
public int fuselageState() {
if(slots[2] != null && slots[2].getItem() instanceof ItemMissile) {
if(slots[2] != null && slots[2].getItem() instanceof ItemCustomMissilePart) {
ItemMissile part = (ItemMissile)slots[2].getItem();
ItemCustomMissilePart part = (ItemCustomMissilePart)slots[2].getItem();
if(part.type == PartType.FUSELAGE)
return 1;
@ -203,9 +203,9 @@ public class TileEntityMachineMissileAssembly extends TileEntity implements ISid
public int chipState() {
if(slots[0] != null && slots[0].getItem() instanceof ItemMissile) {
if(slots[0] != null && slots[0].getItem() instanceof ItemCustomMissilePart) {
ItemMissile part = (ItemMissile)slots[0].getItem();
ItemCustomMissilePart part = (ItemCustomMissilePart)slots[0].getItem();
if(part.type == PartType.CHIP)
return 1;
@ -216,13 +216,13 @@ public class TileEntityMachineMissileAssembly extends TileEntity implements ISid
public int warheadState() {
if(slots[1] != null && slots[1].getItem() instanceof ItemMissile &&
slots[2] != null && slots[2].getItem() instanceof ItemMissile &&
slots[4] != null && slots[4].getItem() instanceof ItemMissile) {
if(slots[1] != null && slots[1].getItem() instanceof ItemCustomMissilePart &&
slots[2] != null && slots[2].getItem() instanceof ItemCustomMissilePart &&
slots[4] != null && slots[4].getItem() instanceof ItemCustomMissilePart) {
ItemMissile part = (ItemMissile)slots[1].getItem();
ItemMissile fuselage = (ItemMissile)slots[2].getItem();
ItemMissile thruster = (ItemMissile)slots[4].getItem();
ItemCustomMissilePart part = (ItemCustomMissilePart)slots[1].getItem();
ItemCustomMissilePart fuselage = (ItemCustomMissilePart)slots[2].getItem();
ItemCustomMissilePart thruster = (ItemCustomMissilePart)slots[4].getItem();
if(part.type == PartType.WARHEAD && fuselage.type == PartType.FUSELAGE && thruster.type == PartType.THRUSTER) {
float weight = (Float)part.attributes[2];
@ -241,11 +241,11 @@ public class TileEntityMachineMissileAssembly extends TileEntity implements ISid
if(slots[3] == null)
return -1;
if(slots[3] != null && slots[3].getItem() instanceof ItemMissile &&
slots[2] != null && slots[2].getItem() instanceof ItemMissile) {
if(slots[3] != null && slots[3].getItem() instanceof ItemCustomMissilePart &&
slots[2] != null && slots[2].getItem() instanceof ItemCustomMissilePart) {
ItemMissile part = (ItemMissile)slots[3].getItem();
ItemMissile fuselage = (ItemMissile)slots[2].getItem();
ItemCustomMissilePart part = (ItemCustomMissilePart)slots[3].getItem();
ItemCustomMissilePart fuselage = (ItemCustomMissilePart)slots[2].getItem();
if(part.top == fuselage.bottom && part.type == PartType.FINS)
return 1;
@ -256,11 +256,11 @@ public class TileEntityMachineMissileAssembly extends TileEntity implements ISid
public int thrusterState() {
if(slots[4] != null && slots[4].getItem() instanceof ItemMissile &&
slots[2] != null && slots[2].getItem() instanceof ItemMissile) {
if(slots[4] != null && slots[4].getItem() instanceof ItemCustomMissilePart &&
slots[2] != null && slots[2].getItem() instanceof ItemCustomMissilePart) {
ItemMissile part = (ItemMissile)slots[4].getItem();
ItemMissile fuselage = (ItemMissile)slots[2].getItem();
ItemCustomMissilePart part = (ItemCustomMissilePart)slots[4].getItem();
ItemCustomMissilePart fuselage = (ItemCustomMissilePart)slots[2].getItem();
if(part.type == PartType.THRUSTER && fuselage.type == PartType.FUSELAGE &&
part.top == fuselage.bottom && (FuelType)part.attributes[0] == (FuelType)fuselage.attributes[0]) {

View File

@ -1,847 +0,0 @@
# Blender v2.76 (sub 0) OBJ File: 'MissileThermo.blend'
# www.blender.org
o Cylinder
v -0.097545 0.500000 -0.490393
v 0.097545 0.500000 -0.490393
v 0.073159 0.000000 -0.367794
v 0.277785 0.500000 -0.415735
v 0.208339 0.000000 -0.311801
v 0.415735 0.500000 -0.277785
v 0.311801 0.000000 -0.208339
v 0.490393 0.500000 -0.097545
v 0.367794 0.000000 -0.073159
v 0.490393 0.500000 0.097545
v 0.367794 -0.000000 0.073159
v 0.415735 0.500000 0.277785
v 0.311801 -0.000000 0.208339
v 0.277785 0.500000 0.415735
v 0.208339 -0.000000 0.311801
v 0.097545 0.500000 0.490393
v -0.097545 0.500000 0.490393
v -0.073159 -0.000000 0.367794
v -0.277785 0.500000 0.415735
v -0.208339 -0.000000 0.311801
v -0.415735 0.500000 0.277785
v -0.311801 -0.000000 0.208339
v -0.490393 0.500000 0.097545
v -0.490393 0.500000 -0.097545
v -0.367794 0.000000 -0.073159
v -0.415735 0.500000 -0.277785
v -0.311801 0.000000 -0.208339
v 0.490393 3.000000 0.097545
v 0.415735 3.000000 0.277785
v -0.208339 0.000000 -0.311801
v -0.277785 0.500000 -0.415735
v 0.332588 4.500000 0.222228
v 0.222228 4.500000 0.332588
v -0.277785 3.000000 0.415735
v -0.415735 3.000000 0.277785
v -0.277785 3.000000 -0.415735
v -0.097545 3.000000 -0.490393
v 0.415735 3.000000 -0.277785
v 0.490393 3.000000 -0.097545
v -0.490393 3.000000 -0.097545
v -0.415735 3.000000 -0.277785
v 0.097545 3.000000 -0.490393
v 0.277785 3.000000 -0.415735
v 0.277785 3.000000 0.415735
v -0.490393 3.000000 0.097545
v -0.097545 3.000000 0.490393
v 0.097545 3.000000 0.490393
v -0.332588 4.500000 0.222228
v -0.270228 4.750000 0.180560
v -0.318755 4.750000 0.063404
v -0.332588 4.500000 -0.222228
v -0.222228 4.500000 -0.332588
v -0.078036 4.500000 -0.392314
v 0.078036 4.500000 -0.392314
v 0.078036 4.500000 0.392314
v -0.078036 4.500000 0.392314
v -0.222228 4.500000 0.332588
v 0.222228 4.500000 -0.332588
v 0.332588 4.500000 -0.222228
v 0.392314 4.500000 -0.078036
v -0.392314 4.500000 0.078036
v 0.392314 4.500000 0.078036
v -0.392314 4.500000 -0.078036
v -0.180560 4.750000 0.270228
v -0.063404 4.750000 0.318755
v -0.073159 5.000000 0.367795
v 0.318755 4.750000 -0.063404
v -0.318755 4.750000 -0.063404
v 0.318755 4.750000 0.063404
v 0.270227 4.750000 0.180560
v -0.270228 4.750000 -0.180560
v 0.180560 4.750000 0.270228
v -0.063405 4.750000 -0.318755
v 0.063404 4.750000 -0.318755
v -0.180560 4.750000 -0.270228
v 0.063404 4.750000 0.318755
v 0.180560 4.750000 -0.270228
v 0.270227 4.750000 -0.180560
v -0.311801 5.000000 -0.208339
v -0.311801 6.500000 -0.208339
v -0.208339 6.500000 -0.311801
v 0.208338 5.000000 -0.311801
v 0.311801 5.000000 -0.208339
v -0.208339 5.000000 0.311801
v -0.311801 5.000000 0.208339
v 0.367794 5.000000 -0.073159
v -0.367795 5.000000 0.073159
v -0.367795 5.000000 -0.073159
v 0.367794 5.000000 0.073159
v 0.311801 5.000000 0.208339
v -0.208339 5.000000 -0.311801
v 0.208339 5.000000 0.311801
v 0.073159 5.000000 0.367794
v -0.073159 5.000000 -0.367794
v 0.073158 5.000000 -0.367794
v 0.367794 6.500000 0.073159
v 0.367794 6.500000 -0.073159
v 0.220676 6.750000 -0.043895
v 0.208339 6.500000 0.311801
v 0.073159 6.500000 0.367794
v -0.073159 6.500000 -0.367794
v 0.073159 6.500000 -0.367794
v -0.073159 6.500000 0.367795
v 0.208339 6.500000 -0.311801
v -0.208339 6.500000 0.311801
v 0.311801 6.500000 -0.208339
v -0.311801 6.500000 0.208339
v -0.367795 6.500000 0.073159
v -0.367795 6.500000 -0.073159
v 0.311801 6.500000 0.208339
v 0.187080 6.750000 -0.125003
v 0.000000 6.900000 0.000000
v -0.220677 6.750000 0.043895
v -0.220677 6.750000 -0.043895
v 0.220676 6.750000 0.043895
v -0.187081 6.750000 -0.125003
v 0.187080 6.750000 0.125003
v 0.125003 6.750000 0.187081
v 0.043895 6.750000 0.220677
v -0.043896 6.750000 -0.220677
v -0.125004 6.750000 -0.187081
v 0.043895 6.750000 -0.220677
v -0.043896 6.750000 0.220677
v 0.125003 6.750000 -0.187081
v -0.125004 6.750000 0.187081
v -0.187081 6.750000 0.125003
v -0.048773 0.500000 0.490393
v 0.048772 0.500000 0.490393
v -0.490393 0.500000 0.048773
v -0.490393 0.500000 -0.048772
v 0.048773 0.500000 -0.490393
v -0.048772 0.500000 -0.490393
v 0.490393 0.500000 -0.048772
v 0.490393 0.500000 0.048773
v -0.073159 0.000000 -0.367794
v 0.073159 -0.000000 0.367794
v -0.367794 -0.000000 0.073159
v 0.048773 3.000000 -0.490393
v -0.048772 3.000000 -0.490393
v -0.048772 3.000000 0.490393
v 0.048772 3.000000 0.490393
v -0.048772 0.500000 -0.990393
v 0.048773 0.500000 -0.990393
v 0.048772 0.500000 0.990393
v -0.048773 0.500000 0.990393
v -0.490393 3.000000 -0.048773
v -0.490393 3.000000 0.048772
v 0.490393 3.000000 0.048773
v 0.490393 3.000000 -0.048772
v -0.990393 0.500000 0.048772
v -0.990393 0.500000 -0.048773
v 0.990393 0.500000 -0.048772
v 0.990393 0.500000 0.048773
vt 0.637050 0.082779
vt 0.613897 0.082779
vt 0.616792 0.021683
vt 0.590745 0.082779
vt 0.593639 0.021683
vt 0.567592 0.082778
vt 0.570487 0.021683
vt 0.544439 0.082778
vt 0.547334 0.021683
vt 0.914881 0.082781
vt 0.891728 0.082781
vt 0.894623 0.021685
vt 0.888835 0.021685
vt 0.868576 0.082781
vt 0.865682 0.021685
vt 0.845423 0.082781
vt 0.822271 0.082780
vt 0.825165 0.021684
vt 0.799118 0.082780
vt 0.802012 0.021685
vt 0.796224 0.021684
vt 0.775965 0.082780
vt 0.773072 0.021684
vt 0.752813 0.082780
vt 0.729660 0.082780
vt 0.732555 0.021684
vt 0.706508 0.082780
vt 0.709402 0.021684
vt 0.914879 0.379471
vt 0.891726 0.379471
vt 0.680461 0.021684
vt 0.683355 0.082779
vt 0.660202 0.082779
vt 0.686250 0.021684
vt 0.664143 0.659251
vt 0.683067 0.630930
vt 0.744795 0.643209
vt 0.889410 0.557865
vt 0.870888 0.557865
vt 0.799116 0.379470
vt 0.775963 0.379470
vt 0.683353 0.379470
vt 0.660200 0.379469
vt 0.590742 0.379469
vt 0.567590 0.379469
vt 0.729658 0.379470
vt 0.706505 0.379470
vt 0.637048 0.379469
vt 0.613895 0.379469
vt 0.868574 0.379471
vt 0.752811 0.379470
vt 0.822269 0.379470
vt 0.845421 0.379471
vt 0.773647 0.557865
vt 0.771910 0.588792
vt 0.756861 0.588792
vt 0.704189 0.557864
vt 0.685667 0.557864
vt 0.866258 0.557866
vt 0.657884 0.557864
vt 0.639362 0.557864
vt 0.681036 0.557864
vt 0.662514 0.557864
vt 0.843105 0.557865
vt 0.824583 0.557865
vt 0.634731 0.557864
vt 0.819952 0.557865
vt 0.801430 0.557865
vt 0.611578 0.557864
vt 0.796800 0.557865
vt 0.588426 0.557864
vt 0.569904 0.557864
vt 0.755125 0.557865
vt 0.565273 0.557864
vt 0.546751 0.557864
vt 0.750494 0.557864
vt 0.731972 0.557864
vt 0.912563 0.557866
vt 0.727342 0.557865
vt 0.423279 0.021683
vt 0.438328 0.021683
vt 0.439486 0.051917
vt 0.563536 0.588791
vt 0.748758 0.588791
vt 0.733709 0.588791
vt 0.910826 0.588793
vt 0.895777 0.588793
vt 0.725605 0.588792
vt 0.710556 0.588792
vt 0.887674 0.588792
vt 0.702453 0.588791
vt 0.847735 0.557865
vt 0.864521 0.588792
vt 0.656147 0.588791
vt 0.641098 0.588790
vt 0.679300 0.588791
vt 0.664251 0.588791
vt 0.841368 0.588791
vt 0.632994 0.588791
vt 0.617945 0.588791
vt 0.818216 0.588792
vt 0.609842 0.588791
vt 0.594792 0.588790
vt 0.778277 0.557865
vt 0.795063 0.588792
vt 0.586689 0.588791
vt 0.352664 0.051917
vt 0.352664 0.229931
vt 0.335300 0.229931
vt 0.282049 0.021683
vt 0.283206 0.051917
vt 0.265842 0.051917
vt 0.420964 0.021683
vt 0.422122 0.051917
vt 0.404757 0.051917
vt 0.264684 0.021683
vt 0.248477 0.051917
vt 0.403600 0.021683
vt 0.387393 0.051917
vt 0.232271 0.021683
vt 0.247320 0.021683
vt 0.386235 0.021683
vt 0.370028 0.051917
vt 0.507786 0.021683
vt 0.508944 0.051917
vt 0.491579 0.051917
vt 0.368871 0.021683
vt 0.475372 0.021683
vt 0.490422 0.021683
vt 0.351506 0.021683
vt 0.335299 0.051917
vt 0.473057 0.021683
vt 0.474215 0.051917
vt 0.456851 0.051917
vt 0.316778 0.021683
vt 0.317935 0.051917
vt 0.300571 0.051917
vt 0.334142 0.021683
vt 0.455693 0.021683
vt 0.299413 0.021683
vt 0.231112 0.229931
vt 0.248477 0.229931
vt 0.245004 0.264357
vt 0.474215 0.229931
vt 0.456851 0.229931
vt 0.317935 0.229931
vt 0.300570 0.229931
vt 0.439486 0.229931
vt 0.283206 0.229931
vt 0.422122 0.229931
vt 0.265842 0.229931
vt 0.404757 0.229931
vt 0.387393 0.229931
vt 0.370028 0.229931
vt 0.508944 0.229931
vt 0.491580 0.229931
vt 0.251950 0.264357
vt 0.262369 0.264357
vt 0.257159 0.296023
vt 0.383920 0.264356
vt 0.373501 0.264357
vt 0.505472 0.264356
vt 0.366555 0.264357
vt 0.356137 0.264357
vt 0.488107 0.264356
vt 0.477688 0.264356
vt 0.349191 0.264356
vt 0.470743 0.264356
vt 0.460324 0.264356
vt 0.314462 0.264357
vt 0.331827 0.264357
vt 0.321408 0.264357
vt 0.453378 0.264356
vt 0.297098 0.264356
vt 0.436013 0.264356
vt 0.279733 0.264356
vt 0.269314 0.264356
vt 0.418649 0.264356
vt 0.408230 0.264356
vt 0.401285 0.264356
vt 0.274523 0.296023
vt 0.482898 0.296022
vt 0.500262 0.296023
vt 0.495053 0.264356
vt 0.239795 0.296023
vt 0.234585 0.264357
vt 0.465533 0.296023
vt 0.448169 0.296023
vt 0.442959 0.264356
vt 0.430804 0.296023
vt 0.425595 0.264356
vt 0.413440 0.296022
vt 0.396075 0.296023
vt 0.390866 0.264356
vt 0.378711 0.296023
vt 0.361346 0.296023
vt 0.343982 0.296022
vt 0.338772 0.264356
vt 0.326617 0.296023
vt 0.309253 0.296023
vt 0.304043 0.264357
vt 0.291888 0.296023
vt 0.286679 0.264356
vt 0.275742 0.693421
vt 0.275742 0.390854
vt 0.287318 0.693421
vt 0.439182 0.390854
vt 0.450758 0.693421
vt 0.439182 0.693421
vt 0.112301 0.693421
vt 0.112301 0.390854
vt 0.123877 0.693421
vt 0.287318 0.331516
vt 0.287318 0.390854
vt 0.275742 0.331516
vt 0.845119 0.683623
vt 0.856695 0.986190
vt 0.845119 0.986190
vt 0.856695 0.683623
vt 0.845119 0.624285
vt 0.450758 0.390854
vt 0.439182 0.331516
vt 0.123877 0.390854
vt 0.380996 0.402491
vt 0.508944 0.402491
vt 0.786933 0.695261
vt 0.182063 0.402491
vt 0.914881 0.695261
vt 0.054115 0.402491
vt 0.657309 0.021683
vt 0.639944 0.021683
vt 0.634156 0.021683
vt 0.611004 0.021683
vt 0.587851 0.021683
vt 0.564698 0.021683
vt 0.911987 0.021685
vt 0.871470 0.021685
vt 0.848318 0.021685
vt 0.842530 0.021684
vt 0.819377 0.021685
vt 0.778860 0.021684
vt 0.755707 0.021684
vt 0.749919 0.021684
vt 0.726766 0.021684
vt 0.663097 0.021683
vt 0.703614 0.021684
vt 0.751440 0.659251
vt 0.751440 0.676616
vt 0.744795 0.692659
vt 0.732517 0.704937
vt 0.716474 0.711582
vt 0.670788 0.692659
vt 0.699110 0.711582
vt 0.683067 0.704937
vt 0.664143 0.676616
vt 0.670788 0.643209
vt 0.699110 0.624285
vt 0.716474 0.624285
vt 0.732517 0.630930
vt 0.616209 0.557864
vt 0.593056 0.557863
vt 0.544437 0.379469
vt 0.894041 0.557866
vt 0.708820 0.557865
vt 0.548487 0.588791
vt 0.872624 0.588792
vt 0.687403 0.588791
vt 0.849472 0.588792
vt 0.826319 0.588791
vt 0.803167 0.588792
vt 0.780014 0.588791
vt 0.571640 0.588791
vt 0.266999 0.021683
vt 0.405915 0.021683
vt 0.249635 0.021683
vt 0.388550 0.021683
vt 0.231113 0.051917
vt 0.371186 0.021683
vt 0.492737 0.021683
vt 0.353822 0.021683
vt 0.336457 0.021683
vt 0.458008 0.021683
vt 0.301728 0.021683
vt 0.319093 0.021683
vt 0.440644 0.021683
vt 0.284364 0.021683
vt 0.345504 0.402491
vt 0.217556 0.402491
vt 0.856695 0.624285
vt 0.450758 0.331516
vt 0.112301 0.331516
vt 0.123877 0.331516
vn 0.371700 -0.238100 -0.897300
vn 0.686800 -0.238100 -0.686800
vn 0.897300 -0.238100 -0.371700
vn 0.971200 -0.238100 0.000000
vn 0.897300 -0.238100 0.371700
vn 0.686800 -0.238100 0.686800
vn 0.371700 -0.238100 0.897300
vn 0.000000 -0.238100 0.971200
vn -0.371700 -0.238100 0.897300
vn -0.686800 -0.238100 0.686800
vn -0.897300 -0.238100 0.371700
vn -0.971200 -0.238100 0.000000
vn -0.897300 -0.238100 -0.371700
vn 0.923900 -0.000000 0.382700
vn -0.371700 -0.238100 -0.897300
vn -0.686800 -0.238100 -0.686800
vn 0.000000 -1.000000 -0.000000
vn 0.705600 0.065200 0.705600
vn -0.707100 -0.000000 0.707100
vn -0.382700 0.000000 -0.923900
vn 0.923900 0.000000 -0.382700
vn -0.923900 0.000000 -0.382700
vn 0.382700 0.000000 -0.923900
vn 0.707100 -0.000000 0.707100
vn -0.923900 -0.000000 0.382700
vn -0.382700 -0.000000 0.923900
vn -0.707100 0.000000 -0.707100
vn 0.707100 0.000000 -0.707100
vn 0.382700 -0.000000 0.923900
vn -0.886300 0.282300 0.367100
vn -0.705600 0.065200 -0.705600
vn 0.381900 0.065200 0.921900
vn 0.000000 0.065200 -0.997900
vn -0.381900 0.065200 -0.921900
vn 0.000000 0.065200 0.997900
vn 0.381900 0.065200 -0.921900
vn -0.381900 0.065200 0.921900
vn 0.705600 0.065200 -0.705600
vn -0.705600 0.065200 0.705600
vn 0.921900 0.065200 -0.381900
vn -0.921900 0.065200 0.381900
vn 0.997900 0.065200 0.000000
vn -0.997900 0.065200 0.000000
vn 0.921900 0.065200 0.381900
vn -0.921900 0.065200 -0.381900
vn -0.375500 -0.192500 0.906600
vn 0.959300 0.282300 0.000000
vn -0.959300 0.282300 0.000000
vn 0.886300 0.282300 0.367100
vn -0.886300 0.282300 -0.367100
vn 0.678400 0.282300 0.678400
vn 0.678400 0.282300 0.678300
vn -0.678400 0.282300 -0.678400
vn 0.367100 0.282300 0.886300
vn 0.000000 0.282300 -0.959300
vn -0.367100 0.282300 -0.886300
vn 0.000000 0.282300 0.959300
vn 0.367100 0.282300 -0.886300
vn -0.367100 0.282300 0.886300
vn 0.678400 0.282300 -0.678400
vn 0.678400 0.282300 -0.678300
vn -0.678400 0.282300 0.678400
vn 0.886300 0.282300 -0.367100
vn 0.693900 -0.192500 -0.693900
vn -0.693900 -0.192500 0.693900
vn 0.906600 -0.192500 -0.375500
vn -0.906600 -0.192500 0.375500
vn 0.981300 -0.192500 0.000000
vn -0.981300 -0.192500 0.000000
vn 0.906600 -0.192500 0.375500
vn -0.906600 -0.192500 -0.375500
vn 0.693900 -0.192500 0.693900
vn -0.693900 -0.192500 -0.693900
vn 0.375500 -0.192500 0.906600
vn 0.000000 -0.192500 -0.981300
vn -0.375500 -0.192500 -0.906600
vn 0.000000 -0.192500 0.981300
vn 0.375500 -0.192500 -0.906600
vn 0.861800 0.507200 0.000000
vn 0.000000 0.000000 -1.000000
vn 0.000000 -0.000000 1.000000
vn 1.000000 -0.000000 0.000000
vn -1.000000 0.000000 0.000000
vn 0.519400 0.827000 -0.215100
vn -0.861800 0.507200 0.000000
vn 0.796200 0.507200 0.329800
vn -0.796200 0.507200 -0.329800
vn 0.609400 0.507200 0.609400
vn -0.609400 0.507200 -0.609400
vn 0.329800 0.507200 0.796200
vn 0.000000 0.507200 -0.861800
vn -0.329800 0.507200 -0.796200
vn 0.000000 0.507200 0.861800
vn 0.329800 0.507200 -0.796200
vn -0.329800 0.507200 0.796200
vn 0.609400 0.507200 -0.609400
vn -0.609400 0.507200 0.609400
vn 0.796200 0.507200 -0.329800
vn -0.796200 0.507200 0.329800
vn 0.397500 0.827000 -0.397500
vn 0.397500 0.827000 0.397500
vn 0.519400 0.827000 0.215100
vn 0.562200 0.827000 0.000000
vn 0.215100 0.827000 0.519400
vn 0.000000 0.827000 0.562200
vn -0.215100 0.827000 0.519400
vn -0.397500 0.827000 0.397500
vn -0.519400 0.827000 0.215100
vn -0.562200 0.827000 0.000000
vn -0.519400 0.827000 -0.215100
vn -0.397500 0.827000 -0.397500
vn -0.215100 0.827000 -0.519400
vn 0.000000 0.827000 -0.562200
vn 0.215100 0.827000 -0.519400
vn 0.000000 0.196100 0.980600
vn 0.980600 0.196100 0.000000
vn 0.000000 0.196100 -0.980600
vn -0.980600 0.196100 0.000000
vn 0.000000 -0.238100 -0.971200
vn 0.000000 -0.118100 -0.993000
s 1
f 2/1/1 4/2/1 5/3/1
f 4/2/2 6/4/2 7/5/2
f 6/4/3 8/6/3 9/7/3
f 8/6/4 10/8/4 11/9/4
f 10/10/5 12/11/5 13/12/5
f 13/13/6 12/11/6 14/14/6
f 15/15/7 14/14/7 16/16/7
f 16/16/8 17/17/8 18/18/8
f 17/17/9 19/19/9 20/20/9
f 20/21/10 19/19/10 21/22/10
f 22/23/11 21/22/11 23/24/11
f 23/24/12 24/25/12 25/26/12
f 24/25/13 26/27/13 27/28/13
f 10/10/14 28/29/14 29/30/14
f 30/31/15 31/32/15 1/33/15
f 26/27/16 31/32/16 30/34/16
f 18/35/17 22/36/17 30/37/17
f 29/30/18 32/38/18 33/39/18
f 19/19/19 34/40/19 35/41/19
f 31/32/20 36/42/20 37/43/20
f 6/4/21 38/44/21 39/45/21
f 24/25/22 40/46/22 41/47/22
f 2/1/23 42/48/23 43/49/23
f 12/11/24 29/30/24 44/50/24
f 21/22/25 35/41/25 45/51/25
f 17/17/26 46/52/26 34/40/26
f 26/27/27 41/47/27 36/42/27
f 4/2/28 43/49/28 38/44/28
f 14/14/29 44/50/29 47/53/29
f 48/54/30 49/55/30 50/56/30
f 41/47/31 51/57/31 52/58/31
f 47/53/32 44/50/32 33/59/32
f 37/43/33 53/60/33 54/61/33
f 36/42/34 52/62/34 53/63/34
f 47/53/35 55/64/35 56/65/35
f 43/49/36 42/48/36 54/66/36
f 46/52/37 56/67/37 57/68/37
f 38/44/38 43/49/38 58/69/38
f 35/41/39 34/40/39 57/70/39
f 38/44/40 59/71/40 60/72/40
f 35/41/41 48/54/41 61/73/41
f 39/45/42 60/74/42 62/75/42
f 45/51/43 61/76/43 63/77/43
f 29/30/44 28/29/44 62/78/44
f 41/47/45 40/46/45 63/79/45
f 64/80/46 65/81/46 66/82/46
f 62/75/47 60/74/47 67/83/47
f 61/76/48 50/84/48 68/85/48
f 62/78/49 69/86/49 70/87/49
f 63/79/50 68/88/50 71/89/50
f 33/39/51 32/38/51 70/90/52
f 52/58/53 51/57/53 71/91/53
f 55/92/54 33/59/54 72/93/54
f 53/60/55 73/94/55 74/95/55
f 52/62/56 75/96/56 73/97/56
f 56/65/57 55/64/57 76/98/57
f 54/66/58 74/99/58 77/100/58
f 57/68/59 56/67/59 65/101/59
f 58/69/60 77/102/61 78/103/61
f 48/104/62 57/70/62 64/105/62
f 60/72/63 59/71/63 78/106/63
f 79/107/27 80/108/27 81/109/27
f 77/110/64 82/111/64 83/112/64
f 64/113/65 84/114/65 85/115/65
f 78/116/66 83/112/66 86/117/66
f 49/118/67 85/115/67 87/119/67
f 69/120/68 67/121/68 86/117/68
f 50/122/69 87/119/69 88/123/69
f 69/124/70 89/125/70 90/126/70
f 68/127/71 88/123/71 79/107/71
f 72/128/72 70/129/72 90/126/72
f 71/130/73 79/107/73 91/131/73
f 72/132/74 92/133/74 93/134/74
f 73/135/75 94/136/75 95/137/75
f 75/138/76 91/131/76 94/136/76
f 76/139/77 93/134/77 66/82/77
f 74/140/78 95/137/78 82/111/78
f 96/141/79 97/142/79 98/143/79
f 92/133/29 99/144/29 100/145/29
f 94/136/80 101/146/80 102/147/80
f 91/131/20 81/109/20 101/146/20
f 93/134/81 100/145/81 103/148/81
f 95/137/23 102/147/23 104/149/23
f 66/82/26 103/148/26 105/150/26
f 82/111/28 104/149/28 106/151/28
f 84/114/19 105/150/19 107/152/19
f 83/112/21 106/151/21 97/142/21
f 85/115/25 107/152/25 108/153/25
f 86/117/82 97/142/82 96/141/82
f 87/119/83 108/153/83 109/154/83
f 89/125/14 96/155/14 110/156/14
f 79/107/22 88/123/22 109/154/22
f 90/126/24 110/156/24 99/144/24
f 98/157/84 111/158/84 112/159/84
f 108/153/85 113/160/85 114/161/85
f 110/156/86 96/155/86 115/162/86
f 109/154/87 114/163/87 116/164/87
f 110/156/88 117/165/88 118/166/88
f 81/109/89 80/108/89 116/167/89
f 99/144/90 118/168/90 119/169/90
f 102/147/91 101/146/91 120/170/91
f 81/109/92 121/171/92 120/172/92
f 103/148/93 100/145/93 119/173/93
f 104/149/94 102/147/94 122/174/94
f 105/150/95 103/148/95 123/175/95
f 104/149/96 124/176/96 111/177/96
f 105/150/97 125/178/97 126/179/97
f 106/151/98 111/158/98 98/157/98
f 108/153/99 107/152/99 126/180/99
f 124/176/100 112/181/100 111/177/100
f 117/165/101 112/182/101 118/166/101
f 115/162/102 112/183/102 117/184/102
f 98/143/103 112/185/103 115/186/103
f 118/168/104 112/187/104 119/169/104
f 119/173/105 112/188/105 123/189/105
f 123/175/106 112/190/106 125/191/106
f 125/178/107 112/192/107 126/179/107
f 126/180/108 112/193/108 113/194/108
f 113/160/109 112/195/109 114/161/109
f 114/163/110 112/196/110 116/164/110
f 116/167/111 112/197/111 121/198/111
f 121/171/112 112/199/112 120/172/112
f 120/170/113 112/200/113 122/201/113
f 122/174/114 112/202/114 124/203/114
f 140/204/115 145/205/115 141/206/115
f 153/207/116 149/208/116 148/209/116
f 138/210/117 143/211/117 139/212/117
f 128/213/17 144/214/17 127/215/17
f 151/216/118 147/217/118 146/218/118
f 150/219/17 151/216/17 130/220/17
f 152/221/17 153/207/17 134/222/17
f 145/205/115 144/214/115 141/206/115
f 143/211/117 142/223/117 139/212/117
f 134/224/81 153/207/81 148/209/81
f 133/225/80 149/208/80 152/221/80
f 130/226/80 151/216/80 146/218/80
f 132/227/83 139/212/83 142/223/83
f 129/228/81 147/217/81 150/219/81
f 131/229/82 143/211/82 138/210/82
f 135/230/119 1/33/120 3/231/119
f 3/232/1 2/1/1 5/3/1
f 5/233/2 4/2/2 7/5/2
f 7/234/3 6/4/3 9/7/3
f 9/235/4 8/6/4 11/9/4
f 11/236/5 10/10/5 13/12/5
f 15/237/6 13/13/6 14/14/6
f 136/238/7 15/15/7 16/16/7
f 136/239/8 16/16/8 18/18/8
f 18/240/9 17/17/9 20/20/9
f 22/241/10 20/21/10 21/22/10
f 137/242/11 22/23/11 23/24/11
f 137/243/12 23/24/12 25/26/12
f 25/244/13 24/25/13 27/28/13
f 12/11/14 10/10/14 29/30/14
f 135/245/15 30/31/15 1/33/15
f 27/246/16 26/27/16 30/34/16
f 30/37/17 135/247/17 3/248/17
f 3/248/17 5/249/17 7/250/17
f 7/250/17 9/251/17 15/252/17
f 11/253/17 13/254/17 15/252/17
f 15/252/17 136/255/17 18/35/17
f 18/35/17 20/256/17 22/36/17
f 22/36/17 137/257/17 30/37/17
f 25/258/17 27/259/17 30/37/17
f 30/37/17 3/248/17 15/252/17
f 9/251/17 11/253/17 15/252/17
f 15/252/17 18/35/17 30/37/17
f 137/257/17 25/258/17 30/37/17
f 3/248/17 7/250/17 15/252/17
f 44/50/18 29/30/18 33/39/18
f 21/22/19 19/19/19 35/41/19
f 1/33/20 31/32/20 37/43/20
f 8/6/21 6/4/21 39/45/21
f 26/27/22 24/25/22 41/47/22
f 4/2/23 2/1/23 43/49/23
f 14/14/24 12/11/24 44/50/24
f 23/24/25 21/22/25 45/51/25
f 19/19/26 17/17/26 34/40/26
f 31/32/27 26/27/27 36/42/27
f 6/4/28 4/2/28 38/44/28
f 16/16/29 14/14/29 47/53/29
f 61/73/30 48/54/30 50/56/30
f 36/42/31 41/47/31 52/58/31
f 55/92/32 47/53/32 33/59/32
f 42/48/33 37/43/33 54/61/33
f 37/43/34 36/42/34 53/63/34
f 46/52/35 47/53/35 56/65/35
f 58/260/36 43/49/36 54/66/36
f 34/40/37 46/52/37 57/68/37
f 59/261/38 38/44/38 58/69/38
f 48/104/39 35/41/39 57/70/39
f 39/45/40 38/44/40 60/72/40
f 45/51/41 35/41/41 61/73/41
f 28/262/42 39/45/42 62/75/42
f 40/46/43 45/51/43 63/77/43
f 32/263/44 29/30/44 62/78/44
f 51/264/45 41/47/45 63/79/45
f 84/114/46 64/80/46 66/82/46
f 69/265/47 62/75/47 67/83/47
f 63/77/48 61/76/48 68/85/48
f 32/263/49 62/78/49 70/87/49
f 51/264/50 63/79/50 71/89/50
f 72/266/52 33/39/51 70/90/52
f 75/267/53 52/58/53 71/91/53
f 76/268/54 55/92/54 72/93/54
f 54/61/55 53/60/55 74/95/55
f 53/63/56 52/62/56 73/97/56
f 65/269/57 56/65/57 76/98/57
f 58/260/58 54/66/58 77/100/58
f 64/270/59 57/68/59 65/101/59
f 59/261/60 58/69/60 78/103/61
f 49/271/62 48/104/62 64/105/62
f 67/272/63 60/72/63 78/106/63
f 91/131/27 79/107/27 81/109/27
f 78/273/64 77/110/64 83/112/64
f 49/274/65 64/113/65 85/115/65
f 67/275/66 78/116/66 86/117/66
f 50/276/67 49/118/67 87/119/67
f 89/277/68 69/120/68 86/117/68
f 68/278/69 50/122/69 88/123/69
f 70/279/70 69/124/70 90/126/70
f 71/280/71 68/127/71 79/107/71
f 92/133/72 72/128/72 90/126/72
f 75/281/73 71/130/73 91/131/73
f 76/282/74 72/132/74 93/134/74
f 74/283/75 73/135/75 95/137/75
f 73/284/76 75/138/76 94/136/76
f 65/285/77 76/139/77 66/82/77
f 77/286/78 74/140/78 82/111/78
f 115/186/79 96/141/79 98/143/79
f 93/134/29 92/133/29 100/145/29
f 95/137/80 94/136/80 102/147/80
f 94/136/20 91/131/20 101/146/20
f 66/82/81 93/134/81 103/148/81
f 82/111/23 95/137/23 104/149/23
f 84/114/26 66/82/26 105/150/26
f 83/112/28 82/111/28 106/151/28
f 85/115/19 84/114/19 107/152/19
f 86/117/21 83/112/21 97/142/21
f 87/119/25 85/115/25 108/153/25
f 89/277/82 86/117/82 96/141/82
f 88/123/83 87/119/83 109/154/83
f 90/126/14 89/125/14 110/156/14
f 80/108/22 79/107/22 109/154/22
f 92/133/24 90/126/24 99/144/24
f 109/154/85 108/153/85 114/161/85
f 117/184/86 110/156/86 115/162/86
f 80/108/87 109/154/87 116/164/87
f 99/144/88 110/156/88 118/166/88
f 121/198/89 81/109/89 116/167/89
f 100/145/90 99/144/90 119/169/90
f 122/201/91 102/147/91 120/170/91
f 101/146/92 81/109/92 120/172/92
f 123/189/93 103/148/93 119/173/93
f 124/203/94 104/149/94 122/174/94
f 125/191/95 105/150/95 123/175/95
f 106/151/96 104/149/96 111/177/96
f 107/152/97 105/150/97 126/179/97
f 97/142/98 106/151/98 98/157/98
f 113/194/99 108/153/99 126/180/99
f 128/287/82 141/206/82 144/214/82
f 151/216/118 150/219/118 147/217/118
f 127/288/83 145/205/83 140/204/83
f 153/207/116 152/221/116 149/208/116
f 129/289/17 150/219/17 130/220/17
f 144/214/17 145/205/17 127/215/17
f 133/290/17 152/221/17 134/222/17
f 142/223/17 143/211/17 131/291/17
f 28/262/82 10/8/82 8/6/82
f 47/53/81 46/52/81 17/17/81
f 45/51/83 40/46/83 24/25/83
f 3/231/119 1/33/120 2/1/120
f 142/223/17 131/291/17 132/292/17
f 42/48/80 2/1/120 1/33/120
f 39/45/82 28/262/82 8/6/82
f 16/16/81 47/53/81 17/17/81
f 23/24/83 45/51/83 24/25/83
f 37/43/80 42/48/80 1/33/120

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 227 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 215 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.7 KiB