decoy missile, recipe stuff
@ -10,6 +10,8 @@
|
||||
* Exposure chamber
|
||||
* Now performs the particle transmutation recipes that were previously done in the crafting table
|
||||
* Stylish as hell
|
||||
* Decoy missile
|
||||
* A cheap tier 1 missile that shows up on radar screens as tier 4 (eg. nuclear) missiles
|
||||
|
||||
## Changed
|
||||
* Reduced the blast resistance of the large doors from absurdly high to still very but not quite as high
|
||||
@ -25,6 +27,8 @@
|
||||
* Explosions now have a 2x larger entity damage radius
|
||||
* Updated the digiminer recipe for mekanism compat
|
||||
* Added config options to the ground water pumps
|
||||
* Missile parts such as non-custom thrusters and fuselages are now made in the arc welder, recipe ingredients have been adjusted as well
|
||||
* Null grenades now have a slightly larger radius, should no longer wipe playerdata and require UNDEFINED to make
|
||||
|
||||
## Fixed
|
||||
* Fixed ancient bug where custom missiles launched using the launch table would not use the accuracy calculation and always be pin-point accurate
|
||||
|
||||
@ -394,7 +394,7 @@ public class WeaponRecipes {
|
||||
CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenade_if_mystery, 1), new Object[] { "A", "G", "A", 'G', ModItems.grenade_if_generic, 'A', ModItems.powder_magic });
|
||||
CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenade_if_spark, 1), new Object[] { " A ", "AGA", " A ", 'G', ModItems.grenade_if_generic, 'A', ModItems.powder_spark_mix });
|
||||
CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenade_if_hopwire, 1), new Object[] { " A ", "AGA", " A ", 'G', ModItems.grenade_if_generic, 'A', ModItems.powder_power });
|
||||
CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenade_if_null, 1), new Object[] { "BAB", "AGA", "BAB", 'G', ModItems.grenade_if_generic, 'A', Blocks.obsidian, 'B', BIGMT.ingot() });
|
||||
CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenade_if_null, 1), new Object[] { "BAB", "AGA", "BAB", 'G', ModItems.grenade_if_generic, 'A', ModItems.undefined, 'B', BIGMT.ingot() });
|
||||
|
||||
//Mines
|
||||
CraftingManager.addRecipeAuto(new ItemStack(ModBlocks.mine_ap, 4), new Object[] { "C", "P", "T", 'C', ModItems.circuit_targeting_tier2, 'P', IRON.plate(), 'T', ANY_PLASTICEXPLOSIVE.ingot() });
|
||||
|
||||
@ -58,6 +58,7 @@ public class EntityMappings {
|
||||
addEntity(EntityGrenadeNuke.class, "entity_grenade_nuke", 500);
|
||||
addEntity(EntitySchrab.class, "entity_schrabnel", 500);
|
||||
addEntity(EntityMissileGeneric.class, "entity_missile_generic", 1000);
|
||||
addEntity(EntityMissileDecoy.class, "entity_missile_decoy", 1000);
|
||||
addEntity(EntityMissileStrong.class, "entity_missile_strong", 1000);
|
||||
addEntity(EntityMissileNuclear.class, "entity_missile_nuclear", 1000);
|
||||
addEntity(EntityMissileCluster.class, "entity_missile_cluster", 1000);
|
||||
|
||||
@ -8,52 +8,51 @@ import com.hbm.items.weapon.ItemGrenade;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.util.AxisAlignedBB;
|
||||
import net.minecraft.util.DamageSource;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class EntityGrenadeIFNull extends EntityGrenadeBouncyBase {
|
||||
|
||||
public EntityGrenadeIFNull(World p_i1773_1_)
|
||||
{
|
||||
super(p_i1773_1_);
|
||||
}
|
||||
public EntityGrenadeIFNull(World world) {
|
||||
super(world);
|
||||
}
|
||||
|
||||
public EntityGrenadeIFNull(World p_i1774_1_, EntityLivingBase p_i1774_2_)
|
||||
{
|
||||
super(p_i1774_1_, p_i1774_2_);
|
||||
}
|
||||
public EntityGrenadeIFNull(World world, EntityLivingBase thrower) {
|
||||
super(world, thrower);
|
||||
}
|
||||
|
||||
public EntityGrenadeIFNull(World p_i1775_1_, double p_i1775_2_, double p_i1775_4_, double p_i1775_6_)
|
||||
{
|
||||
super(p_i1775_1_, p_i1775_2_, p_i1775_4_, p_i1775_6_);
|
||||
}
|
||||
public EntityGrenadeIFNull(World world, double x, double y, double z) {
|
||||
super(world, x, y, z);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void explode() {
|
||||
|
||||
if (!this.worldObj.isRemote)
|
||||
{
|
||||
this.setDead();
|
||||
@Override
|
||||
public void explode() {
|
||||
|
||||
for(int a = -3; a <= 3; a++)
|
||||
for(int b = -3; b <= 3; b++)
|
||||
for(int c = -3; c <= 3; c++)
|
||||
worldObj.setBlockToAir((int)posX + a, (int)posY + b, (int)posZ + c);
|
||||
|
||||
List list = worldObj.getEntitiesWithinAABBExcludingEntity(this, AxisAlignedBB.getBoundingBox((int)posX + 0.5 - 3, (int)posY + 0.5 - 3, (int)posZ + 0.5 - 3, (int)posX + 0.5 + 3, (int)posY + 0.5 + 3, (int)posZ + 0.5 + 3));
|
||||
|
||||
for(Object o : list) {
|
||||
if(o instanceof EntityLivingBase) {
|
||||
EntityLivingBase e = (EntityLivingBase)o;
|
||||
|
||||
e.setHealth(0);
|
||||
} else if(o instanceof Entity) {
|
||||
Entity e = (Entity)o;
|
||||
|
||||
e.setDead();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if(!this.worldObj.isRemote) {
|
||||
this.setDead();
|
||||
|
||||
int range = 5;
|
||||
|
||||
for(int a = -range; a <= range; a++)
|
||||
for(int b = -range; b <= range; b++)
|
||||
for(int c = -range; c <= range; c++)
|
||||
worldObj.setBlockToAir((int) Math.floor(posX + a), (int) Math.floor(posY + b), (int) Math.floor(posZ + c));
|
||||
|
||||
List list = worldObj.getEntitiesWithinAABBExcludingEntity(this,
|
||||
AxisAlignedBB.getBoundingBox((int) posX + 0.5 - 3, (int) posY + 0.5 - 3, (int) posZ + 0.5 - 3, (int) posX + 0.5 + 3, (int) posY + 0.5 + 3, (int) posZ + 0.5 + 3));
|
||||
|
||||
for(Object o : list) {
|
||||
if(o instanceof EntityLivingBase) {
|
||||
EntityLivingBase e = (EntityLivingBase) o;
|
||||
e.setHealth(0);
|
||||
e.onDeath(DamageSource.outOfWorld);
|
||||
} else if(o instanceof Entity) {
|
||||
Entity e = (Entity) o;
|
||||
e.setDead();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected int getMaxTimer() {
|
||||
|
||||
@ -47,6 +47,15 @@ public abstract class EntityMissileTier1 extends EntityMissileBaseNT {
|
||||
@Override public ItemStack getDebrisRareDrop() { return new ItemStack(ModItems.warhead_generic_small); }
|
||||
}
|
||||
|
||||
public static class EntityMissileDecoy extends EntityMissileTier1 {
|
||||
public EntityMissileDecoy(World world) { super(world); }
|
||||
public EntityMissileDecoy(World world, float x, float y, float z, int a, int b) { super(world, x, y, z, a, b); }
|
||||
@Override public void onImpact() { worldObj.newExplosion(this, posX, posY, posZ, 4F, false, false); }
|
||||
@Override public ItemStack getDebrisRareDrop() { return new ItemStack(ModItems.ingot_steel); }
|
||||
@Override public String getUnlocalizedName() { return "radar.target.tier4"; }
|
||||
@Override public int getBlipLevel() { return IRadarDetectableNT.TIER4; }
|
||||
}
|
||||
|
||||
public static class EntityMissileIncendiary extends EntityMissileTier1 {
|
||||
public EntityMissileIncendiary(World world) { super(world); }
|
||||
public EntityMissileIncendiary(World world, float x, float y, float z, int a, int b) { super(world, x, y, z, a, b); }
|
||||
|
||||
@ -13,6 +13,7 @@ import com.google.gson.JsonObject;
|
||||
import com.google.gson.stream.JsonWriter;
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.inventory.FluidStack;
|
||||
import com.hbm.inventory.OreDictManager;
|
||||
import com.hbm.inventory.RecipesCommon.AStack;
|
||||
import com.hbm.inventory.RecipesCommon.ComparableStack;
|
||||
import com.hbm.inventory.RecipesCommon.OreDictStack;
|
||||
@ -31,16 +32,19 @@ public class ArcWelderRecipes extends SerializableRecipe {
|
||||
@Override
|
||||
public void registerDefaults() {
|
||||
|
||||
//Parts
|
||||
recipes.add(new ArcWelderRecipe(new ItemStack(ModItems.motor, 2), 100, 200L,
|
||||
new OreDictStack(IRON.plate(), 2), new ComparableStack(ModItems.coil_copper), new ComparableStack(ModItems.coil_copper_torus)));
|
||||
recipes.add(new ArcWelderRecipe(new ItemStack(ModItems.motor, 2), 100, 400L,
|
||||
new OreDictStack(STEEL.plate(), 1), new ComparableStack(ModItems.coil_copper), new ComparableStack(ModItems.coil_copper_torus)));
|
||||
|
||||
//Dense Wires
|
||||
recipes.add(new ArcWelderRecipe(new ItemStack(ModItems.wire_dense, 1, Mats.MAT_ALLOY.id), 100, 10_000L,
|
||||
new ComparableStack(ModItems.wire_advanced_alloy, 8)));
|
||||
recipes.add(new ArcWelderRecipe(new ItemStack(ModItems.wire_dense, 1, Mats.MAT_GOLD.id), 100, 10_000L,
|
||||
new ComparableStack(ModItems.wire_gold, 8)));
|
||||
|
||||
//Circuits
|
||||
recipes.add(new ArcWelderRecipe(new ItemStack(ModItems.circuit_copper), 100, 1_000L, new FluidStack(Fluids.GAS, 100),
|
||||
new ComparableStack(ModItems.circuit_aluminium, 1), new OreDictStack(NETHERQUARTZ.dust()), new ComparableStack(ModItems.wire_copper, 8)));
|
||||
recipes.add(new ArcWelderRecipe(new ItemStack(ModItems.circuit_red_copper), 100, 2_500L, new FluidStack(Fluids.PETROLEUM, 100),
|
||||
@ -76,11 +80,21 @@ public class ArcWelderRecipes extends SerializableRecipe {
|
||||
recipes.add(new ArcWelderRecipe(new ItemStack(ModItems.plate_welded, 1, Mats.MAT_OSMIRIDIUM.id), 6_000, 20_000_000L, new FluidStack(Fluids.REFORMGAS, 16_000),
|
||||
new OreDictStack(OSMIRIDIUM.plateCast(), 2)));
|
||||
|
||||
//Missile Parts
|
||||
recipes.add(new ArcWelderRecipe(new ItemStack(ModItems.thruster_small), 60, 1_000L, new OreDictStack(STEEL.plate(), 4), new ComparableStack(ModItems.wire_aluminium, 4), new OreDictStack(CU.plate(), 4)));
|
||||
recipes.add(new ArcWelderRecipe(new ItemStack(ModItems.thruster_medium), 100, 2_000L, new OreDictStack(STEEL.plate(), 8), new ComparableStack(ModItems.motor, 1), new OreDictStack(GRAPHITE.ingot(), 8)));
|
||||
recipes.add(new ArcWelderRecipe(new ItemStack(ModItems.thruster_large), 200, 5_000L, new OreDictStack(DURA.ingot(), 12), new ComparableStack(ModItems.motor, 2), new OreDictStack(OreDictManager.getReflector(), 16)));
|
||||
|
||||
recipes.add(new ArcWelderRecipe(new ItemStack(ModItems.fuel_tank_small), 60, 1_000L, new OreDictStack(Fluids.ETHANOL.getDict(1_000), 6), new OreDictStack(TI.plate(), 6), new OreDictStack(STEEL.plate(), 2)));
|
||||
recipes.add(new ArcWelderRecipe(new ItemStack(ModItems.fuel_tank_medium), 100, 2_000L, new OreDictStack(Fluids.KEROSENE.getDict(1_000), 8), new OreDictStack(TI.plate(), 12), new OreDictStack(STEEL.plate(), 4)));
|
||||
recipes.add(new ArcWelderRecipe(new ItemStack(ModItems.fuel_tank_large), 200, 5_000L, new OreDictStack(Fluids.KEROSENE.getDict(1_000), 12), new OreDictStack(TI.plate(), 24), new OreDictStack(STEEL.plate(), 8)));
|
||||
|
||||
//Missiles
|
||||
recipes.add(new ArcWelderRecipe(new ItemStack(ModItems.missile_generic), 100, 5_000L, new ComparableStack(ModItems.warhead_generic_small), new ComparableStack(ModItems.fuel_tank_small), new ComparableStack(ModItems.thruster_small)));
|
||||
recipes.add(new ArcWelderRecipe(new ItemStack(ModItems.missile_incendiary), 100, 5_000L, new ComparableStack(ModItems.warhead_incendiary_small), new ComparableStack(ModItems.fuel_tank_small), new ComparableStack(ModItems.thruster_small)));
|
||||
recipes.add(new ArcWelderRecipe(new ItemStack(ModItems.missile_cluster), 100, 5_000L, new ComparableStack(ModItems.warhead_cluster_small), new ComparableStack(ModItems.fuel_tank_small), new ComparableStack(ModItems.thruster_small)));
|
||||
recipes.add(new ArcWelderRecipe(new ItemStack(ModItems.missile_buster), 100, 5_000L, new ComparableStack(ModItems.warhead_buster_small), new ComparableStack(ModItems.fuel_tank_small), new ComparableStack(ModItems.thruster_small)));
|
||||
recipes.add(new ArcWelderRecipe(new ItemStack(ModItems.missile_decoy), 60, 2_500L, new OreDictStack(STEEL.ingot()), new ComparableStack(ModItems.fuel_tank_small), new ComparableStack(ModItems.thruster_small)));
|
||||
|
||||
recipes.add(new ArcWelderRecipe(new ItemStack(ModItems.missile_strong), 200, 10_000L, new ComparableStack(ModItems.warhead_generic_medium), new ComparableStack(ModItems.fuel_tank_medium), new ComparableStack(ModItems.thruster_medium)));
|
||||
recipes.add(new ArcWelderRecipe(new ItemStack(ModItems.missile_incendiary_strong), 200, 10_000L, new ComparableStack(ModItems.warhead_incendiary_medium), new ComparableStack(ModItems.fuel_tank_medium), new ComparableStack(ModItems.thruster_medium)));
|
||||
|
||||
@ -197,12 +197,6 @@ public class AssemblerRecipes {
|
||||
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.fuel_tank_small, 1), new AStack[] {new ComparableStack(ModItems.canister_full, 6, Fluids.ETHANOL.getID()), new OreDictStack(TI.plate(), 6), new OreDictStack(STEEL.plate(), 2), },100);
|
||||
makeRecipe(new ComparableStack(ModItems.fuel_tank_medium, 1), new AStack[] {new ComparableStack(ModItems.canister_full, 8, Fluids.KEROSENE.getID()), new OreDictStack(TI.plate(), 12), new OreDictStack(STEEL.plate(), 4), },150);
|
||||
makeRecipe(new ComparableStack(ModItems.fuel_tank_large, 1), new AStack[] {new ComparableStack(ModItems.canister_full, 12, Fluids.KEROSENE.getID()), new OreDictStack(TI.plate(), 24), new OreDictStack(STEEL.plate(), 8), },200);
|
||||
makeRecipe(new ComparableStack(ModItems.thruster_small, 1), new AStack[] {new OreDictStack(STEEL.plate(), 4), new OreDictStack(W.ingot(), 4), new ComparableStack(ModItems.wire_aluminium, 4), },100);
|
||||
makeRecipe(new ComparableStack(ModItems.thruster_medium, 1), new AStack[] {new OreDictStack(STEEL.plate(), 8), new OreDictStack(W.ingot(), 8), new ComparableStack(ModItems.motor, 1), new ComparableStack(ModItems.wire_copper, 16), },150);
|
||||
makeRecipe(new ComparableStack(ModItems.thruster_large, 1), new AStack[] {new OreDictStack(DURA.ingot(), 16), new OreDictStack(W.ingot(), 16), new ComparableStack(ModItems.motor, 2), new ComparableStack(ModItems.wire_gold, 32), new ComparableStack(ModItems.circuit_red_copper, 1), },200);
|
||||
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_head_mapper, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 4), new OreDictStack(STEEL.plate(), 6), new ComparableStack(ModItems.hull_small_steel, 3), new ComparableStack(ModItems.plate_desh, 2), new ComparableStack(ModItems.circuit_gold, 2), new OreDictStack(RUBBER.ingot(), 12), new OreDictStack(REDSTONE.dust(), 6), new ComparableStack(Items.diamond, 1), new ComparableStack(Blocks.glass_pane, 6), },400);
|
||||
@ -325,24 +319,6 @@ public class AssemblerRecipes {
|
||||
makeRecipe(new ComparableStack(ModBlocks.therm_exo, 1), new AStack[] {new OreDictStack(TI.plate(), 12), new OreDictStack(P_RED.dust(), 32), new ComparableStack(ModItems.circuit_gold, 1), new ComparableStack(ModItems.coil_gold, 4), },250);
|
||||
makeRecipe(new ComparableStack(ModBlocks.launch_pad, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 4), new OreDictStack(ANY_PLASTIC.ingot(), 2), new OreDictStack(STEEL.plate(), 12), new ComparableStack(ModBlocks.machine_battery, 1), new ComparableStack(ModItems.circuit_gold, 2), },250);
|
||||
makeRecipe(new ComparableStack(ModItems.spawn_chopper, 1), new AStack[] {new ComparableStack(ModItems.chopper_blades, 5), new ComparableStack(ModItems.chopper_gun, 1), new ComparableStack(ModItems.chopper_head, 1), new ComparableStack(ModItems.chopper_tail, 1), new ComparableStack(ModItems.chopper_torso, 1), new ComparableStack(ModItems.chopper_wing, 2), },300);
|
||||
//makeRecipe(new ComparableStack(ModItems.missile_generic, 1), new AStack[] {new ComparableStack(ModItems.warhead_generic_small, 1), new ComparableStack(ModItems.fuel_tank_small, 1), new ComparableStack(ModItems.thruster_small, 1), new OreDictStack(TI.plate(), 6), new ComparableStack(ModItems.circuit_targeting_tier1, 1), },200);
|
||||
//makeRecipe(new ComparableStack(ModItems.missile_incendiary, 1), new AStack[] {new ComparableStack(ModItems.warhead_incendiary_small, 1), new ComparableStack(ModItems.fuel_tank_small, 1), new ComparableStack(ModItems.thruster_small, 1), new OreDictStack(TI.plate(), 6), new ComparableStack(ModItems.circuit_targeting_tier1, 1), },200);
|
||||
//makeRecipe(new ComparableStack(ModItems.missile_cluster, 1), new AStack[] {new ComparableStack(ModItems.warhead_cluster_small, 1), new ComparableStack(ModItems.fuel_tank_small, 1), new ComparableStack(ModItems.thruster_small, 1), new OreDictStack(TI.plate(), 6), new ComparableStack(ModItems.circuit_targeting_tier1, 1), },200);
|
||||
//makeRecipe(new ComparableStack(ModItems.missile_buster, 1), new AStack[] {new ComparableStack(ModItems.warhead_buster_small, 1), new ComparableStack(ModItems.fuel_tank_small, 1), new ComparableStack(ModItems.thruster_small, 1), new OreDictStack(TI.plate(), 6), new ComparableStack(ModItems.circuit_targeting_tier1, 1), },200);
|
||||
//makeRecipe(new ComparableStack(ModItems.missile_strong, 1), new AStack[] {new ComparableStack(ModItems.warhead_generic_medium, 1), new ComparableStack(ModItems.fuel_tank_medium, 1), new ComparableStack(ModItems.thruster_medium, 1), new OreDictStack(TI.plate(), 10), new OreDictStack(STEEL.plate(), 14), new ComparableStack(ModItems.circuit_targeting_tier2, 1), },250);
|
||||
//makeRecipe(new ComparableStack(ModItems.missile_incendiary_strong, 1), new AStack[] {new ComparableStack(ModItems.warhead_incendiary_medium, 1), new ComparableStack(ModItems.fuel_tank_medium, 1), new ComparableStack(ModItems.thruster_medium, 1), new OreDictStack(TI.plate(), 10), new OreDictStack(STEEL.plate(), 14), new ComparableStack(ModItems.circuit_targeting_tier2, 1), },250);
|
||||
//makeRecipe(new ComparableStack(ModItems.missile_cluster_strong, 1), new AStack[] {new ComparableStack(ModItems.warhead_cluster_medium, 1), new ComparableStack(ModItems.fuel_tank_medium, 1), new ComparableStack(ModItems.thruster_medium, 1), new OreDictStack(TI.plate(), 10), new OreDictStack(STEEL.plate(), 14), new ComparableStack(ModItems.circuit_targeting_tier2, 1), },250);
|
||||
//makeRecipe(new ComparableStack(ModItems.missile_buster_strong, 1), new AStack[] {new ComparableStack(ModItems.warhead_buster_medium, 1), new ComparableStack(ModItems.fuel_tank_medium, 1), new ComparableStack(ModItems.thruster_medium, 1), new OreDictStack(TI.plate(), 10), new OreDictStack(STEEL.plate(), 14), new ComparableStack(ModItems.circuit_targeting_tier2, 1), },250);
|
||||
//makeRecipe(new ComparableStack(ModItems.missile_emp_strong, 1), new AStack[] {new ComparableStack(ModBlocks.emp_bomb, 3), new ComparableStack(ModItems.fuel_tank_medium, 1), new ComparableStack(ModItems.thruster_medium, 1), new OreDictStack(TI.plate(), 10), new OreDictStack(STEEL.plate(), 14), new ComparableStack(ModItems.circuit_targeting_tier2, 1), },250);
|
||||
//makeRecipe(new ComparableStack(ModItems.missile_burst, 1), new AStack[] {new ComparableStack(ModItems.warhead_generic_large, 1), new ComparableStack(ModItems.fuel_tank_large, 1), new ComparableStack(ModItems.thruster_large, 1), new OreDictStack(TI.plate(), 14), new OreDictStack(STEEL.plate(), 20), new OreDictStack(AL.plate(), 12), new ComparableStack(ModItems.circuit_targeting_tier3, 1), },350);
|
||||
//makeRecipe(new ComparableStack(ModItems.missile_inferno, 1), new AStack[] {new ComparableStack(ModItems.warhead_incendiary_large, 1), new ComparableStack(ModItems.fuel_tank_large, 1), new ComparableStack(ModItems.thruster_large, 1), new OreDictStack(TI.plate(), 14), new OreDictStack(STEEL.plate(), 20), new OreDictStack(AL.plate(), 12), new ComparableStack(ModItems.circuit_targeting_tier3, 1), },350);
|
||||
//makeRecipe(new ComparableStack(ModItems.missile_rain, 1), new AStack[] {new ComparableStack(ModItems.warhead_cluster_large, 1), new ComparableStack(ModItems.fuel_tank_large, 1), new ComparableStack(ModItems.thruster_large, 1), new OreDictStack(TI.plate(), 14), new OreDictStack(STEEL.plate(), 20), new OreDictStack(AL.plate(), 12), new ComparableStack(ModItems.circuit_targeting_tier3, 1), },350);
|
||||
//makeRecipe(new ComparableStack(ModItems.missile_drill, 1), new AStack[] {new ComparableStack(ModItems.warhead_buster_large, 1), new ComparableStack(ModItems.fuel_tank_large, 1), new ComparableStack(ModItems.thruster_large, 1), new OreDictStack(TI.plate(), 14), new OreDictStack(STEEL.plate(), 20), new OreDictStack(AL.plate(), 12), new ComparableStack(ModItems.circuit_targeting_tier3, 1), },350);
|
||||
//makeRecipe(new ComparableStack(ModItems.missile_nuclear, 1), new AStack[] {new ComparableStack(ModItems.warhead_nuclear, 1), new ComparableStack(ModItems.fuel_tank_large, 1), new ComparableStack(ModItems.thruster_large, 1), new OreDictStack(TI.plate(), 20), new OreDictStack(STEEL.plate(), 24), new OreDictStack(AL.plate(), 16), new ComparableStack(ModItems.circuit_targeting_tier4, 1), },500);
|
||||
//makeRecipe(new ComparableStack(ModItems.missile_nuclear_cluster, 1), new AStack[] {new ComparableStack(ModItems.warhead_mirv, 1), new ComparableStack(ModItems.fuel_tank_large, 1), new ComparableStack(ModItems.thruster_large, 1), new OreDictStack(TI.plate(), 20), new OreDictStack(STEEL.plate(), 24), new OreDictStack(AL.plate(), 16), new ComparableStack(ModItems.circuit_targeting_tier5, 1), },600);
|
||||
//makeRecipe(new ComparableStack(ModItems.missile_volcano, 1), new AStack[] {new ComparableStack(ModItems.warhead_volcano, 1), new ComparableStack(ModItems.fuel_tank_large, 1), new ComparableStack(ModItems.thruster_large, 1), new OreDictStack(TI.plate(), 20), new OreDictStack(STEEL.plate(), 24), new OreDictStack(AL.plate(), 16), new ComparableStack(ModItems.circuit_targeting_tier5, 1), },600);
|
||||
//makeRecipe(new ComparableStack(ModItems.missile_endo, 1), new AStack[] {new ComparableStack(ModItems.warhead_thermo_endo, 1), new ComparableStack(ModItems.fuel_tank_large, 1), new ComparableStack(ModItems.thruster_large, 1), new OreDictStack(TI.plate(), 14), new OreDictStack(STEEL.plate(), 20), new OreDictStack(AL.plate(), 12), new ComparableStack(ModItems.circuit_targeting_tier4, 1), },350);
|
||||
//makeRecipe(new ComparableStack(ModItems.missile_exo, 1), new AStack[] {new ComparableStack(ModItems.warhead_thermo_exo, 1), new ComparableStack(ModItems.fuel_tank_large, 1), new ComparableStack(ModItems.thruster_large, 1), new OreDictStack(TI.plate(), 14), new OreDictStack(STEEL.plate(), 20), new OreDictStack(AL.plate(), 12), new ComparableStack(ModItems.circuit_targeting_tier4, 1), },350);
|
||||
makeRecipe(new ComparableStack(ModItems.gun_defabricator, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 2), new OreDictStack(ANY_PLASTIC.ingot(), 8), new OreDictStack(IRON.plate(), 5), new ComparableStack(ModItems.mechanism_special, 3), new ComparableStack(Items.diamond, 1), new ComparableStack(ModItems.plate_dalekanium, 3), },200);
|
||||
makeRecipe(new ComparableStack(ModItems.gun_osipr_ammo, 24), new AStack[] {new OreDictStack(STEEL.plate(), 2), new OreDictStack(REDSTONE.dust(), 1), new ComparableStack(Items.glowstone_dust, 1), },50);
|
||||
makeRecipe(new ComparableStack(ModItems.gun_osipr_ammo2, 1), new AStack[] {new OreDictStack(CMB.plate(), 4), new OreDictStack(REDSTONE.dust(), 7), new ComparableStack(ModItems.powder_power, 3), },200);
|
||||
|
||||
@ -1294,6 +1294,7 @@ public class ModItems {
|
||||
public static Item missile_incendiary;
|
||||
public static Item missile_cluster;
|
||||
public static Item missile_buster;
|
||||
public static Item missile_decoy;
|
||||
public static Item missile_strong;
|
||||
public static Item missile_incendiary_strong;
|
||||
public static Item missile_cluster_strong;
|
||||
@ -3909,6 +3910,7 @@ public class ModItems {
|
||||
missile_incendiary = new Item().setUnlocalizedName("missile_incendiary").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_incendiary");
|
||||
missile_cluster = new Item().setUnlocalizedName("missile_cluster").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_cluster");
|
||||
missile_buster = new Item().setUnlocalizedName("missile_buster").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_buster");
|
||||
missile_decoy = new Item().setUnlocalizedName("missile_decoy").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_decoy");
|
||||
missile_strong = new Item().setUnlocalizedName("missile_strong").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_strong");
|
||||
missile_incendiary_strong = new Item().setUnlocalizedName("missile_incendiary_strong").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_incendiary_strong");
|
||||
missile_cluster_strong = new Item().setUnlocalizedName("missile_cluster_strong").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_cluster_strong");
|
||||
@ -6810,6 +6812,7 @@ public class ModItems {
|
||||
//Missiles
|
||||
GameRegistry.registerItem(missile_generic, missile_generic.getUnlocalizedName());
|
||||
GameRegistry.registerItem(missile_anti_ballistic, missile_anti_ballistic.getUnlocalizedName());
|
||||
GameRegistry.registerItem(missile_decoy, missile_decoy.getUnlocalizedName());
|
||||
GameRegistry.registerItem(missile_incendiary, missile_incendiary.getUnlocalizedName());
|
||||
GameRegistry.registerItem(missile_cluster, missile_cluster.getUnlocalizedName());
|
||||
GameRegistry.registerItem(missile_buster, missile_buster.getUnlocalizedName());
|
||||
|
||||
@ -664,6 +664,7 @@ public class ClientProxy extends ServerProxy {
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityTestMissile.class, new RenderTestMissile());
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityMissileCustom.class, new RenderMissileCustom());
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityMissileGeneric.class, new RenderMissileGeneric());
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityMissileDecoy.class, new RenderMissileGeneric());
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityMissileAntiBallistic.class, new RenderMissileGeneric());
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityMissileIncendiary.class, new RenderMissileGeneric());
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityMissileCluster.class, new RenderMissileGeneric());
|
||||
|
||||
@ -1185,6 +1185,7 @@ public class ResourceManager {
|
||||
public static final ResourceLocation missileV2_IN_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_v2_inc.png");
|
||||
public static final ResourceLocation missileV2_CL_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_v2_cl.png");
|
||||
public static final ResourceLocation missileV2_BU_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_v2_bu.png");
|
||||
public static final ResourceLocation missileV2_decoy_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_v2_decoy.png");
|
||||
public static final ResourceLocation missileAA_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_abm.png");
|
||||
public static final ResourceLocation missileStrong_HE_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_strong.png");
|
||||
public static final ResourceLocation missileStrong_EMP_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_strong_emp.png");
|
||||
|
||||
@ -23,21 +23,24 @@ public class RenderMissileGeneric extends Render {
|
||||
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);
|
||||
|
||||
if(entity instanceof EntityMissileGeneric)
|
||||
bindTexture(ResourceManager.missileV2_HE_tex);
|
||||
if(entity instanceof EntityMissileIncendiary)
|
||||
bindTexture(ResourceManager.missileV2_IN_tex);
|
||||
if(entity instanceof EntityMissileCluster)
|
||||
bindTexture(ResourceManager.missileV2_CL_tex);
|
||||
if(entity instanceof EntityMissileBunkerBuster)
|
||||
bindTexture(ResourceManager.missileV2_BU_tex);
|
||||
|
||||
if(entity instanceof EntityMissileAntiBallistic) {
|
||||
bindTexture(ResourceManager.missileAA_tex);
|
||||
GL11.glShadeModel(GL11.GL_SMOOTH);
|
||||
ResourceManager.missileABM.renderAll();
|
||||
GL11.glShadeModel(GL11.GL_FLAT);
|
||||
} else {
|
||||
|
||||
if(entity instanceof EntityMissileGeneric)
|
||||
bindTexture(ResourceManager.missileV2_HE_tex);
|
||||
if(entity instanceof EntityMissileIncendiary)
|
||||
bindTexture(ResourceManager.missileV2_IN_tex);
|
||||
if(entity instanceof EntityMissileCluster)
|
||||
bindTexture(ResourceManager.missileV2_CL_tex);
|
||||
if(entity instanceof EntityMissileBunkerBuster)
|
||||
bindTexture(ResourceManager.missileV2_BU_tex);
|
||||
if(entity instanceof EntityMissileDecoy)
|
||||
bindTexture(ResourceManager.missileV2_decoy_tex);
|
||||
|
||||
GL11.glShadeModel(GL11.GL_SMOOTH);
|
||||
ResourceManager.missileV2.renderAll();
|
||||
GL11.glShadeModel(GL11.GL_FLAT);
|
||||
|
||||
@ -38,6 +38,13 @@ public class RenderLaunchPadTier1 extends TileEntitySpecialRenderer {
|
||||
ResourceManager.missileV2.renderAll();
|
||||
GL11.glShadeModel(GL11.GL_FLAT);
|
||||
}
|
||||
if(toRender.getItem() == ModItems.missile_decoy) {
|
||||
GL11.glScalef(1.0F, 1.0F, 1.0F);
|
||||
bindTexture(ResourceManager.missileV2_decoy_tex);
|
||||
GL11.glShadeModel(GL11.GL_SMOOTH);
|
||||
ResourceManager.missileV2.renderAll();
|
||||
GL11.glShadeModel(GL11.GL_FLAT);
|
||||
}
|
||||
if(toRender.getItem() == ModItems.missile_strong) {
|
||||
GL11.glScalef(1.5F, 1.5F, 1.5F);
|
||||
bindTexture(ResourceManager.missileStrong_HE_tex);
|
||||
|
||||
@ -65,6 +65,7 @@ public class TileEntityLaunchPad extends TileEntityMachineBase implements IEnerg
|
||||
missiles.put(new ComparableStack(ModItems.missile_emp), EntityMissileEMP.class);
|
||||
//Tier 1
|
||||
missiles.put(new ComparableStack(ModItems.missile_generic), EntityMissileGeneric.class);
|
||||
missiles.put(new ComparableStack(ModItems.missile_decoy), EntityMissileDecoy.class);
|
||||
missiles.put(new ComparableStack(ModItems.missile_incendiary), EntityMissileIncendiary.class);
|
||||
missiles.put(new ComparableStack(ModItems.missile_cluster), EntityMissileCluster.class);
|
||||
missiles.put(new ComparableStack(ModItems.missile_buster), EntityMissileBunkerBuster.class);
|
||||
|
||||
@ -2292,6 +2292,7 @@ item.missile_carrier.name=HTR-01 Trägerrakete
|
||||
item.missile_cluster.name=Streurakete
|
||||
item.missile_cluster_strong.name=Starke Streurakete
|
||||
item.missile_custom.name=Spezialgefertigte Rakete
|
||||
item.missile_decoy.name=Köderflugkörper
|
||||
item.missile_doomsday.name=Doomsday Rakete
|
||||
item.missile_drill.name=Der Betonbrecher
|
||||
item.missile_emp.name=EMP-Rakete
|
||||
|
||||
@ -3029,6 +3029,7 @@ item.missile_carrier.name=HTR-01 Carrier Rocket
|
||||
item.missile_cluster.name=Cluster Missile
|
||||
item.missile_cluster_strong.name=Strong Cluster Missile
|
||||
item.missile_custom.name=Custom Missile
|
||||
item.missile_decoy.name=Decoy Missile
|
||||
item.missile_doomsday.name=Doomsday Missile
|
||||
item.missile_drill.name=The Concrete Cracker
|
||||
item.missile_emp.name=EMP Missile
|
||||
|
||||
|
Before Width: | Height: | Size: 269 B After Width: | Height: | Size: 278 B |
|
Before Width: | Height: | Size: 203 B |
|
Before Width: | Height: | Size: 362 B After Width: | Height: | Size: 384 B |
|
Before Width: | Height: | Size: 278 B |
|
Before Width: | Height: | Size: 292 B After Width: | Height: | Size: 306 B |
|
Before Width: | Height: | Size: 291 B |
|
Before Width: | Height: | Size: 293 B |
|
Before Width: | Height: | Size: 258 B |
|
Before Width: | Height: | Size: 300 B |
|
Before Width: | Height: | Size: 287 B |
|
Before Width: | Height: | Size: 280 B |
|
Before Width: | Height: | Size: 294 B |
|
Before Width: | Height: | Size: 280 B |
|
Before Width: | Height: | Size: 293 B |
BIN
src/main/resources/assets/hbm/textures/items/missile_decoy.png
Normal file
|
After Width: | Height: | Size: 364 B |
|
Before Width: | Height: | Size: 461 B After Width: | Height: | Size: 465 B |
|
Before Width: | Height: | Size: 288 B |
|
Before Width: | Height: | Size: 399 B After Width: | Height: | Size: 430 B |
|
Before Width: | Height: | Size: 272 B |
|
Before Width: | Height: | Size: 326 B After Width: | Height: | Size: 469 B |
|
Before Width: | Height: | Size: 263 B |
|
After Width: | Height: | Size: 915 B |