diff --git a/assets/hbm/lang/de_DE.lang b/assets/hbm/lang/de_DE.lang index 2920ad664..f1d0f6949 100644 --- a/assets/hbm/lang/de_DE.lang +++ b/assets/hbm/lang/de_DE.lang @@ -674,6 +674,7 @@ item.assembly_pip.name=Verdorbener .44er Patronensatz item.assembly_nopip.name=.44er Patronensatz item.assembly_smg.name=9mm Patronensatz item.assembly_uzi.name=.22 LR Patronensatz +item.assembly_actionexpress.name=.50 AE Patronensatz item.assembly_calamity.name=.50 BMG Patronensatz item.assembly_lacunae.name=5mm Patronensatz @@ -1379,6 +1380,9 @@ item.ammo_20gauge_wither.name=Kaliber 20 Schrot (Wither) item.ammo_5mm.name=5mm Patrone item.ammo_5mm_explosive.name=5mm Patrone (Explosiv) item.ammo_5mm_du.name=5mm Patrone (DU) +item.ammo_50ae.name=.50 AE Patrone +item.ammo_50ae_ap.name=.50 AE Patrone (Panzerbrechend) +item.ammo_50ae_du.name=.50 AE Patrone (DU) item.ammo_50bmg.name=.50 BMG Patrone item.ammo_50bmg_incendiary.name=.50 BMG Patrone (Brand) item.ammo_50bmg_explosive.name=.50 BMG Patrone (Explosiv) diff --git a/assets/hbm/lang/en_US.lang b/assets/hbm/lang/en_US.lang index e8408f4f3..1b0b492ae 100644 --- a/assets/hbm/lang/en_US.lang +++ b/assets/hbm/lang/en_US.lang @@ -674,6 +674,7 @@ item.assembly_pip.name=Tainted Bullet Assembly item.assembly_nopip.name=.44 Magnum Assembly item.assembly_smg.name=9mm Assembly item.assembly_uzi.name=.22 LR Assembly +item.assembly_actionexpress.name=.50 AE Assembly item.assembly_calamity.name=.50 BMG Assembly item.assembly_lacunae.name=.5mm Assembly @@ -1379,6 +1380,9 @@ item.ammo_20gauge_wither.name=20 Gauge Buckshot (Withering) item.ammo_5mm.name=5mm Round item.ammo_5mm_explosive.name=5mm Round (Explosive) item.ammo_5mm_du.name=5mm Round (DU) +item.ammo_50ae.name=.50 AE Round +item.ammo_50ae_ap.name=.50 AE Round (Armor Piercing) +item.ammo_50ae_du.name=.50 AE Round (DU) item.ammo_50bmg.name=.50 BMG Round item.ammo_50bmg_incendiary.name=.50 BMG Round (Incendiary) item.ammo_50bmg_explosive.name=.50 BMG Round (Explosive) diff --git a/assets/hbm/models/vault_frame.mtl b/assets/hbm/models/vault_frame.mtl deleted file mode 100644 index f40deaf3f..000000000 --- a/assets/hbm/models/vault_frame.mtl +++ /dev/null @@ -1,11 +0,0 @@ -# Blender MTL File: 'vault_frame_new.blend' -# Material Count: 1 - -newmtl None -Ns 0 -Ka 0.000000 0.000000 0.000000 -Kd 0.8 0.8 0.8 -Ks 0.8 0.8 0.8 -d 1 -illum 2 -map_Kd /home/hbm/Schreibtisch/Java/New Nuke Mod/src/main/java/assets/hbm/textures/models/vault_frame.png diff --git a/assets/hbm/textures/blocks/machine_amgen_top.png b/assets/hbm/textures/blocks/machine_amgen_top.png index 0e5a9c901..2f4c6a554 100644 Binary files a/assets/hbm/textures/blocks/machine_amgen_top.png and b/assets/hbm/textures/blocks/machine_amgen_top.png differ diff --git a/assets/hbm/textures/items/ammo_357_desh.png b/assets/hbm/textures/items/ammo_357_desh.png new file mode 100644 index 000000000..1161087ca Binary files /dev/null and b/assets/hbm/textures/items/ammo_357_desh.png differ diff --git a/assets/hbm/textures/items/ammo_50ae.png b/assets/hbm/textures/items/ammo_50ae.png new file mode 100644 index 000000000..ec71e1e0b Binary files /dev/null and b/assets/hbm/textures/items/ammo_50ae.png differ diff --git a/assets/hbm/textures/items/ammo_50ae_ap.png b/assets/hbm/textures/items/ammo_50ae_ap.png new file mode 100644 index 000000000..3b5dfbbcb Binary files /dev/null and b/assets/hbm/textures/items/ammo_50ae_ap.png differ diff --git a/assets/hbm/textures/items/ammo_50ae_du.png b/assets/hbm/textures/items/ammo_50ae_du.png new file mode 100644 index 000000000..c115966ea Binary files /dev/null and b/assets/hbm/textures/items/ammo_50ae_du.png differ diff --git a/assets/hbm/textures/items/ammo_folly_du.png b/assets/hbm/textures/items/ammo_folly_du.png index 34e22d6af..ca37c31ee 100644 Binary files a/assets/hbm/textures/items/ammo_folly_du.png and b/assets/hbm/textures/items/ammo_folly_du.png differ diff --git a/assets/hbm/textures/items/assembly_actionexpress.png b/assets/hbm/textures/items/assembly_actionexpress.png new file mode 100644 index 000000000..d505a56f8 Binary files /dev/null and b/assets/hbm/textures/items/assembly_actionexpress.png differ diff --git a/assets/hbm/textures/items/assembly_desh.png b/assets/hbm/textures/items/assembly_desh.png new file mode 100644 index 000000000..fd44063b0 Binary files /dev/null and b/assets/hbm/textures/items/assembly_desh.png differ diff --git a/assets/hbm/textures/items/casing_44.png b/assets/hbm/textures/items/casing_44.png index 439189a43..eee52bf5f 100644 Binary files a/assets/hbm/textures/items/casing_44.png and b/assets/hbm/textures/items/casing_44.png differ diff --git a/assets/hbm/textures/items/folly_bullet_du.png b/assets/hbm/textures/items/folly_bullet_du.png index ef8568967..1b0213a5d 100644 Binary files a/assets/hbm/textures/items/folly_bullet_du.png and b/assets/hbm/textures/items/folly_bullet_du.png differ diff --git a/assets/hbm/textures/items/missile_emp_strong.png b/assets/hbm/textures/items/missile_emp_strong.png new file mode 100644 index 000000000..9d45f8de0 Binary files /dev/null and b/assets/hbm/textures/items/missile_emp_strong.png differ diff --git a/assets/hbm/textures/models/reactor_small_base.png b/assets/hbm/textures/models/reactor_small_base.png index b3ba457be..7c726d44c 100644 Binary files a/assets/hbm/textures/models/reactor_small_base.png and b/assets/hbm/textures/models/reactor_small_base.png differ diff --git a/com/hbm/blocks/bomb/LaunchPad.java b/com/hbm/blocks/bomb/LaunchPad.java index 6cc164d06..ad9cebf14 100644 --- a/com/hbm/blocks/bomb/LaunchPad.java +++ b/com/hbm/blocks/bomb/LaunchPad.java @@ -15,6 +15,7 @@ import com.hbm.entity.missile.EntityMissileClusterStrong; import com.hbm.entity.missile.EntityMissileDoomsday; import com.hbm.entity.missile.EntityMissileDrill; import com.hbm.entity.missile.EntityMissileEMP; +import com.hbm.entity.missile.EntityMissileEMPStrong; import com.hbm.entity.missile.EntityMissileEndo; import com.hbm.entity.missile.EntityMissileExo; import com.hbm.entity.missile.EntityMissileGeneric; @@ -444,6 +445,16 @@ public class LaunchPad extends BlockContainer implements IBomb { p_149695_1_.spawnEntityInWorld(missile); entity.power -= 75000; + entity.slots[0] = null; + p_149695_1_.playSoundEffect(x, y, z, "hbm:weapon.missileTakeOff", 2.0F, 1.0F); + } + if(entity.slots[0] != null && entity.slots[0].getItem() == ModItems.missile_emp_strong && entity.power >= 75000) + { + EntityMissileEMPStrong missile = new EntityMissileEMPStrong(p_149695_1_, x + 0.5F, y + 2F, z + 0.5F, xCoord, zCoord); + if (!p_149695_1_.isRemote) + p_149695_1_.spawnEntityInWorld(missile); + entity.power -= 75000; + entity.slots[0] = null; p_149695_1_.playSoundEffect(x, y, z, "hbm:weapon.missileTakeOff", 2.0F, 1.0F); } diff --git a/com/hbm/blocks/test/TestEventTester.java b/com/hbm/blocks/test/TestEventTester.java index 2ea621ca9..52006ee7e 100644 --- a/com/hbm/blocks/test/TestEventTester.java +++ b/com/hbm/blocks/test/TestEventTester.java @@ -11,6 +11,7 @@ import com.hbm.blocks.ModBlocks; import com.hbm.entity.effect.EntityBlackHole; import com.hbm.entity.effect.EntityCloudFleija; import com.hbm.entity.effect.EntityCloudFleijaRainbow; +import com.hbm.entity.logic.EntityEMP; import com.hbm.entity.missile.EntityMinerRocket; import com.hbm.entity.projectile.EntityBurningFOEQ; import com.hbm.entity.projectile.EntityMeteor; @@ -375,13 +376,22 @@ public class TestEventTester extends Block { ExplosionLarge.explode(worldObj, par2 + 0.5, par3 + 0.5, par4 + 0.5, 5, false, false, false); }*/ - if(!worldObj.isRemote) { + /*if(!worldObj.isRemote) { EntityMinerRocket rocket = new EntityMinerRocket(worldObj); rocket.posX = par2 + 0.5; rocket.posY = 100; rocket.posZ = par4 + 0.5; worldObj.spawnEntityInWorld(rocket); + }*/ + + if(!worldObj.isRemote) { + EntityEMP emp = new EntityEMP(worldObj); + emp.posX = par2 + 0.5; + emp.posY = par3 + 0.5; + emp.posZ = par4 + 0.5; + + worldObj.spawnEntityInWorld(emp); } /*if(!worldObj.isRemote) { diff --git a/com/hbm/entity/logic/EntityEMP.java b/com/hbm/entity/logic/EntityEMP.java index 117e5aa7f..5b07f1797 100644 --- a/com/hbm/entity/logic/EntityEMP.java +++ b/com/hbm/entity/logic/EntityEMP.java @@ -1,28 +1,141 @@ package com.hbm.entity.logic; +import java.util.ArrayList; +import java.util.List; + +import com.hbm.blocks.ModBlocks; +import com.hbm.entity.effect.EntityEMPBlast; +import com.hbm.explosion.ExplosionLarge; +import com.hbm.interfaces.IConsumer; +import com.hbm.interfaces.ISource; +import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.ParticleBurstPacket; + +import cofh.api.energy.IEnergyProvider; +import net.minecraft.block.Block; import net.minecraft.entity.Entity; +import net.minecraft.init.Blocks; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; public class EntityEMP extends Entity { + + List machines; + int life = 2 * 60 * 20; public EntityEMP(World p_i1582_1_) { super(p_i1582_1_); } + + @Override + public void onUpdate() { + + if(!worldObj.isRemote) { + if(machines == null) { + allocate(); + } else { + shock(); + } + + if(this.ticksExisted > life) + this.setDead(); + } + } + + private void allocate() { + + machines = new ArrayList(); + + int radius = 100; + + for(int x = -radius; x <= radius; x++) { + + int x2 = (int) Math.pow(x, 2); + + for(int y = -radius; y <= radius; y++) { + + int y2 = (int) Math.pow(y, 2); + + for(int z = -radius; z <= radius; z++) { + + int z2 = (int) Math.pow(z, 2); + + if(Math.sqrt(x2 + y2 + z2) <= radius) { + add((int)posX + x, (int)posY + y, (int)posZ + z); + } + } + } + } + } + + private void shock() { + + for(int i = 0; i < machines.size(); i++) { + emp( + machines.get(i)[0], + machines.get(i)[1], + machines.get(i)[2] + ); + } + } + + private void add(int x, int y, int z) { + TileEntity te = worldObj.getTileEntity(x, y, z); + + if (te != null && te instanceof ISource) { + machines.add(new int[] { x, y, z }); + } else if (te != null && te instanceof IConsumer) { + machines.add(new int[] { x, y, z }); + } else if (te != null && te instanceof IEnergyProvider) { + machines.add(new int[] { x, y, z }); + } + } + + private void emp(int x, int y, int z) { + + Block b = worldObj.getBlock(x,y,z); + TileEntity te = worldObj.getTileEntity(x, y, z); + + boolean flag = false; + + if (te != null && te instanceof ISource) { + + ((ISource)te).setSPower(0); + flag = true; + } + if (te != null && te instanceof IConsumer) { + + ((IConsumer)te).setPower(0); + flag = true; + } + if (te != null && te instanceof IEnergyProvider) { + + ((IEnergyProvider)te).extractEnergy(ForgeDirection.UP, ((IEnergyProvider)te).getEnergyStored(ForgeDirection.UP), false); + ((IEnergyProvider)te).extractEnergy(ForgeDirection.DOWN, ((IEnergyProvider)te).getEnergyStored(ForgeDirection.DOWN), false); + ((IEnergyProvider)te).extractEnergy(ForgeDirection.NORTH, ((IEnergyProvider)te).getEnergyStored(ForgeDirection.NORTH), false); + ((IEnergyProvider)te).extractEnergy(ForgeDirection.SOUTH, ((IEnergyProvider)te).getEnergyStored(ForgeDirection.SOUTH), false); + ((IEnergyProvider)te).extractEnergy(ForgeDirection.EAST, ((IEnergyProvider)te).getEnergyStored(ForgeDirection.EAST), false); + ((IEnergyProvider)te).extractEnergy(ForgeDirection.WEST, ((IEnergyProvider)te).getEnergyStored(ForgeDirection.WEST), false); + flag = true; + } + + if(flag && rand.nextInt(20) == 0) { + + PacketDispatcher.wrapper.sendToAll(new ParticleBurstPacket(x, y, z, Block.getIdFromBlock(Blocks.stained_glass), 3)); + + } + + } @Override protected void entityInit() { } @Override - protected void readEntityFromNBT(NBTTagCompound nbt) { - // TODO Auto-generated method stub - - } + protected void readEntityFromNBT(NBTTagCompound nbt) { } @Override - protected void writeEntityToNBT(NBTTagCompound nbt) { - // TODO Auto-generated method stub - - } + protected void writeEntityToNBT(NBTTagCompound nbt) { } } diff --git a/com/hbm/entity/missile/EntityMissileEMPStrong.java b/com/hbm/entity/missile/EntityMissileEMPStrong.java index a65f531d7..07c4e4bce 100644 --- a/com/hbm/entity/missile/EntityMissileEMPStrong.java +++ b/com/hbm/entity/missile/EntityMissileEMPStrong.java @@ -3,6 +3,7 @@ package com.hbm.entity.missile; import java.util.ArrayList; import java.util.List; +import com.hbm.entity.logic.EntityEMP; import com.hbm.explosion.ExplosionLarge; import com.hbm.items.ModItems; @@ -21,7 +22,13 @@ public class EntityMissileEMPStrong extends EntityMissileBaseAdvanced { @Override public void onImpact() { - ExplosionLarge.explode(worldObj, posX, posY, posZ, 25.0F, true, true, true); + + EntityEMP emp = new EntityEMP(worldObj); + emp.posX = posX; + emp.posY = posY; + emp.posZ = posZ; + + worldObj.spawnEntityInWorld(emp); } @Override diff --git a/com/hbm/inventory/MachineRecipes.java b/com/hbm/inventory/MachineRecipes.java index b3ceca587..c72f8c4d6 100644 --- a/com/hbm/inventory/MachineRecipes.java +++ b/com/hbm/inventory/MachineRecipes.java @@ -659,6 +659,8 @@ public class MachineRecipes { if(input.getItem() == ModItems.assembly_calamity) return new ItemStack(ModItems.ammo_50bmg); + if(input.getItem() == ModItems.assembly_actionexpress) + return new ItemStack(ModItems.ammo_50ae); } return null; @@ -736,6 +738,7 @@ public class MachineRecipes { recipes.put(new Object[] { i_stamps_9, new ItemStack(ModItems.assembly_lacunae) }, getPressResultNN(i_stamps_9.get(0).getItem(), ModItems.assembly_lacunae)); recipes.put(new Object[] { i_stamps_9, new ItemStack(Items.gold_ingot) }, getPressResultNN(i_stamps_9.get(0).getItem(), Items.gold_ingot)); + recipes.put(new Object[] { i_stamps_50, new ItemStack(ModItems.assembly_actionexpress) }, getPressResultNN(i_stamps_50.get(0).getItem(), ModItems.assembly_actionexpress)); recipes.put(new Object[] { i_stamps_50, new ItemStack(ModItems.assembly_calamity) }, getPressResultNN(i_stamps_50.get(0).getItem(), ModItems.assembly_calamity)); return recipes; diff --git a/com/hbm/items/ModItems.java b/com/hbm/items/ModItems.java index 3c9509e20..fe596c268 100644 --- a/com/hbm/items/ModItems.java +++ b/com/hbm/items/ModItems.java @@ -325,6 +325,7 @@ public class ModItems { public static Item assembly_nopip; public static Item assembly_smg; public static Item assembly_uzi; + public static Item assembly_actionexpress; public static Item assembly_calamity; public static Item assembly_lacunae; @@ -793,6 +794,7 @@ public class ModItems { public static Item missile_incendiary_strong; public static Item missile_cluster_strong; public static Item missile_buster_strong; + public static Item missile_emp_strong; public static Item missile_burst; public static Item missile_inferno; public static Item missile_rain; @@ -829,6 +831,7 @@ public class ModItems { public static Item ammo_20gauge_caustic; public static Item ammo_20gauge_shock; public static Item ammo_20gauge_wither; + public static Item ammo_357_desh; public static Item ammo_44; public static Item ammo_44_ap; public static Item ammo_44_du; @@ -842,6 +845,9 @@ public class ModItems { public static Item ammo_9mm_du; public static Item ammo_22lr; public static Item ammo_22lr_ap; + public static Item ammo_50ae; + public static Item ammo_50ae_ap; + public static Item ammo_50ae_du; public static Item ammo_50bmg; public static Item ammo_50bmg_incendiary; public static Item ammo_50bmg_explosive; @@ -1910,6 +1916,7 @@ public class ModItems { assembly_nopip = new Item().setUnlocalizedName("assembly_nopip").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":assembly_nopip"); assembly_smg = new Item().setUnlocalizedName("assembly_smg").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":assembly_smg"); assembly_uzi = new Item().setUnlocalizedName("assembly_uzi").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":assembly_uzi"); + assembly_actionexpress = new Item().setUnlocalizedName("assembly_actionexpress").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":assembly_actionexpress"); assembly_calamity = new Item().setUnlocalizedName("assembly_calamity").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":assembly_calamity"); assembly_lacunae = new Item().setUnlocalizedName("assembly_lacunae").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":assembly_lacunae"); folly_shell = new Item().setUnlocalizedName("folly_shell").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":folly_shell"); @@ -2254,6 +2261,7 @@ public class ModItems { missile_incendiary_strong = new Item().setUnlocalizedName("missile_incendiary_strong").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_incendiary_strong"); missile_cluster_strong = new Item().setUnlocalizedName("missile_cluster_strong").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_cluster_strong"); missile_buster_strong = new Item().setUnlocalizedName("missile_buster_strong").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_buster_strong"); + missile_emp_strong = new Item().setUnlocalizedName("missile_emp_strong").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_emp_strong"); missile_burst = new Item().setUnlocalizedName("missile_burst").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_burst"); missile_inferno = new Item().setUnlocalizedName("missile_inferno").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_inferno"); missile_rain = new Item().setUnlocalizedName("missile_rain").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_rain"); @@ -2295,10 +2303,14 @@ public class ModItems { ammo_9mm = new ItemAmmo().setUnlocalizedName("ammo_9mm").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_9mm"); ammo_9mm_ap = new ItemAmmo().setUnlocalizedName("ammo_9mm_ap").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_9mm_ap"); ammo_9mm_du = new ItemAmmo().setUnlocalizedName("ammo_9mm_du").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_9mm_du"); + ammo_50ae = new ItemAmmo().setUnlocalizedName("ammo_50ae").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_50ae"); + ammo_50ae_ap = new ItemAmmo().setUnlocalizedName("ammo_50ae_ap").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_50ae_ap"); + ammo_50ae_du = new ItemAmmo().setUnlocalizedName("ammo_50ae_du").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_50ae_du"); ammo_50bmg = new ItemAmmo().setUnlocalizedName("ammo_50bmg").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_50bmg"); ammo_50bmg_incendiary = new ItemAmmo().setUnlocalizedName("ammo_50bmg_incendiary").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_50bmg_incendiary"); ammo_50bmg_explosive = new ItemAmmo().setUnlocalizedName("ammo_50bmg_explosive").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_50bmg_explosive"); ammo_50bmg_du = new ItemAmmo().setUnlocalizedName("ammo_50bmg_du").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_50bmg_du"); + ammo_357_desh = new ItemAmmo().setUnlocalizedName("ammo_357_desh").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_357_desh"); ammo_44 = new ItemAmmo().setUnlocalizedName("ammo_44").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_44"); ammo_44_ap = new ItemAmmo().setUnlocalizedName("ammo_44_ap").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_44_ap"); ammo_44_du = new ItemAmmo().setUnlocalizedName("ammo_44_du").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_44_du"); @@ -3431,6 +3443,7 @@ public class ModItems { GameRegistry.registerItem(assembly_smg, assembly_smg.getUnlocalizedName()); GameRegistry.registerItem(assembly_uzi, assembly_uzi.getUnlocalizedName()); GameRegistry.registerItem(assembly_lacunae, assembly_lacunae.getUnlocalizedName()); + GameRegistry.registerItem(assembly_actionexpress, assembly_actionexpress.getUnlocalizedName()); GameRegistry.registerItem(assembly_calamity, assembly_calamity.getUnlocalizedName()); //Folly Parts @@ -3905,6 +3918,7 @@ public class ModItems { 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()); @@ -4004,6 +4018,7 @@ public class ModItems { 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()); @@ -4056,6 +4071,9 @@ public class ModItems { GameRegistry.registerItem(ammo_9mm_du, ammo_9mm_du.getUnlocalizedName()); GameRegistry.registerItem(ammo_22lr, ammo_22lr.getUnlocalizedName()); GameRegistry.registerItem(ammo_22lr_ap, ammo_22lr_ap.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_50bmg, ammo_50bmg.getUnlocalizedName()); GameRegistry.registerItem(ammo_50bmg_incendiary, ammo_50bmg_incendiary.getUnlocalizedName()); GameRegistry.registerItem(ammo_50bmg_explosive, ammo_50bmg_explosive.getUnlocalizedName()); diff --git a/com/hbm/main/ClientProxy.java b/com/hbm/main/ClientProxy.java index 9ef2e7a39..221db1440 100644 --- a/com/hbm/main/ClientProxy.java +++ b/com/hbm/main/ClientProxy.java @@ -7,13 +7,11 @@ import net.minecraftforge.client.model.AdvancedModelLoader; import net.minecraftforge.common.MinecraftForge; import com.hbm.blocks.ModBlocks; -import com.hbm.blocks.machine.TileEntityGeiger; +import com.hbm.blocks.machine.*; import com.hbm.entity.effect.*; import com.hbm.entity.grenade.*; import com.hbm.entity.item.EntityMinecartTest; -import com.hbm.entity.logic.EntityBomber; -import com.hbm.entity.logic.EntityDeathBlast; -import com.hbm.entity.logic.EntityNukeExplosionAdvanced; +import com.hbm.entity.logic.*; import com.hbm.entity.missile.*; import com.hbm.entity.mob.*; import com.hbm.entity.particle.*; @@ -332,6 +330,7 @@ public class ClientProxy extends ServerProxy RenderingRegistry.registerEntityRenderingHandler(EntityMissileIncendiaryStrong.class, new RenderMissileStrong()); RenderingRegistry.registerEntityRenderingHandler(EntityMissileClusterStrong.class, new RenderMissileStrong()); RenderingRegistry.registerEntityRenderingHandler(EntityMissileBusterStrong.class, new RenderMissileStrong()); + RenderingRegistry.registerEntityRenderingHandler(EntityMissileEMPStrong.class, new RenderMissileStrong()); RenderingRegistry.registerEntityRenderingHandler(EntityMissileBurst.class, new RenderMissileHuge()); RenderingRegistry.registerEntityRenderingHandler(EntityMissileInferno.class, new RenderMissileHuge()); @@ -394,6 +393,7 @@ public class ClientProxy extends ServerProxy RenderingRegistry.registerEntityRenderingHandler(EntityRubble.class, new RenderRubble()); RenderingRegistry.registerEntityRenderingHandler(EntityShrapnel.class, new RenderShrapnel()); RenderingRegistry.registerEntityRenderingHandler(EntityOilSpill.class, new RenderEmpty()); + RenderingRegistry.registerEntityRenderingHandler(EntityEMP.class, new RenderEmpty()); RenderingRegistry.registerEntityRenderingHandler(EntitySmokeFX.class, new MultiCloudRenderer(new Item[] { ModItems.smoke1, ModItems.smoke2, ModItems.smoke3, ModItems.smoke4, ModItems.smoke5, ModItems.smoke6, ModItems.smoke7, ModItems.smoke8 })); RenderingRegistry.registerEntityRenderingHandler(EntityBSmokeFX.class, new MultiCloudRenderer(new Item[] { ModItems.b_smoke1, ModItems.b_smoke2, ModItems.b_smoke3, ModItems.b_smoke4, ModItems.b_smoke5, ModItems.b_smoke6, ModItems.b_smoke7, ModItems.b_smoke8 })); diff --git a/com/hbm/main/CraftingManager.java b/com/hbm/main/CraftingManager.java index 40ced53ee..f659c4dbc 100644 --- a/com/hbm/main/CraftingManager.java +++ b/com/hbm/main/CraftingManager.java @@ -875,6 +875,7 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.ammo_20gauge_flechette, 8), new Object[] { " I ", "GCL", " P ", 'I', ModItems.pellet_flechette, 'G', ModItems.cordite, 'C', ModItems.casing_buckshot, 'P', ModItems.primer_buckshot, 'L', "plateCopper" })); GameRegistry.addRecipe(new ItemStack(ModItems.gun_revolver_nightmare2_ammo, 8), new Object[] { "I", "C", "P", 'I', ModItems.powder_power, 'C', ModItems.casing_buckshot, 'P', ModItems.primer_buckshot }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.assembly_calamity, 8), new Object[] { " I ", "GCG", " P ", 'I', "ingotLead", 'G', ModItems.cordite, 'C', ModItems.casing_50, 'P', ModItems.primer_50 })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.assembly_actionexpress, 8), new Object[] { " I", "GC", " P", 'I', "ingotLead", 'G', ModItems.cordite, 'C', ModItems.casing_50, 'P', ModItems.primer_50 })); GameRegistry.addRecipe(new ItemStack(ModItems.ammo_12gauge_incendiary, 8), new Object[] { "BBB", "BAB", "BBB", 'B', ModItems.ammo_12gauge, 'A', ModItems.powder_fire }); GameRegistry.addRecipe(new ItemStack(ModItems.ammo_20gauge_incendiary, 8), new Object[] { "BBB", "BAB", "BBB", 'B', ModItems.ammo_20gauge, 'A', ModItems.powder_fire }); @@ -893,6 +894,8 @@ public class CraftingManager { GameRegistry.addRecipe(new ItemStack(ModItems.ammo_50bmg_incendiary, 8), new Object[] { "BBB", "BAB", "BBB", 'B', ModItems.ammo_50bmg, 'A', ModItems.powder_fire }); GameRegistry.addRecipe(new ItemStack(ModItems.ammo_50bmg_explosive, 8), new Object[] { "BBB", "BAB", "BBB", 'B', ModItems.ammo_50bmg, 'A', Blocks.tnt }); GameRegistry.addRecipe(new ItemStack(ModItems.ammo_50bmg_du, 8), new Object[] { "BBB", "BAB", "BBB", 'B', ModItems.ammo_50bmg, 'A', ModItems.ingot_u238 }); + GameRegistry.addRecipe(new ItemStack(ModItems.ammo_50ae_ap, 8), new Object[] { "BBB", "BAB", "BBB", 'B', ModItems.ammo_50ae, 'A', ModItems.ingot_dura_steel }); + GameRegistry.addRecipe(new ItemStack(ModItems.ammo_50ae_du, 8), new Object[] { "BBB", "BAB", "BBB", 'B', ModItems.ammo_50ae, 'A', ModItems.ingot_u238 }); GameRegistry.addRecipe(new ItemStack(ModItems.folly_bullet, 1), new Object[] { " S ", "STS", "SMS", 'S', ModItems.ingot_starmetal, 'T', ModItems.powder_magic, 'M', ModBlocks.block_meteor }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.folly_bullet_nuclear, 1), new Object[] { " N ", "UTU", "UTU", 'N', ModItems.gun_fatman_ammo, 'U', "ingotIron", 'T', "blockTungsten" })); diff --git a/com/hbm/packet/ParticleBurstPacket.java b/com/hbm/packet/ParticleBurstPacket.java index 1e6e90db9..ecf92b0dd 100644 --- a/com/hbm/packet/ParticleBurstPacket.java +++ b/com/hbm/packet/ParticleBurstPacket.java @@ -56,7 +56,7 @@ public class ParticleBurstPacket implements IMessage { @Override public IMessage onMessage(ParticleBurstPacket m, MessageContext ctx) { - Minecraft.getMinecraft().effectRenderer.addBlockDestroyEffects(m.x, m.y, m.z, Block.getBlockById(m.block), (m.meta << 12)); + Minecraft.getMinecraft().effectRenderer.addBlockDestroyEffects(m.x, m.y, m.z, Block.getBlockById(m.block), m.meta); return null; } diff --git a/com/hbm/packet/TEMissilePacket.java b/com/hbm/packet/TEMissilePacket.java index e6861a355..33a5ad205 100644 --- a/com/hbm/packet/TEMissilePacket.java +++ b/com/hbm/packet/TEMissilePacket.java @@ -78,6 +78,8 @@ public class TEMissilePacket implements IMessage { type = 23; if(stack.getItem() == ModItems.missile_emp) type = 24; + if(stack.getItem() == ModItems.missile_emp_strong) + type = 25; } } diff --git a/com/hbm/render/entity/RenderMissileStrong.java b/com/hbm/render/entity/RenderMissileStrong.java index bb90f35da..82ff62a31 100644 --- a/com/hbm/render/entity/RenderMissileStrong.java +++ b/com/hbm/render/entity/RenderMissileStrong.java @@ -4,6 +4,7 @@ import org.lwjgl.opengl.GL11; import com.hbm.entity.missile.EntityMissileBusterStrong; import com.hbm.entity.missile.EntityMissileClusterStrong; +import com.hbm.entity.missile.EntityMissileEMPStrong; import com.hbm.entity.missile.EntityMissileIncendiaryStrong; import com.hbm.entity.missile.EntityMissileStrong; import com.hbm.lib.RefStrings; @@ -36,6 +37,8 @@ public class RenderMissileStrong extends Render { bindTexture(ResourceManager.missileStrong_CL_tex); if(p_76986_1_ instanceof EntityMissileBusterStrong) bindTexture(ResourceManager.missileStrong_BU_tex); + if(p_76986_1_ instanceof EntityMissileEMPStrong) + bindTexture(ResourceManager.missileStrong_EMP_tex); ResourceManager.missileStrong.renderAll(); GL11.glPopMatrix(); } diff --git a/com/hbm/render/tileentity/RenderLaunchPadTier1.java b/com/hbm/render/tileentity/RenderLaunchPadTier1.java index 9acfc2904..f2734be69 100644 --- a/com/hbm/render/tileentity/RenderLaunchPadTier1.java +++ b/com/hbm/render/tileentity/RenderLaunchPadTier1.java @@ -212,6 +212,12 @@ public class RenderLaunchPadTier1 extends TileEntitySpecialRenderer { bindTexture(ResourceManager.missileMicroEMP_tex); ResourceManager.missileTaint.renderAll(); } + if(state == 25) + { + GL11.glScalef(1.5F, 1.5F, 1.5F); + bindTexture(ResourceManager.missileStrong_EMP_tex); + ResourceManager.missileStrong.renderAll(); + } GL11.glEnable(GL11.GL_CULL_FACE);