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 * Several guns now have reload animations including most .357 revolvers and Samuel
* Updated stealth missile texture * Updated stealth missile texture
* Some of the larger oil machines now render using display lists which should make them somewhat more performant * 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 * 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 * 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 * 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 * 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 * 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 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
* Fixed dupe caused by shift-clicking ashes out of the bricked furnace * 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 machine_orbus;
public static Block launch_pad; public static Block launch_pad;
public static Block launch_pad_large;
public static Block machine_missile_assembly; public static Block machine_missile_assembly;
public static Block compact_launcher; public static Block compact_launcher;
public static Block launch_table; public static Block launch_table;
public static Block soyuz_launcher; 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"); 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 = 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 = 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"); 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"); 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 //Missile Blocks
GameRegistry.registerBlock(machine_missile_assembly, machine_missile_assembly.getUnlocalizedName()); GameRegistry.registerBlock(machine_missile_assembly, machine_missile_assembly.getUnlocalizedName());
GameRegistry.registerBlock(launch_pad, launch_pad.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(compact_launcher, compact_launcher.getUnlocalizedName());
GameRegistry.registerBlock(launch_table, launch_table.getUnlocalizedName()); GameRegistry.registerBlock(launch_table, launch_table.getUnlocalizedName());
GameRegistry.registerBlock(soyuz_launcher, soyuz_launcher.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(EntityMissileInferno.class, "entity_missile_inferno", 1000);
addEntity(EntityMissileRain.class, "entity_missile_rain", 1000); addEntity(EntityMissileRain.class, "entity_missile_rain", 1000);
addEntity(EntityMissileDrill.class, "entity_missile_drill", 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(EntityMissileMirv.class, "entity_missile_mirv", 1000);
addEntity(EntityMIRV.class, "entity_mirvlet", 1000); addEntity(EntityMIRV.class, "entity_mirvlet", 1000);
addEntity(EntitySmokeFX.class, "entity_smoke_fx", 1000); addEntity(EntitySmokeFX.class, "entity_smoke_fx", 1000);
@ -111,8 +109,6 @@ public class EntityMappings {
addEntity(EntityMinecartTest.class, "entity_minecart_test", 1000); addEntity(EntityMinecartTest.class, "entity_minecart_test", 1000);
addEntity(EntitySparkBeam.class, "entity_spark_beam", 1000); addEntity(EntitySparkBeam.class, "entity_spark_beam", 1000);
addEntity(EntityMissileDoomsday.class, "entity_missile_doomsday", 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(EntityTSmokeFX.class, "entity_t_smoke_fx", 1000);
addEntity(EntityNukeExplosionMK3.class, "entity_nuke_mk3", 1000); addEntity(EntityNukeExplosionMK3.class, "entity_nuke_mk3", 1000);
addEntity(EntityVortex.class, "entity_vortex", 250); 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.EntityProcessorCross;
import com.hbm.explosion.vanillant.standard.ExplosionEffectStandard; import com.hbm.explosion.vanillant.standard.ExplosionEffectStandard;
import com.hbm.explosion.vanillant.standard.PlayerProcessorStandard; import com.hbm.explosion.vanillant.standard.PlayerProcessorStandard;
import com.hbm.items.weapon.ItemMissile;
import com.hbm.main.MainRegistry; import com.hbm.main.MainRegistry;
import com.hbm.util.TrackerUtil; import com.hbm.util.TrackerUtil;
@ -75,6 +76,9 @@ public abstract class EntityMissileBaseNT extends EntityThrowableInterp implemen
this.setSize(1.5F, 1.5F); this.setSize(1.5F, 1.5F);
} }
/** Auto-generates radar blip level and all that from the item */
public abstract ItemStack getMissileItemForInfo();
@Override @Override
public boolean canBeSeenBy(Object radar) { public boolean canBeSeenBy(Object radar) {
return true; 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)); if(largeSmoke) ExplosionLarge.spawnParticles(worldObj, posX, posY, posZ, ExplosionLarge.cloudFunction((int) strength));
xnt.explode(); 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.explosion.ExplosionLarge;
import com.hbm.handler.BulletConfigSyncingUtil; import com.hbm.handler.BulletConfigSyncingUtil;
import com.hbm.handler.MissileStruct; import com.hbm.handler.MissileStruct;
import com.hbm.items.weapon.ItemMissile; import com.hbm.items.ModItems;
import com.hbm.items.weapon.ItemMissile.FuelType; import com.hbm.items.weapon.ItemCustomMissilePart;
import com.hbm.items.weapon.ItemMissile.PartSize; import com.hbm.items.weapon.ItemCustomMissilePart.FuelType;
import com.hbm.items.weapon.ItemMissile.WarheadType; import com.hbm.items.weapon.ItemCustomMissilePart.PartSize;
import com.hbm.items.weapon.ItemCustomMissilePart.WarheadType;
import com.hbm.main.MainRegistry; import com.hbm.main.MainRegistry;
import api.hbm.entity.IRadarDetectable;
import api.hbm.entity.IRadarDetectableNT; import api.hbm.entity.IRadarDetectableNT;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
@ -28,7 +28,7 @@ import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.Vec3; import net.minecraft.util.Vec3;
import net.minecraft.world.World; 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 fuel;
protected float consumption; protected float consumption;
@ -61,8 +61,8 @@ public class EntityMissileCustom extends EntityMissileBaseNT implements IChunkLo
this.dataWatcher.updateObject(11, Integer.valueOf(0)); this.dataWatcher.updateObject(11, Integer.valueOf(0));
} }
ItemMissile fuselage = (ItemMissile) template.fuselage; ItemCustomMissilePart fuselage = (ItemCustomMissilePart) template.fuselage;
ItemMissile thruster = (ItemMissile) template.thruster; ItemCustomMissilePart thruster = (ItemCustomMissilePart) template.thruster;
this.fuel = (Float) fuselage.attributes[1]; this.fuel = (Float) fuselage.attributes[1];
this.consumption = (Float) thruster.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(); Vec3 v = Vec3.createVectorHelper(motionX, motionY, motionZ).normalize();
String smoke = ""; 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]; FuelType type = (FuelType) part.attributes[0];
switch(type) { switch(type) {
@ -145,7 +145,7 @@ public class EntityMissileCustom extends EntityMissileBaseNT implements IChunkLo
@Override @Override
public void onImpact() { //TODO: demolish this steaming pile of shit 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]; WarheadType type = (WarheadType) part.attributes[0];
float strength = (Float) part.attributes[1]; 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 @Override
public String getUnlocalizedName() { 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 top = part.top;
PartSize bottom = part.bottom; PartSize bottom = part.bottom;
@ -253,7 +237,7 @@ public class EntityMissileCustom extends EntityMissileBaseNT implements IChunkLo
@Override @Override
public int getBlipLevel() { 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 top = part.top;
PartSize bottom = part.bottom; 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 List<ItemStack> getDebris() { return new ArrayList(); }
@Override public ItemStack getDebrisRareDrop() { return null; } @Override public ItemStack getDebrisRareDrop() { return null; }
@Override
public ItemStack getMissileItemForInfo() {
return new ItemStack(ModItems.missile_custom);
}
} }

View File

@ -2,16 +2,18 @@ package com.hbm.entity.missile;
import java.util.List; 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.item.ItemStack;
import net.minecraft.world.World; import net.minecraft.world.World;
public class EntityMissileDoomsday extends EntityMissileBaseNT { public class EntityMissileDoomsday extends EntityMissileBaseNT {
public EntityMissileDoomsday(World p_i1582_1_) { public EntityMissileDoomsday(World world) {
super(p_i1582_1_); super(world);
} }
public EntityMissileDoomsday(World world, float x, float y, float z, int a, int b) { public EntityMissileDoomsday(World world, float x, float y, float z, int a, int b) {
@ -20,98 +22,12 @@ public class EntityMissileDoomsday extends EntityMissileBaseNT {
@Override @Override
public void onImpact() { public void onImpact() {
ExplosionLarge.explode(worldObj, posX, posY, posZ, 10.0F, true, true, true); this.worldObj.spawnEntityInWorld(EntityNukeExplosionMK5.statFac(worldObj, BombConfig.missileRadius * 2, posX, posY, posZ).moreFallout(100));
EntityNukeTorex.statFac(worldObj, posX, posY, posZ, BombConfig.missileRadius * 2);
} }
public void onUpdate() { @Override public List<ItemStack> getDebris() { return null; }
super.onUpdate(); @Override public ItemStack getDebrisRareDrop() { return null; }
if(motionY <= 0) { @Override public String getUnlocalizedName() { return "radar.target.doomsday"; }
if(!worldObj.isRemote) { @Override public ItemStack getMissileItemForInfo() { return new ItemStack(ModItems.missile_doomsday); }
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);
}
}
}
@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;
}
} }

View File

@ -11,7 +11,6 @@ import com.hbm.main.MainRegistry;
import com.hbm.packet.AuxParticlePacketNT; import com.hbm.packet.AuxParticlePacketNT;
import com.hbm.packet.PacketDispatcher; import com.hbm.packet.PacketDispatcher;
import api.hbm.entity.IRadarDetectableNT;
import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
import net.minecraft.init.Blocks; import net.minecraft.init.Blocks;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
@ -67,7 +66,7 @@ public class EntityMissileShuttle extends EntityMissileBaseNT {
} }
@Override @Override
public int getBlipLevel() { public ItemStack getMissileItemForInfo() {
return IRadarDetectableNT.TIER3; 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.ItemEnums.EnumAshType;
import com.hbm.items.ModItems; import com.hbm.items.ModItems;
import api.hbm.entity.IRadarDetectableNT;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.world.World; import net.minecraft.world.World;
@ -24,10 +23,10 @@ public class EntityMissileStealth extends EntityMissileBaseNT {
return list; return list;
} }
@Override public String getUnlocalizedName() { return "radar.target.tier1"; } @Override public ItemStack getMissileItemForInfo() { return new ItemStack(ModItems.missile_stealth); }
@Override public int getBlipLevel() { return IRadarDetectableNT.TIER1; }
@Override public boolean canBeSeenBy(Object radar) { return false; } @Override public boolean canBeSeenBy(Object radar) { return false; }
@Override public void onImpact() { this.explodeStandard(20F, 24, false, true); } @Override public void onImpact() { this.explodeStandard(20F, 24, false, true); }
@Override public ItemStack getDebrisRareDrop() { return DictFrame.fromOne(ModItems.powder_ash, EnumAshType.MISC); } @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.explosion.ExplosionNukeSmall;
import com.hbm.items.ModItems; import com.hbm.items.ModItems;
import api.hbm.entity.IRadarDetectableNT;
import com.hbm.items.ItemAmmoEnums.AmmoFatman; import com.hbm.items.ItemAmmoEnums.AmmoFatman;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
@ -37,16 +35,6 @@ public abstract class EntityMissileTier0 extends EntityMissileBaseNT {
return list; return list;
} }
@Override
public String getUnlocalizedName() {
return "radar.target.tier0";
}
@Override
public int getBlipLevel() {
return IRadarDetectableNT.TIER0;
}
@Override @Override
protected float getContrailScale() { protected float getContrailScale() {
return 0.5F; 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); } 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 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 getDebrisRareDrop() { return ModItems.ammo_nuke.stackFromEnum(AmmoFatman.HIGH); }
@Override public ItemStack getMissileItemForInfo() { return new ItemStack(ModItems.missile_micro); }
} }
public static class EntityMissileSchrabidium extends EntityMissileTier0 { 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 getDebrisRareDrop() { return new ItemStack(ModItems.powder_schrabidium, 1); }
@Override public ItemStack getMissileItemForInfo() { return new ItemStack(ModItems.missile_schrabidium); }
} }
public static class EntityMissileBHole extends EntityMissileTier0 { public static class EntityMissileBHole extends EntityMissileTier0 {
@ -88,6 +78,7 @@ public abstract class EntityMissileTier0 extends EntityMissileBaseNT {
this.worldObj.spawnEntityInWorld(bl); this.worldObj.spawnEntityInWorld(bl);
} }
@Override public ItemStack getDebrisRareDrop() { return new ItemStack(ModItems.grenade_black_hole, 1); } @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 { 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 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 { public static class EntityMissileEMP extends EntityMissileTier0 {
@ -117,5 +109,6 @@ public abstract class EntityMissileTier0 extends EntityMissileBaseNT {
worldObj.spawnEntityInWorld(wave); worldObj.spawnEntityInWorld(wave);
} }
@Override public ItemStack getDebrisRareDrop() { return new ItemStack(ModBlocks.emp_bomb, 1); } @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; return list;
} }
@Override
public String getUnlocalizedName() {
return "radar.target.tier1";
}
@Override
public int getBlipLevel() {
return IRadarDetectableNT.TIER1;
}
public static class EntityMissileGeneric extends EntityMissileTier1 { public static class EntityMissileGeneric extends EntityMissileTier1 {
public EntityMissileGeneric(World world) { super(world); } 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); } 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 void onImpact() { this.explodeStandard(15F, 24, false, true); }
@Override public ItemStack getDebrisRareDrop() { return new ItemStack(ModItems.warhead_generic_small); } @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 { 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 ItemStack getDebrisRareDrop() { return new ItemStack(ModItems.ingot_steel); }
@Override public String getUnlocalizedName() { return "radar.target.tier4"; } @Override public String getUnlocalizedName() { return "radar.target.tier4"; }
@Override public int getBlipLevel() { return IRadarDetectableNT.TIER4; } @Override public int getBlipLevel() { return IRadarDetectableNT.TIER4; }
@Override public ItemStack getMissileItemForInfo() { return new ItemStack(ModItems.missile_decoy); }
} }
public static class EntityMissileIncendiary extends EntityMissileTier1 { 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); } 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 void onImpact() { this.explodeStandard(15F, 24, true, true); }
@Override public ItemStack getDebrisRareDrop() { return new ItemStack(ModItems.warhead_incendiary_small); } @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 { public static class EntityMissileCluster extends EntityMissileTier1 {
@ -67,6 +60,7 @@ public abstract class EntityMissileTier1 extends EntityMissileBaseNT {
} }
@Override public void cluster() { this.onImpact(); } @Override public void cluster() { this.onImpact(); }
@Override public ItemStack getDebrisRareDrop() { return new ItemStack(ModItems.warhead_cluster_small); } @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 { 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); ExplosionLarge.spawnRubble(worldObj, this.posX, this.posY, this.posZ, 5);
} }
@Override public ItemStack getDebrisRareDrop() { return new ItemStack(ModItems.warhead_buster_small); } @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); } 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 void onImpact() { this.explodeStandard(30F, 32, false, true); }
@Override public ItemStack getDebrisRareDrop() { return new ItemStack(ModItems.warhead_generic_medium); } @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 { 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); 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 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 { public static class EntityMissileClusterStrong extends EntityMissileTier2 {
@ -65,6 +67,7 @@ public abstract class EntityMissileTier2 extends EntityMissileBaseNT {
} }
@Override public void cluster() { this.onImpact(); } @Override public void cluster() { this.onImpact(); }
@Override public ItemStack getDebrisRareDrop() { return new ItemStack(ModItems.warhead_cluster_medium); } @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 { 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); ExplosionLarge.spawnRubble(worldObj, this.posX, this.posY, this.posZ, 8);
} }
@Override public ItemStack getDebrisRareDrop() { return new ItemStack(ModItems.warhead_buster_medium); } @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 { public static class EntityMissileEMPStrong extends EntityMissileTier2 {
@ -90,5 +94,6 @@ public abstract class EntityMissileTier2 extends EntityMissileBaseNT {
worldObj.spawnEntityInWorld(emp); worldObj.spawnEntityInWorld(emp);
} }
@Override public ItemStack getDebrisRareDrop() { return new ItemStack(ModItems.warhead_generic_medium); } @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.ExplosionChaos;
import com.hbm.explosion.ExplosionLarge; import com.hbm.explosion.ExplosionLarge;
import com.hbm.explosion.ExplosionNT; import com.hbm.explosion.ExplosionNT;
import com.hbm.explosion.ExplosionThermo;
import com.hbm.explosion.ExplosionNT.ExAttrib; import com.hbm.explosion.ExplosionNT.ExAttrib;
import com.hbm.items.ModItems; import com.hbm.items.ModItems;
@ -48,6 +47,7 @@ public abstract class EntityMissileTier3 extends EntityMissileBaseNT {
this.explodeStandard(50F, 48, false, true); this.explodeStandard(50F, 48, false, true);
} }
@Override public ItemStack getDebrisRareDrop() { return new ItemStack(ModItems.warhead_generic_large); } @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 { 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); 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 getDebrisRareDrop() { return new ItemStack(ModItems.warhead_incendiary_large); }
@Override public ItemStack getMissileItemForInfo() { return new ItemStack(ModItems.missile_inferno); }
} }
public static class EntityMissileRain extends EntityMissileTier3 { public static class EntityMissileRain extends EntityMissileTier3 {
@ -70,6 +71,7 @@ public abstract class EntityMissileTier3 extends EntityMissileBaseNT {
} }
@Override public void cluster() { this.onImpact(); } @Override public void cluster() { this.onImpact(); }
@Override public ItemStack getDebrisRareDrop() { return new ItemStack(ModItems.warhead_cluster_large); } @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 { 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); ExplosionLarge.jolt(worldObj, this.posX, this.posY, this.posZ, 10, 50, 1);
} }
@Override public ItemStack getDebrisRareDrop() { return new ItemStack(ModItems.warhead_buster_large); } @Override public ItemStack getDebrisRareDrop() { return new ItemStack(ModItems.warhead_buster_large); }
} @Override public ItemStack getMissileItemForInfo() { return new ItemStack(ModItems.missile_drill); }
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); }
} }
} }

View File

@ -48,6 +48,7 @@ public abstract class EntityMissileTier4 extends EntityMissileBaseNT {
EntityNukeTorex.statFac(worldObj, posX, posY, posZ, BombConfig.missileRadius); EntityNukeTorex.statFac(worldObj, posX, posY, posZ, BombConfig.missileRadius);
} }
@Override public ItemStack getDebrisRareDrop() { return new ItemStack(ModItems.warhead_nuclear); } @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 { public static class EntityMissileMirv extends EntityMissileTier4 {
@ -67,6 +68,7 @@ public abstract class EntityMissileTier4 extends EntityMissileBaseNT {
return list; return list;
} }
@Override public ItemStack getDebrisRareDrop() { return new ItemStack(ModItems.warhead_mirv); } @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 { 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); 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 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; package com.hbm.handler;
import com.hbm.items.weapon.ItemMissile; import com.hbm.items.weapon.ItemCustomMissilePart;
import com.hbm.items.weapon.ItemMissile.PartType; import com.hbm.items.weapon.ItemCustomMissilePart.PartType;
import io.netty.buffer.ByteBuf; import io.netty.buffer.ByteBuf;
import net.minecraft.item.Item; import net.minecraft.item.Item;
@ -9,35 +9,35 @@ import net.minecraft.item.ItemStack;
public class MissileStruct { public class MissileStruct {
public ItemMissile warhead; public ItemCustomMissilePart warhead;
public ItemMissile fuselage; public ItemCustomMissilePart fuselage;
public ItemMissile fins; public ItemCustomMissilePart fins;
public ItemMissile thruster; public ItemCustomMissilePart thruster;
public MissileStruct() { } public MissileStruct() { }
public MissileStruct(ItemStack w, ItemStack f, ItemStack s, ItemStack t) { public MissileStruct(ItemStack w, ItemStack f, ItemStack s, ItemStack t) {
if(w != null && w.getItem() instanceof ItemMissile) if(w != null && w.getItem() instanceof ItemCustomMissilePart)
warhead = (ItemMissile) w.getItem(); warhead = (ItemCustomMissilePart) w.getItem();
if(f != null && f.getItem() instanceof ItemMissile) if(f != null && f.getItem() instanceof ItemCustomMissilePart)
fuselage = (ItemMissile) f.getItem(); fuselage = (ItemCustomMissilePart) f.getItem();
if(s != null && s.getItem() instanceof ItemMissile) if(s != null && s.getItem() instanceof ItemCustomMissilePart)
fins = (ItemMissile) s.getItem(); fins = (ItemCustomMissilePart) s.getItem();
if(t != null && t.getItem() instanceof ItemMissile) if(t != null && t.getItem() instanceof ItemCustomMissilePart)
thruster = (ItemMissile) t.getItem(); thruster = (ItemCustomMissilePart) t.getItem();
} }
public MissileStruct(Item w, Item f, Item s, Item t) { public MissileStruct(Item w, Item f, Item s, Item t) {
if(w instanceof ItemMissile) if(w instanceof ItemCustomMissilePart)
warhead = (ItemMissile) w; warhead = (ItemCustomMissilePart) w;
if(f instanceof ItemMissile) if(f instanceof ItemCustomMissilePart)
fuselage = (ItemMissile) f; fuselage = (ItemCustomMissilePart) f;
if(s instanceof ItemMissile) if(s instanceof ItemCustomMissilePart)
fins = (ItemMissile) s; fins = (ItemCustomMissilePart) s;
if(t instanceof ItemMissile) if(t instanceof ItemCustomMissilePart)
thruster = (ItemMissile) t; thruster = (ItemCustomMissilePart) t;
} }
public void writeToByteBuffer(ByteBuf buf) { public void writeToByteBuffer(ByteBuf buf) {
@ -74,16 +74,16 @@ public class MissileStruct {
int t = buf.readInt(); int t = buf.readInt();
if(w != 0) if(w != 0)
multipart.warhead = (ItemMissile) Item.getItemById(w); multipart.warhead = (ItemCustomMissilePart) Item.getItemById(w);
if(f != 0) if(f != 0)
multipart.fuselage = (ItemMissile) Item.getItemById(f); multipart.fuselage = (ItemCustomMissilePart) Item.getItemById(f);
if(s != 0) if(s != 0)
multipart.fins = (ItemMissile) Item.getItemById(s); multipart.fins = (ItemCustomMissilePart) Item.getItemById(s);
if(t != 0) if(t != 0)
multipart.thruster = (ItemMissile) Item.getItemById(t); multipart.thruster = (ItemCustomMissilePart) Item.getItemById(t);
return multipart; 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.inventory.container.ContainerLaunchTable;
import com.hbm.items.weapon.ItemCustomMissile; 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.lib.RefStrings;
import com.hbm.packet.AuxButtonPacket; import com.hbm.packet.AuxButtonPacket;
import com.hbm.packet.PacketDispatcher; 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), 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_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_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() { 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_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_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_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.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.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); 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, DIGAMMAKNOW,
DIGAMMAKAUAIMOHO, DIGAMMAKAUAIMOHO,
DIGAMMAUPONTOP, DIGAMMAUPONTOP,
DIGAMMAFOROURRIGHT DIGAMMAFOROURRIGHT,
QUESTIONMARK
} }
public static enum EnumFuelAdditive { 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.*;
import com.hbm.items.tool.ItemToolAbility.EnumToolType; import com.hbm.items.tool.ItemToolAbility.EnumToolType;
import com.hbm.items.weapon.*; 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.items.weapon.gununified.ItemEnergyGunBase;
import com.hbm.lib.RefStrings; import com.hbm.lib.RefStrings;
import com.hbm.main.MainRegistry; import com.hbm.main.MainRegistry;
@ -706,8 +709,6 @@ public class ModItems {
public static Item warhead_mirvlet; public static Item warhead_mirvlet;
public static Item warhead_mirv; public static Item warhead_mirv;
public static Item warhead_volcano; 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_small;
public static Item fuel_tank_medium; public static Item fuel_tank_medium;
@ -1321,8 +1322,6 @@ public class ModItems {
public static Item missile_nuclear; public static Item missile_nuclear;
public static Item missile_nuclear_cluster; public static Item missile_nuclear_cluster;
public static Item missile_volcano; public static Item missile_volcano;
public static Item missile_endo;
public static Item missile_exo;
public static Item missile_doomsday; public static Item missile_doomsday;
public static Item missile_taint; public static Item missile_taint;
public static Item missile_micro; public static Item missile_micro;
@ -1633,7 +1632,6 @@ public class ModItems {
public static Item gun_defabricator; public static Item gun_defabricator;
public static Item gun_defabricator_ammo; public static Item gun_defabricator_ammo;
public static Item gun_vortex; public static Item gun_vortex;
public static Item gun_dampfmaschine;
public static Item gun_waluigi; public static Item gun_waluigi;
public static Item gun_darter; public static Item gun_darter;
public static Item gun_detonator; 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_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_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_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_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"); 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_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"); 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_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_generic = new ItemMissile(MissileFormFactor.V2, MissileTier.TIER1).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_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 Item().setUnlocalizedName("missile_incendiary").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_incendiary"); missile_incendiary = new ItemMissile(MissileFormFactor.V2, MissileTier.TIER1).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_cluster = new ItemMissile(MissileFormFactor.V2, MissileTier.TIER1).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_buster = new ItemMissile(MissileFormFactor.V2, MissileTier.TIER1).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_decoy = new ItemMissile(MissileFormFactor.V2, MissileTier.TIER1).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_strong = new ItemMissile(MissileFormFactor.STRONG, MissileTier.TIER2).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_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 Item().setUnlocalizedName("missile_cluster_strong").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_cluster_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 Item().setUnlocalizedName("missile_buster_strong").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_buster_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 Item().setUnlocalizedName("missile_emp_strong").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_emp_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 Item().setUnlocalizedName("missile_burst").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_burst"); missile_burst = new ItemMissile(MissileFormFactor.HUGE, MissileTier.TIER3).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_inferno = new ItemMissile(MissileFormFactor.HUGE, MissileTier.TIER3).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_rain = new ItemMissile(MissileFormFactor.HUGE, MissileTier.TIER3).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_drill = new ItemMissile(MissileFormFactor.HUGE, MissileTier.TIER3).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 = new ItemMissile(MissileFormFactor.ATLAS, MissileTier.TIER4).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_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 ItemCustomLore().setUnlocalizedName("missile_volcano").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_volcano"); missile_volcano = new ItemMissile(MissileFormFactor.ATLAS, MissileTier.TIER4).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_doomsday = new ItemMissile(MissileFormFactor.ATLAS, MissileTier.TIER4).setUnlocalizedName("missile_doomsday").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_doomsday");
missile_exo = new Item().setUnlocalizedName("missile_exo").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_exo"); missile_taint = new ItemMissile(MissileFormFactor.MICRO, MissileTier.TIER0).setUnlocalizedName("missile_taint").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_taint");
missile_doomsday = new Item().setUnlocalizedName("missile_doomsday").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_doomsday"); missile_micro = new ItemMissile(MissileFormFactor.MICRO, MissileTier.TIER0).setUnlocalizedName("missile_micro").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_micro");
missile_taint = new Item().setUnlocalizedName("missile_taint").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_taint"); missile_bhole = new ItemMissile(MissileFormFactor.MICRO, MissileTier.TIER0).setUnlocalizedName("missile_bhole").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_bhole");
missile_micro = new Item().setUnlocalizedName("missile_micro").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_micro"); missile_schrabidium = new ItemMissile(MissileFormFactor.MICRO, MissileTier.TIER0).setUnlocalizedName("missile_schrabidium").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_schrabidium");
missile_bhole = new Item().setUnlocalizedName("missile_bhole").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_bhole"); missile_emp = new ItemMissile(MissileFormFactor.MICRO, MissileTier.TIER0).setUnlocalizedName("missile_emp").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_emp");
missile_schrabidium = new Item().setUnlocalizedName("missile_schrabidium").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_schrabidium"); 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_emp = new Item().setUnlocalizedName("missile_emp").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_emp"); missile_stealth = new ItemMissile(MissileFormFactor.STRONG, MissileTier.TIER1).setUnlocalizedName("missile_stealth").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_stealth");
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_carrier = new Item().setUnlocalizedName("missile_carrier").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_carrier"); 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 = 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"); 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_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"); 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 = new ItemCustomMissilePart().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_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 ItemMissile().makeThruster(FuelType.SOLID, 1F, 1.5F, PartSize.SIZE_10).setHealth(15F) .setUnlocalizedName("mp_thruster_10_solid"); 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 ItemMissile().makeThruster(FuelType.XENON, 1F, 1.5F, PartSize.SIZE_10).setHealth(5F) .setUnlocalizedName("mp_thruster_10_xenon"); 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 ItemMissile().makeThruster(FuelType.KEROSENE, 1F, 7.5F, PartSize.SIZE_15).setHealth(15F) .setUnlocalizedName("mp_thruster_15_kerosene"); 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 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_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 ItemMissile().makeThruster(FuelType.KEROSENE, 1F, 2.5F, PartSize.SIZE_15).setHealth(15F) .setUnlocalizedName("mp_thruster_15_kerosene_dual"); 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 ItemMissile().makeThruster(FuelType.KEROSENE, 1F, 5F, PartSize.SIZE_15).setHealth(15F) .setUnlocalizedName("mp_thruster_15_kerosene_triple"); 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 ItemMissile().makeThruster(FuelType.SOLID, 1F, 5F, PartSize.SIZE_15).setHealth(20F) .setUnlocalizedName("mp_thruster_15_solid"); 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 ItemMissile().makeThruster(FuelType.SOLID, 1F, 5F, PartSize.SIZE_15).setHealth(25F).setRarity(Rarity.UNCOMMON).setUnlocalizedName("mp_thruster_15_solid_hexdecuple"); 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 ItemMissile().makeThruster(FuelType.HYDROGEN, 1F, 7.5F, PartSize.SIZE_15).setHealth(20F) .setUnlocalizedName("mp_thruster_15_hydrogen"); 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 ItemMissile().makeThruster(FuelType.HYDROGEN, 1F, 2.5F, PartSize.SIZE_15).setHealth(15F) .setUnlocalizedName("mp_thruster_15_hydrogen_dual"); 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 ItemMissile().makeThruster(FuelType.BALEFIRE, 1F, 5F, PartSize.SIZE_15).setHealth(25F) .setUnlocalizedName("mp_thruster_15_balefire_short"); 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 ItemMissile().makeThruster(FuelType.BALEFIRE, 1F, 5F, PartSize.SIZE_15).setHealth(25F) .setUnlocalizedName("mp_thruster_15_balefire"); 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 ItemMissile().makeThruster(FuelType.BALEFIRE, 1F, 7.5F, PartSize.SIZE_15).setHealth(35F) .setUnlocalizedName("mp_thruster_15_balefire_large"); 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 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_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 ItemMissile().makeThruster(FuelType.KEROSENE, 1F, 100F, PartSize.SIZE_20).setHealth(30F) .setUnlocalizedName("mp_thruster_20_kerosene"); 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 ItemMissile().makeThruster(FuelType.KEROSENE, 1F, 100F, PartSize.SIZE_20).setHealth(30F) .setUnlocalizedName("mp_thruster_20_kerosene_dual"); 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 ItemMissile().makeThruster(FuelType.KEROSENE, 1F, 100F, PartSize.SIZE_20).setHealth(30F) .setUnlocalizedName("mp_thruster_20_kerosene_triple"); 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 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 = 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 ItemMissile().makeThruster(FuelType.SOLID, 1F, 100F, PartSize.SIZE_20).setHealth(35F) .setUnlocalizedName("mp_thruster_20_solid_multi"); 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 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_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_flat = new ItemCustomMissilePart().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_cruise = new ItemCustomMissilePart().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_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 ItemMissile().makeStability(0.5F, PartSize.SIZE_15).setHealth(10F) .setUnlocalizedName("mp_stability_15_flat"); mp_stability_15_flat = new ItemCustomMissilePart().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_thin = new ItemCustomMissilePart().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_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 ItemMissile().makeStability(0.5F, PartSize.SIZE_20) .setUnlocalizedName("mp_s_20"); 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 = 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 = ((ItemMissile) mp_fuselage_10_kerosene).copy().setRarity(Rarity.COMMON).setTitle("Camo").setUnlocalizedName("mp_fuselage_10_kerosene_camo"); 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 = ((ItemMissile) mp_fuselage_10_kerosene).copy().setRarity(Rarity.COMMON).setTitle("Desert Camo").setUnlocalizedName("mp_fuselage_10_kerosene_desert"); 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 = ((ItemMissile) mp_fuselage_10_kerosene).copy().setRarity(Rarity.COMMON).setTitle("Sky Camo").setUnlocalizedName("mp_fuselage_10_kerosene_sky"); 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 = ((ItemMissile) mp_fuselage_10_kerosene).copy().setRarity(Rarity.UNCOMMON).setTitle("Sick Flames").setUnlocalizedName("mp_fuselage_10_kerosene_flames"); 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 = ((ItemMissile) mp_fuselage_10_kerosene).copy().setRarity(Rarity.COMMON).setTitle("Orange Insulation").setHealth(25F).setUnlocalizedName("mp_fuselage_10_kerosene_insulation"); 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 = ((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_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 = ((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_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 = ((ItemMissile) mp_fuselage_10_kerosene).copy().setRarity(Rarity.UNCOMMON).setAuthor("Sam").setTitle("Tainted").setUnlocalizedName("mp_fuselage_10_kerosene_taint"); 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 = new ItemCustomMissilePart().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_flames = ((ItemCustomMissilePart) 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_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 = ((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_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 = ((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_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 = ((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_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 = ((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_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 = ((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_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 = ((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_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 = new ItemCustomMissilePart().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_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 = 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 = ((ItemMissile) mp_fuselage_10_long_kerosene).copy().setRarity(Rarity.COMMON).setTitle("Camo").setUnlocalizedName("mp_fuselage_10_long_kerosene_camo"); 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 = ((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_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 = ((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_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 = ((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_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 = ((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_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 = ((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_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 = ((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_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 = ((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_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 = ((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_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 = ((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_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 = 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 = ((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_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 = ((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_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 = ((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_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 = ((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_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 = ((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_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 = ((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_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_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 ItemMissile().makeFuselage(FuelType.SOLID, 10000F, PartSize.SIZE_10, PartSize.SIZE_15).setHealth(40F) .setUnlocalizedName("mp_fuselage_10_15_solid"); 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 ItemMissile().makeFuselage(FuelType.HYDROGEN, 10000F, PartSize.SIZE_10, PartSize.SIZE_15).setHealth(40F).setUnlocalizedName("mp_fuselage_10_15_hydrogen"); 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 ItemMissile().makeFuselage(FuelType.BALEFIRE, 10000F, PartSize.SIZE_10, PartSize.SIZE_15).setHealth(40F).setUnlocalizedName("mp_fuselage_10_15_balefire"); 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 = 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 = ((ItemMissile) mp_fuselage_15_kerosene).copy().setRarity(Rarity.COMMON).setTitle("Camo").setUnlocalizedName("mp_fuselage_15_kerosene_camo"); 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 = ((ItemMissile) mp_fuselage_15_kerosene).copy().setRarity(Rarity.COMMON).setTitle("Desert Camo").setUnlocalizedName("mp_fuselage_15_kerosene_desert"); 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 = ((ItemMissile) mp_fuselage_15_kerosene).copy().setRarity(Rarity.COMMON).setTitle("Sky Camo").setUnlocalizedName("mp_fuselage_15_kerosene_sky"); 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 = ((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_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 = ((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_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 = ((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_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 = ((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_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 = ((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_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 = ((ItemMissile) mp_fuselage_15_kerosene).copy().setRarity(Rarity.LEGENDARY).setTitle("Queen Whiskey").setHealth(100F).setUnlocalizedName("mp_fuselage_15_kerosene_blackjack"); 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 = ((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_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 = ((ItemMissile) mp_fuselage_15_kerosene).copy().setRarity(Rarity.UNCOMMON).setAuthor("Spexta").setTitle("MX 1702").setUnlocalizedName("mp_fuselage_15_kerosene_minuteman"); 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 = ((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_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 = ((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_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 = ((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_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 = 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 = ((ItemMissile) mp_fuselage_15_solid).copy().setRarity(Rarity.COMMON).setTitle("Orange Insulation").setHealth(65F).setUnlocalizedName("mp_fuselage_15_solid_insulation"); 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 = ((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_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 = ((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_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 = ((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_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 = ((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_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 = ((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_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 = ((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_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 = ((ItemMissile) mp_fuselage_15_solid).copy().setRarity(Rarity.RARE).setAuthor("Hoboy").setTitle("Panorama").setUnlocalizedName("mp_fuselage_15_solid_panorama"); 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 = ((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_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 = ((ItemMissile) mp_fuselage_15_solid).copy().setRarity(Rarity.RARE).setTitle("Mimi-chan").setUnlocalizedName("mp_fuselage_15_solid_mimi"); 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 = 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 = ((ItemMissile) mp_fuselage_15_hydrogen).copy().setRarity(Rarity.UNCOMMON).setAuthor("Satan").setTitle("Unholy Cathedral").setUnlocalizedName("mp_fuselage_15_hydrogen_cathedral"); 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 = 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 = ((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_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 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_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_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 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_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 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_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 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 = 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 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_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 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_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 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_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 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_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 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_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 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 = 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 = ((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_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 = ((ItemMissile) mp_warhead_15_nuclear).copy().setRarity(Rarity.RARE).setTitle("FASHIONABLE MISSILE").setUnlocalizedName("mp_warhead_15_nuclear_mimi"); 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 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_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 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_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 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_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 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_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 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_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_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 ItemMissile().makeChip(0.05F) .setUnlocalizedName("mp_c_2").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_c_2"); 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 ItemMissile().makeChip(0.01F) .setUnlocalizedName("mp_c_3").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_c_3"); 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 ItemMissile().makeChip(0.005F) .setUnlocalizedName("mp_c_4").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_c_4"); 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 ItemMissile().makeChip(0.0F) .setUnlocalizedName("mp_c_5").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_c_5"); 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_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"); 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_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_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_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_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_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"); 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_mirvlet, warhead_mirvlet.getUnlocalizedName());
GameRegistry.registerItem(warhead_mirv, warhead_mirv.getUnlocalizedName()); GameRegistry.registerItem(warhead_mirv, warhead_mirv.getUnlocalizedName());
GameRegistry.registerItem(warhead_volcano, warhead_volcano.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_small, fuel_tank_small.getUnlocalizedName());
GameRegistry.registerItem(fuel_tank_medium, fuel_tank_medium.getUnlocalizedName()); GameRegistry.registerItem(fuel_tank_medium, fuel_tank_medium.getUnlocalizedName());
GameRegistry.registerItem(fuel_tank_large, fuel_tank_large.getUnlocalizedName()); GameRegistry.registerItem(fuel_tank_large, fuel_tank_large.getUnlocalizedName());
@ -6890,34 +6881,38 @@ public class ModItems {
GameRegistry.registerItem(padlock_unbreakable, padlock_unbreakable.getUnlocalizedName()); GameRegistry.registerItem(padlock_unbreakable, padlock_unbreakable.getUnlocalizedName());
//Missiles //Missiles
GameRegistry.registerItem(missile_generic, missile_generic.getUnlocalizedName()); //Tier 0
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());
GameRegistry.registerItem(missile_taint, missile_taint.getUnlocalizedName()); GameRegistry.registerItem(missile_taint, missile_taint.getUnlocalizedName());
GameRegistry.registerItem(missile_micro, missile_micro.getUnlocalizedName()); GameRegistry.registerItem(missile_micro, missile_micro.getUnlocalizedName());
GameRegistry.registerItem(missile_bhole, missile_bhole.getUnlocalizedName()); GameRegistry.registerItem(missile_bhole, missile_bhole.getUnlocalizedName());
GameRegistry.registerItem(missile_schrabidium, missile_schrabidium.getUnlocalizedName()); GameRegistry.registerItem(missile_schrabidium, missile_schrabidium.getUnlocalizedName());
GameRegistry.registerItem(missile_emp, missile_emp.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_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_carrier, missile_carrier.getUnlocalizedName());
GameRegistry.registerItem(missile_soyuz, missile_soyuz.getUnlocalizedName()); GameRegistry.registerItem(missile_soyuz, missile_soyuz.getUnlocalizedName());
GameRegistry.registerItem(missile_soyuz_lander, missile_soyuz_lander.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_vortex, gun_vortex.getUnlocalizedName());
GameRegistry.registerItem(gun_super_shotgun, gun_super_shotgun.getUnlocalizedName()); GameRegistry.registerItem(gun_super_shotgun, gun_super_shotgun.getUnlocalizedName());
GameRegistry.registerItem(gun_moist_nugget, gun_moist_nugget.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_darter, gun_darter.getUnlocalizedName());
GameRegistry.registerItem(gun_detonator, gun_detonator.getUnlocalizedName()); GameRegistry.registerItem(gun_detonator, gun_detonator.getUnlocalizedName());
GameRegistry.registerItem(crucible, crucible.getUnlocalizedName()); GameRegistry.registerItem(crucible, crucible.getUnlocalizedName());
@ -7168,29 +7162,7 @@ public class ModItems {
GameRegistry.registerItem(gun_lunatic_marksman, gun_lunatic_marksman.getUnlocalizedName()); GameRegistry.registerItem(gun_lunatic_marksman, gun_lunatic_marksman.getUnlocalizedName());
//Ammo //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_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_xvl1456_ammo, gun_xvl1456_ammo.getUnlocalizedName());
GameRegistry.registerItem(gun_osipr_ammo, gun_osipr_ammo.getUnlocalizedName()); GameRegistry.registerItem(gun_osipr_ammo, gun_osipr_ammo.getUnlocalizedName());
GameRegistry.registerItem(gun_osipr_ammo2, gun_osipr_ammo2.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_coilgun, ammo_coilgun.getUnlocalizedName());
GameRegistry.registerItem(ammo_grenade, ammo_grenade.getUnlocalizedName()); GameRegistry.registerItem(ammo_grenade, ammo_grenade.getUnlocalizedName());
GameRegistry.registerItem(ammo_shell, ammo_shell.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_dgk, ammo_dgk.getUnlocalizedName());
GameRegistry.registerItem(ammo_arty, ammo_arty.getUnlocalizedName()); GameRegistry.registerItem(ammo_arty, ammo_arty.getUnlocalizedName());
GameRegistry.registerItem(ammo_himars, ammo_himars.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, ammo_folly.getUnlocalizedName());
GameRegistry.registerItem(ammo_folly_nuclear, ammo_folly_nuclear.getUnlocalizedName()); GameRegistry.registerItem(ammo_folly_nuclear, ammo_folly_nuclear.getUnlocalizedName());
GameRegistry.registerItem(ammo_folly_du, ammo_folly_du.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 java.util.Random;
import com.hbm.items.ModItems; 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.entity.player.EntityPlayer;
import net.minecraft.item.Item; import net.minecraft.item.Item;
@ -14,9 +14,9 @@ import net.minecraft.world.World;
public class ItemLootCrate extends Item { public class ItemLootCrate extends Item {
public static List<ItemMissile> list10 = new ArrayList(); public static List<ItemCustomMissilePart> list10 = new ArrayList();
public static List<ItemMissile> list15 = new ArrayList(); public static List<ItemCustomMissilePart> list15 = new ArrayList();
public static List<ItemMissile> listMisc = new ArrayList(); public static List<ItemCustomMissilePart> listMisc = new ArrayList();
private static Random rand = new Random(); private static Random rand = new Random();
@Override @Override
@ -35,10 +35,10 @@ public class ItemLootCrate extends Item {
return stack; return stack;
} }
private ItemMissile choose(List<ItemMissile> parts) { private ItemCustomMissilePart choose(List<ItemCustomMissilePart> parts) {
boolean flag = true; boolean flag = true;
ItemMissile item = null; ItemCustomMissilePart item = null;
while(flag) { while(flag) {
item = parts.get(rand.nextInt(parts.size())); 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, 1));
player.inventory.addItemStackToInventory(new ItemStack(ModItems.missile_nuclear_cluster, 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_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_doomsday, 1));
player.inventory.addItemStackToInventory(new ItemStack(ModItems.missile_taint, 1)); player.inventory.addItemStackToInventory(new ItemStack(ModItems.missile_taint, 1));
player.inventory.addItemStackToInventory(new ItemStack(ModItems.missile_micro, 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.handler.MissileStruct;
import com.hbm.items.ModItems; import com.hbm.items.ModItems;
import com.hbm.items.weapon.ItemMissile.FuelType; import com.hbm.items.weapon.ItemCustomMissilePart.FuelType;
import com.hbm.items.weapon.ItemMissile.WarheadType; import com.hbm.items.weapon.ItemCustomMissilePart.WarheadType;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
@ -57,11 +57,11 @@ public class ItemCustomMissile extends Item {
return; return;
try { try {
ItemMissile chip = (ItemMissile) Item.getItemById(readFromNBT(stack, "chip")); ItemCustomMissilePart chip = (ItemCustomMissilePart) Item.getItemById(readFromNBT(stack, "chip"));
ItemMissile warhead = (ItemMissile) Item.getItemById(readFromNBT(stack, "warhead")); ItemCustomMissilePart warhead = (ItemCustomMissilePart) Item.getItemById(readFromNBT(stack, "warhead"));
ItemMissile fuselage = (ItemMissile) Item.getItemById(readFromNBT(stack, "fuselage")); ItemCustomMissilePart fuselage = (ItemCustomMissilePart) Item.getItemById(readFromNBT(stack, "fuselage"));
ItemMissile stability = (ItemMissile) Item.getItemById(readFromNBT(stack, "stability")); ItemCustomMissilePart stability = (ItemCustomMissilePart) Item.getItemById(readFromNBT(stack, "stability"));
ItemMissile thruster = (ItemMissile) Item.getItemById(readFromNBT(stack, "thruster")); 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 + "Warhead: " + EnumChatFormatting.GRAY + warhead.getWarhead((WarheadType)warhead.attributes[0]));
list.add(EnumChatFormatting.BOLD + "Strength: " + EnumChatFormatting.GRAY + (Float)warhead.attributes[1]); 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)) if(stack == null || !(stack.getItem() instanceof ItemCustomMissile))
return null; return null;
ItemMissile warhead = (ItemMissile) Item.getItemById(readFromNBT(stack, "warhead")); ItemCustomMissilePart warhead = (ItemCustomMissilePart) Item.getItemById(readFromNBT(stack, "warhead"));
ItemMissile fuselage = (ItemMissile) Item.getItemById(readFromNBT(stack, "fuselage")); ItemCustomMissilePart fuselage = (ItemCustomMissilePart) Item.getItemById(readFromNBT(stack, "fuselage"));
ItemMissile stability = (ItemMissile) Item.getItemById(readFromNBT(stack, "stability")); ItemCustomMissilePart stability = (ItemCustomMissilePart) Item.getItemById(readFromNBT(stack, "stability"));
ItemMissile thruster = (ItemMissile) Item.getItemById(readFromNBT(stack, "thruster")); ItemCustomMissilePart thruster = (ItemCustomMissilePart) Item.getItemById(readFromNBT(stack, "thruster"));
MissileStruct missile = new MissileStruct(warhead, fuselage, stability, 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; package com.hbm.items.weapon;
import java.util.HashMap;
import java.util.List; import java.util.List;
import com.hbm.items.special.ItemLootCrate; import com.hbm.items.ItemCustomLore;
import com.hbm.lib.RefStrings;
import com.hbm.main.MainRegistry;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.EnumChatFormatting;
public class ItemMissile extends Item { public class ItemMissile extends ItemCustomLore {
public PartType type; public final MissileFormFactor formFactor;
public PartSize top; public final MissileTier tier;
public PartSize bottom; public final MissileFuel fuel;
public Rarity rarity;
public float health;
private String title;
private String author;
private String witty;
public ItemMissile() { public ItemMissile(MissileFormFactor form, MissileTier tier) {
this.setMaxStackSize(1); this.formFactor = form;
this.setCreativeTab(MainRegistry.missileTab); this.tier = tier;
this.fuel = form.defaultFuel;
} }
public static HashMap<Integer, ItemMissile> parts = new HashMap(); public ItemMissile(MissileFormFactor form, MissileTier tier, MissileFuel fuel) {
this.formFactor = form;
/** this.tier = tier;
* == Chips == this.fuel = fuel;
* [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 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 @Override
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) {
{ list.add(EnumChatFormatting.ITALIC + this.tier.display);
list.add("Fuel: " + this.fuel.display);
if(title != null) super.addInformation(itemstack, player, list, bool);
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) { 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) { protected MissileFuel defaultFuel;
case ANY:
return "Any"; private MissileFormFactor(MissileFuel defaultFuel) {
case SIZE_10: this.defaultFuel = defaultFuel;
return "1.0m";
case SIZE_15:
return "1.5m";
case SIZE_20:
return "2.0m";
default:
return "None";
} }
} }
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) { public String display;
case HE:
return EnumChatFormatting.YELLOW + "HE"; private MissileTier(String display) {
case INC: this.display = display;
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) { 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) { public String display;
case KEROSENE:
return EnumChatFormatting.LIGHT_PURPLE + "Kerosene / Peroxide"; private MissileFuel(String display) {
case SOLID: this.display = display;
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 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(TileEntityCoreStabilizer.class, new RenderCoreComponent());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityCore.class, new RenderCore()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityCore.class, new RenderCore());
//missile blocks //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(TileEntityMachineMissileAssembly.class, new RenderMissileAssembly());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityCompactLauncher.class, new RenderCompactLauncher()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityCompactLauncher.class, new RenderCompactLauncher());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityLaunchTable.class, new RenderLaunchTable()); 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, new ItemRenderMissileGeneric(RenderMissileType.TYPE_NUCLEAR));
MinecraftForgeClient.registerItemRenderer(ModItems.missile_nuclear_cluster, 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_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_doomsday, new ItemRenderMissileGeneric(RenderMissileType.TYPE_DOOMSDAY));
MinecraftForgeClient.registerItemRenderer(ModItems.missile_carrier, new ItemRenderMissileGeneric(RenderMissileType.TYPE_CARRIER)); MinecraftForgeClient.registerItemRenderer(ModItems.missile_carrier, new ItemRenderMissileGeneric(RenderMissileType.TYPE_CARRIER));
MinecraftForgeClient.registerItemRenderer(ModItems.missile_shuttle, new ItemRenderMissileGeneric(RenderMissileType.TYPE_ROBIN)); 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_defabricator, new ItemRenderOverkill());
MinecraftForgeClient.registerItemRenderer(ModItems.gun_dash, new ItemRenderOverkill()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_dash, new ItemRenderOverkill());
MinecraftForgeClient.registerItemRenderer(ModItems.gun_twigun, 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_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_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)); 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(EntitySiegeLaser.class, new RenderSiegeLaser());
RenderingRegistry.registerEntityRenderingHandler(EntityLN2.class, new RenderLN2(ModItems.energy_ball)); RenderingRegistry.registerEntityRenderingHandler(EntityLN2.class, new RenderLN2(ModItems.energy_ball));
RenderingRegistry.registerEntityRenderingHandler(EntityLaser.class, new RenderLaser()); RenderingRegistry.registerEntityRenderingHandler(EntityLaser.class, new RenderLaser());
RenderingRegistry.registerEntityRenderingHandler(EntityBombletTheta.class, new RenderBombletTheta());
RenderingRegistry.registerEntityRenderingHandler(EntityBombletZeta.class, new RenderBombletTheta()); RenderingRegistry.registerEntityRenderingHandler(EntityBombletZeta.class, new RenderBombletTheta());
RenderingRegistry.registerEntityRenderingHandler(EntityBombletSelena.class, new RenderBombletSelena());
RenderingRegistry.registerEntityRenderingHandler(EntityMeteor.class, new RenderMeteor()); RenderingRegistry.registerEntityRenderingHandler(EntityMeteor.class, new RenderMeteor());
RenderingRegistry.registerEntityRenderingHandler(EntityBoxcar.class, new RenderBoxcar()); RenderingRegistry.registerEntityRenderingHandler(EntityBoxcar.class, new RenderBoxcar());
RenderingRegistry.registerEntityRenderingHandler(EntityDuchessGambit.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(EntityMissileBHole.class, new RenderMissileTaint());
RenderingRegistry.registerEntityRenderingHandler(EntityMissileSchrabidium.class, new RenderMissileTaint()); RenderingRegistry.registerEntityRenderingHandler(EntityMissileSchrabidium.class, new RenderMissileTaint());
RenderingRegistry.registerEntityRenderingHandler(EntityMissileEMP.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()); RenderingRegistry.registerEntityRenderingHandler(EntityMissileShuttle.class, new RenderMissileShuttle());
//effects //effects
RenderingRegistry.registerEntityRenderingHandler(EntityCloudFleija.class, new RenderCloudFleija()); 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(); 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(); 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(); 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(); 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(); 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(); 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(); 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(); 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(); 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(); 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_fluorite");
ignoreMappings.add("hbm:tile.basalt_asbestos"); ignoreMappings.add("hbm:tile.basalt_asbestos");
ignoreMappings.add("hbm:tile.basalt_gem"); 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 /// /// REMAP ///
remapItems.put("hbm:item.gadget_explosive8", ModItems.early_explosive_lenses); 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 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 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 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 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 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")); public static final IModelCustom missileShuttle = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missileShuttle.obj"));
@ -1087,6 +1086,7 @@ public class ResourceManager {
//Missile Parts //Missile Parts
public static final IModelCustom missile_pad = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missilePad.obj")); 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 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 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")); 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 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 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 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 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 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"); public static final ResourceLocation missileShuttle_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missileShuttle.png");
@ -1289,6 +1287,13 @@ public class ResourceManager {
//Missile Parts //Missile Parts
public static final ResourceLocation missile_pad_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missilePad.png"); 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 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 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"); 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.config.MobConfig;
import com.hbm.entity.mob.EntityDuck; 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.TileEntityMachineBase;
import com.hbm.tileentity.TileEntityTickingBase; import com.hbm.tileentity.TileEntityTickingBase;
import com.hbm.tileentity.bomb.TileEntityLaunchTable; import com.hbm.tileentity.bomb.TileEntityLaunchTable;

View File

@ -1,7 +1,7 @@
package com.hbm.packet; package com.hbm.packet;
import com.hbm.interfaces.Spaghetti; 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.TileEntityMachineBase;
import com.hbm.tileentity.bomb.TileEntityCompactLauncher; import com.hbm.tileentity.bomb.TileEntityCompactLauncher;
import com.hbm.tileentity.bomb.TileEntityLaunchTable; 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_STEALTH,
TYPE_ABM, TYPE_ABM,
TYPE_NUCLEAR, TYPE_NUCLEAR,
TYPE_THERMAL,
TYPE_DOOMSDAY, TYPE_DOOMSDAY,
TYPE_CARRIER, TYPE_CARRIER,
TYPE_ROBIN TYPE_ROBIN
@ -77,7 +76,6 @@ public class ItemRenderMissileGeneric implements IItemRenderer {
case TYPE_STEALTH: guiScale = 1.75D; guiOffset = 4.75D; break; case TYPE_STEALTH: guiScale = 1.75D; guiOffset = 4.75D; break;
case TYPE_ABM: guiScale = 2.25D; guiOffset = 7D; break; case TYPE_ABM: guiScale = 2.25D; guiOffset = 7D; break;
case TYPE_NUCLEAR: guiScale = 1.75D; guiOffset = 4D; 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_DOOMSDAY: guiScale = 1.5D; guiOffset = 3D; break;
case TYPE_CARRIER: guiScale = 0.625D; guiOffset = -17D; break; case TYPE_CARRIER: guiScale = 0.625D; guiOffset = -17D; break;
case TYPE_ROBIN: guiScale = 1.25D; guiOffset = 2D; break; case TYPE_ROBIN: guiScale = 1.25D; guiOffset = 2D; break;
@ -168,9 +166,6 @@ public class ItemRenderMissileGeneric implements IItemRenderer {
renderers.put(new ComparableStack(ModItems.missile_nuclear_cluster), generateLarge(ResourceManager.missileMIRV_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_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)); renderers.put(new ComparableStack(ModItems.missile_doomsday), generateDouble(ResourceManager.missileDoomsday_tex, ResourceManager.missileDoomsday));
renderers.put(new ComparableStack(ModItems.missile_carrier), x -> { renderers.put(new ComparableStack(ModItems.missile_carrier), x -> {

View File

@ -2,7 +2,7 @@ package com.hbm.render.item;
import org.lwjgl.opengl.GL11; 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 com.hbm.render.util.MissilePart;
import net.minecraft.client.Minecraft; 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.item.ItemStack;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
public class RenderLaunchPadTier1 extends TileEntitySpecialRenderer { public class RenderLaunchPad extends TileEntitySpecialRenderer {
@Override @Override
public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f) { 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 org.lwjgl.opengl.GL11;
import com.hbm.items.weapon.ItemMissile; import com.hbm.items.weapon.ItemCustomMissilePart;
import com.hbm.items.weapon.ItemMissile.PartSize; import com.hbm.items.weapon.ItemCustomMissilePart.PartSize;
import com.hbm.main.ResourceManager; import com.hbm.main.ResourceManager;
import com.hbm.render.util.MissileMultipart; import com.hbm.render.util.MissileMultipart;
import com.hbm.render.util.MissilePronter; import com.hbm.render.util.MissilePronter;
@ -87,7 +87,7 @@ public class RenderLaunchTable extends TileEntitySpecialRenderer {
emptyM.renderAll(); emptyM.renderAll();
} else { } 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); bindTexture(connector);
connectorM.renderAll(); connectorM.renderAll();
} else { } else {

View File

@ -1,7 +1,7 @@
package com.hbm.render.util; package com.hbm.render.util;
import com.hbm.handler.MissileStruct; 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.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;

View File

@ -2,7 +2,7 @@ package com.hbm.render.util;
import java.util.HashMap; import java.util.HashMap;
import com.hbm.items.ModItems; 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 com.hbm.main.ResourceManager;
import net.minecraft.item.Item; import net.minecraft.item.Item;

View File

@ -2,7 +2,7 @@ package com.hbm.render.util;
import org.lwjgl.opengl.GL11; 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; 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)); if(!worldObj.isRemote) PacketDispatcher.wrapper.sendToAllAround(new BufPacket(xCoord, yCoord, zCoord, this), new TargetPoint(this.worldObj.provider.dimensionId, xCoord, yCoord, zCoord, range));
} }
@Override @Override public void serialize(ByteBuf buf) {
public void serialize(ByteBuf buf) {
buf.writeBoolean(muffled); buf.writeBoolean(muffled);
} }

View File

@ -73,6 +73,7 @@ public class TileMappings {
put(TileEntityRedBarrel.class, "tileentity_barrel"); put(TileEntityRedBarrel.class, "tileentity_barrel");
put(TileEntityYellowBarrel.class, "tileentity_nukebarrel"); put(TileEntityYellowBarrel.class, "tileentity_nukebarrel");
put(TileEntityLaunchPad.class, "tileentity_launch1"); put(TileEntityLaunchPad.class, "tileentity_launch1");
put(TileEntityLaunchPadLarge.class, "tileentity_launchpad_large");
put(TileEntityDecoBlock.class, "tileentity_deco"); put(TileEntityDecoBlock.class, "tileentity_deco");
put(TileEntityDecoBlockAltW.class, "tileentity_deco_w"); put(TileEntityDecoBlockAltW.class, "tileentity_deco_w");
put(TileEntityDecoBlockAltG.class, "tileentity_deco_g"); 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.inventory.gui.GUIMachineCompactLauncher;
import com.hbm.items.ModItems; import com.hbm.items.ModItems;
import com.hbm.items.weapon.ItemCustomMissile; import com.hbm.items.weapon.ItemCustomMissile;
import com.hbm.items.weapon.ItemMissile; import com.hbm.items.weapon.ItemCustomMissilePart;
import com.hbm.items.weapon.ItemMissile.FuelType; import com.hbm.items.weapon.ItemCustomMissilePart.FuelType;
import com.hbm.items.weapon.ItemMissile.PartSize; import com.hbm.items.weapon.ItemCustomMissilePart.PartSize;
import com.hbm.lib.Library; import com.hbm.lib.Library;
import com.hbm.main.MainRegistry; import com.hbm.main.MainRegistry;
import com.hbm.packet.AuxElectricityPacket; 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); 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 c = (Float)chip.attributes[0];
float f = 1.0F; float f = 1.0F;
if(getStruct(slots[0]).fins != null) { 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]; f = (Float) fins.attributes[0];
} }
@ -329,7 +329,7 @@ public class TileEntityCompactLauncher extends TileEntityLoadedBase implements I
if(multipart == null || multipart.fuselage == null) if(multipart == null || multipart.fuselage == null)
return; return;
ItemMissile fuselage = (ItemMissile)multipart.fuselage; ItemCustomMissilePart fuselage = (ItemCustomMissilePart)multipart.fuselage;
float f = (Float)fuselage.attributes[1]; float f = (Float)fuselage.attributes[1];
int fuel = (int)f; int fuel = (int)f;
@ -370,7 +370,7 @@ public class TileEntityCompactLauncher extends TileEntityLoadedBase implements I
if(multipart == null || multipart.fuselage == null) if(multipart == null || multipart.fuselage == null)
return false; return false;
ItemMissile fuselage = (ItemMissile)multipart.fuselage; ItemCustomMissilePart fuselage = (ItemCustomMissilePart)multipart.fuselage;
return fuselage.top == PartSize.SIZE_10; return fuselage.top == PartSize.SIZE_10;
} }
@ -391,7 +391,7 @@ public class TileEntityCompactLauncher extends TileEntityLoadedBase implements I
if(multipart == null || multipart.fuselage == null) if(multipart == null || multipart.fuselage == null)
return -1; return -1;
ItemMissile fuselage = (ItemMissile)multipart.fuselage; ItemCustomMissilePart fuselage = (ItemCustomMissilePart)multipart.fuselage;
if((FuelType)fuselage.attributes[0] == FuelType.SOLID) { if((FuelType)fuselage.attributes[0] == FuelType.SOLID) {
@ -411,7 +411,7 @@ public class TileEntityCompactLauncher extends TileEntityLoadedBase implements I
if(multipart == null || multipart.fuselage == null) if(multipart == null || multipart.fuselage == null)
return -1; return -1;
ItemMissile fuselage = (ItemMissile)multipart.fuselage; ItemCustomMissilePart fuselage = (ItemCustomMissilePart)multipart.fuselage;
switch((FuelType)fuselage.attributes[0]) { switch((FuelType)fuselage.attributes[0]) {
case KEROSENE: case KEROSENE:
@ -436,7 +436,7 @@ public class TileEntityCompactLauncher extends TileEntityLoadedBase implements I
if(multipart == null || multipart.fuselage == null) if(multipart == null || multipart.fuselage == null)
return -1; return -1;
ItemMissile fuselage = (ItemMissile)multipart.fuselage; ItemCustomMissilePart fuselage = (ItemCustomMissilePart)multipart.fuselage;
switch((FuelType)fuselage.attributes[0]) { switch((FuelType)fuselage.attributes[0]) {
case KEROSENE: case KEROSENE:
@ -460,7 +460,7 @@ public class TileEntityCompactLauncher extends TileEntityLoadedBase implements I
if(multipart == null || multipart.fuselage == null) if(multipart == null || multipart.fuselage == null)
return; return;
ItemMissile fuselage = (ItemMissile)multipart.fuselage; ItemCustomMissilePart fuselage = (ItemCustomMissilePart)multipart.fuselage;
switch((FuelType)fuselage.attributes[0]) { switch((FuelType)fuselage.attributes[0]) {
case KEROSENE: 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_inferno), EntityMissileInferno.class);
missiles.put(new ComparableStack(ModItems.missile_rain), EntityMissileRain.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_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); missiles.put(new ComparableStack(ModItems.missile_shuttle), EntityMissileShuttle.class);
//Tier 4 //Tier 4
missiles.put(new ComparableStack(ModItems.missile_nuclear), EntityMissileNuclear.class); 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.inventory.gui.GUIMachineLaunchTable;
import com.hbm.items.ModItems; import com.hbm.items.ModItems;
import com.hbm.items.weapon.ItemCustomMissile; import com.hbm.items.weapon.ItemCustomMissile;
import com.hbm.items.weapon.ItemMissile; import com.hbm.items.weapon.ItemCustomMissilePart;
import com.hbm.items.weapon.ItemMissile.FuelType; import com.hbm.items.weapon.ItemCustomMissilePart.FuelType;
import com.hbm.items.weapon.ItemMissile.PartSize; import com.hbm.items.weapon.ItemCustomMissilePart.PartSize;
import com.hbm.lib.Library; import com.hbm.lib.Library;
import com.hbm.main.MainRegistry; import com.hbm.main.MainRegistry;
import com.hbm.packet.AuxElectricityPacket; 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); 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 c = (Float)chip.attributes[0];
float f = 1.0F; float f = 1.0F;
if(getStruct(slots[0]).fins != null) { 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]; f = (Float) fins.attributes[0];
} }
@ -326,7 +326,7 @@ public class TileEntityLaunchTable extends TileEntityLoadedBase implements ISide
if(multipart == null || multipart.fuselage == null) if(multipart == null || multipart.fuselage == null)
return; return;
ItemMissile fuselage = (ItemMissile)multipart.fuselage; ItemCustomMissilePart fuselage = (ItemCustomMissilePart)multipart.fuselage;
float f = (Float)fuselage.attributes[1]; float f = (Float)fuselage.attributes[1];
int fuel = (int)f; int fuel = (int)f;
@ -367,7 +367,7 @@ public class TileEntityLaunchTable extends TileEntityLoadedBase implements ISide
if(multipart == null || multipart.fuselage == null) if(multipart == null || multipart.fuselage == null)
return false; return false;
ItemMissile fuselage = (ItemMissile)multipart.fuselage; ItemCustomMissilePart fuselage = (ItemCustomMissilePart)multipart.fuselage;
return fuselage.top == padSize; return fuselage.top == padSize;
} }
@ -388,7 +388,7 @@ public class TileEntityLaunchTable extends TileEntityLoadedBase implements ISide
if(multipart == null || multipart.fuselage == null) if(multipart == null || multipart.fuselage == null)
return -1; return -1;
ItemMissile fuselage = (ItemMissile)multipart.fuselage; ItemCustomMissilePart fuselage = (ItemCustomMissilePart)multipart.fuselage;
if((FuelType)fuselage.attributes[0] == FuelType.SOLID) { if((FuelType)fuselage.attributes[0] == FuelType.SOLID) {
@ -408,7 +408,7 @@ public class TileEntityLaunchTable extends TileEntityLoadedBase implements ISide
if(multipart == null || multipart.fuselage == null) if(multipart == null || multipart.fuselage == null)
return -1; return -1;
ItemMissile fuselage = (ItemMissile)multipart.fuselage; ItemCustomMissilePart fuselage = (ItemCustomMissilePart)multipart.fuselage;
switch((FuelType)fuselage.attributes[0]) { switch((FuelType)fuselage.attributes[0]) {
case KEROSENE: case KEROSENE:
@ -433,7 +433,7 @@ public class TileEntityLaunchTable extends TileEntityLoadedBase implements ISide
if(multipart == null || multipart.fuselage == null) if(multipart == null || multipart.fuselage == null)
return -1; return -1;
ItemMissile fuselage = (ItemMissile)multipart.fuselage; ItemCustomMissilePart fuselage = (ItemCustomMissilePart)multipart.fuselage;
switch((FuelType)fuselage.attributes[0]) { switch((FuelType)fuselage.attributes[0]) {
case KEROSENE: case KEROSENE:
@ -457,7 +457,7 @@ public class TileEntityLaunchTable extends TileEntityLoadedBase implements ISide
if(multipart == null || multipart.fuselage == null) if(multipart == null || multipart.fuselage == null)
return; return;
ItemMissile fuselage = (ItemMissile)multipart.fuselage; ItemCustomMissilePart fuselage = (ItemCustomMissilePart)multipart.fuselage;
switch((FuelType)fuselage.attributes[0]) { switch((FuelType)fuselage.attributes[0]) {
case KEROSENE: case KEROSENE:

View File

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