total grenade death

This commit is contained in:
Bob 2026-04-11 20:15:41 +02:00
parent f762a9c144
commit 3520ba5187
134 changed files with 242 additions and 2877 deletions

View File

@ -6,6 +6,11 @@ import java.util.Random;
import com.hbm.blocks.ModBlocks;
import com.hbm.interfaces.Spaghetti;
import com.hbm.items.weapon.grenade.ItemGrenadeUniversal;
import com.hbm.items.weapon.grenade.ItemGrenadeExtra.EnumGrenadeExtra;
import com.hbm.items.weapon.grenade.ItemGrenadeFilling.EnumGrenadeFilling;
import com.hbm.items.weapon.grenade.ItemGrenadeFuze.EnumGrenadeFuze;
import com.hbm.items.weapon.grenade.ItemGrenadeShell.EnumGrenadeShell;
import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmoSecret;
import com.hbm.items.ModItems;
import com.hbm.items.machine.ItemBatteryPack.EnumBatteryPack;
@ -55,10 +60,9 @@ public class BlockCrate extends BlockFalling {
// Supply Crate
BlockCrate.addToListWithWeight(crateList, ModItems.syringe_metal_stimpak, 10);
BlockCrate.addToListWithWeight(crateList, ModItems.syringe_antidote, 5);
BlockCrate.addToListWithWeight(crateList, ModItems.grenade_generic, 8);
BlockCrate.addToListWithWeight(crateList, ModItems.grenade_strong, 6);
BlockCrate.addToListWithWeight(crateList, ModItems.grenade_mk2, 4);
BlockCrate.addToListWithWeight(crateList, ModItems.grenade_flare, 4);
BlockCrate.addToListWithWeight(crateList, ItemGrenadeUniversal.make(EnumGrenadeShell.FRAG, EnumGrenadeFilling.HE, EnumGrenadeFuze.S3, EnumGrenadeExtra.FRAG_SLEEVE), 8);
BlockCrate.addToListWithWeight(crateList, ItemGrenadeUniversal.make(EnumGrenadeShell.STICK, EnumGrenadeFilling.HE, EnumGrenadeFuze.IMPACT), 6);
BlockCrate.addToListWithWeight(crateList, ItemGrenadeUniversal.make(EnumGrenadeShell.FRAG, EnumGrenadeFilling.INC, EnumGrenadeFuze.S7), 4);
BlockCrate.addToListWithWeight(crateList, ModItems.ammo_container, 2);
// Weapon Crate

View File

@ -6,6 +6,7 @@ import com.hbm.inventory.OreDictManager.DictFrame;
import com.hbm.inventory.fluid.Fluids;
import com.hbm.items.machine.ItemBatteryPack.EnumBatteryPack;
import com.hbm.items.machine.ItemCircuit.EnumCircuitType;
import com.hbm.items.weapon.grenade.ItemGrenadeFilling.EnumGrenadeFilling;
import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo;
import com.hbm.items.ItemEnums;
import com.hbm.items.ModItems;
@ -29,9 +30,8 @@ public class ConsumableRecipes {
//Airstikes
CraftingManager.addRecipeAuto(new ItemStack(ModItems.bomb_caller, 1, 0), new Object[] { "TTT", "TRT", "TTT", 'T', Blocks.tnt, 'R', ModItems.rangefinder });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.bomb_caller, 1, 1), new Object[] { "TTT", "TRT", "TTT", 'T', ModItems.grenade_gascan, 'R', ModItems.rangefinder });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.bomb_caller, 1, 1), new Object[] { "TTT", "TRT", "TTT", 'T', DictFrame.fromOne(ModItems.grenade_filling, EnumGrenadeFilling.INC), 'R', ModItems.rangefinder });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.bomb_caller, 1, 2), new Object[] { "TTT", "TRT", "TTT", 'T', ModItems.pellet_gas, 'R', ModItems.rangefinder });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.bomb_caller, 1, 3), new Object[] { "TRT", 'T', ModItems.grenade_cloud, 'R', ModItems.rangefinder });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.bomb_caller, 1, 4), new Object[] { "TRC", 'T', DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.NUKE_HIGH), 'R', ModItems.rangefinder, 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.CONTROLLER) });
//Food

View File

@ -16,6 +16,10 @@ import com.hbm.items.machine.ItemBatteryPack.EnumBatteryPack;
import com.hbm.items.machine.ItemCircuit.EnumCircuitType;
import com.hbm.items.ModItems;
import com.hbm.items.weapon.GunB92Cell;
import com.hbm.items.weapon.grenade.ItemGrenadeExtra.EnumGrenadeExtra;
import com.hbm.items.weapon.grenade.ItemGrenadeFilling.EnumGrenadeFilling;
import com.hbm.items.weapon.grenade.ItemGrenadeFuze.EnumGrenadeFuze;
import com.hbm.items.weapon.grenade.ItemGrenadeShell.EnumGrenadeShell;
import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo;
import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmoSecret;
import com.hbm.items.weapon.sedna.factory.GunFactory.EnumModGeneric;
@ -24,7 +28,6 @@ import com.hbm.main.CraftingManager;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
/**
@ -168,7 +171,7 @@ public class WeaponRecipes {
//Missiles
CraftingManager.addShapelessAuto(new ItemStack(ModItems.missile_taint, 1), new Object[] { ModItems.missile_assembly, ModItems.bucket_mud, ModItems.powder_spark_mix, ModItems.powder_magic });
CraftingManager.addShapelessAuto(new ItemStack(ModItems.missile_micro, 1), new Object[] { ModItems.missile_assembly, ModItems.ducttape, DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.NUKE_HIGH) });
CraftingManager.addShapelessAuto(new ItemStack(ModItems.missile_bhole, 1), new Object[] { ModItems.missile_assembly, ModItems.ducttape, ModItems.grenade_black_hole });
CraftingManager.addShapelessAuto(new ItemStack(ModItems.missile_bhole, 1), new Object[] { ModItems.missile_assembly, ModItems.ducttape, ModItems.black_hole });
CraftingManager.addShapelessAuto(new ItemStack(ModItems.missile_schrabidium, 1), new Object[] { ModItems.missile_assembly, ModItems.ducttape, ModItems.cell_anti_schrabidium, ANY_HARDPLASTIC.ingot() });
CraftingManager.addShapelessAuto(new ItemStack(ModItems.missile_emp, 1), new Object[] { ModItems.missile_assembly, ModItems.ducttape, ModBlocks.emp_bomb });
@ -253,30 +256,31 @@ public class WeaponRecipes {
CraftingManager.addRecipeAuto(ModItems.ammo_fireext.stackFromEnum(AmmoFireExt.SAND), new Object[] { "NNN", "NFN", "NNN", 'N', new ItemStack(ModBlocks.sand_mix, 1, EnumSandType.BORON.ordinal()), 'F', ModItems.ammo_fireext });
//Grenades
CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenade_generic, 4), new Object[] { "RS ", "ITI", " I ", 'I', IRON.plate(), 'R', MINGRADE.wireFine(), 'S', STEEL.plate(), 'T', Item.getItemFromBlock(Blocks.tnt) });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenade_strong, 2), new Object[] { " G ", "SGS", " S ", 'G', ModItems.grenade_generic, 'S', Items.gunpowder });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenade_frag, 2), new Object[] { " G ", "WGW", " K ", 'G', ModItems.grenade_generic, 'W', KEY_PLANKS, 'K', Item.getItemFromBlock(Blocks.gravel) });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenade_poison, 2), new Object[] { " G ", "PGP", " P ", 'G', ModItems.grenade_generic, 'P', ModItems.powder_poison });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenade_gas, 2), new Object[] { " G ", "CGC", " C ", 'G', ModItems.grenade_generic, 'C', ModItems.pellet_gas });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenade_aschrab, 1), new Object[] {"RS ", "ITI", " S ", 'I', KEY_CLEARGLASS, 'R', MINGRADE.wireFine(), 'S', STEEL.plate(), 'T', ModItems.cell_anti_schrabidium });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenade_mk2, 2), new Object[] { " G ", "SGS", " S ", 'G', ModItems.grenade_strong, 'S', Items.gunpowder });
CraftingManager.addShapelessAuto(new ItemStack(ModItems.grenade_gascan, 1), new Object[] { Fluids.DIESEL.getDict(1000), Items.flint });
CraftingManager.addShapelessAuto(new ItemStack(ModItems.grenade_gascan, 1), new Object[] { Fluids.DIESEL_CRACK.getDict(1000), Items.flint });
CraftingManager.addShapelessAuto(new ItemStack(ModItems.grenade_gascan, 1), new Object[] { Fluids.PETROIL.getDict(1000), Items.flint });
CraftingManager.addShapelessAuto(new ItemStack(ModItems.grenade_gascan, 1), new Object[] { Fluids.PETROIL_LEADED.getDict(1000), Items.flint });
CraftingManager.addShapelessAuto(new ItemStack(ModItems.grenade_gascan, 1), new Object[] { Fluids.GASOLINE.getDict(1000), Items.flint });
CraftingManager.addShapelessAuto(new ItemStack(ModItems.grenade_gascan, 1), new Object[] { Fluids.GASOLINE_LEADED.getDict(1000), Items.flint });
CraftingManager.addShapelessAuto(new ItemStack(ModItems.grenade_gascan, 1), new Object[] { Fluids.BIOFUEL.getDict(1000), Items.flint });
CraftingManager.addShapelessAuto(new ItemStack(ModItems.grenade_lemon, 1), new Object[] { ModItems.lemon, ModItems.grenade_strong });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenade_smart, 4), new Object[] { " A ", "ACA", " A ", 'A', ModItems.grenade_strong, 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.CHIP) });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenade_mirv, 1), new Object[] { "GGG", "GCG", "GGG", 'G', ModItems.grenade_smart, 'C', ModItems.grenade_generic });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenade_breach, 1), new Object[] { "G", "G", "P", 'G', ModItems.grenade_smart, 'P', BIGMT.plate() });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenade_burst, 1), new Object[] { "GGG", "GCG", "GGG", 'G', ModItems.grenade_breach, 'C', ModItems.grenade_generic });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenade_cloud), new Object[] { "SPS", "CAC", "SPS", 'S', S.dust(), 'P', ModItems.powder_poison, 'C', CU.dust(), 'A', new ItemStack(ModItems.fluid_tank_full, 1, Fluids.PEROXIDE.getID()) });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenade_pink_cloud), new Object[] { " S ", "ECE", " E ", 'S', ModItems.powder_spark_mix, 'E', ModItems.powder_magic, 'C', ModItems.grenade_cloud });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.nuclear_waste_pearl), new Object[] { "WWW", "WFW", "WWW", 'W', ModItems.nuclear_waste_tiny, 'F', ModBlocks.block_fallout });
CraftingManager.addShapelessAuto(new ItemStack(ModItems.grenade_kyiv), new Object[] { ModItems.canister_napalm, ModItems.bottle2_empty, ModItems.rag });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.disperser_canister_empty, 4), new Object[] { " P ", "PGP", " P ", 'P', ANY_HARDPLASTIC.ingot(), 'G', ModBlocks.glass_boron });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenade_shell, 4, EnumGrenadeShell.FRAG.ordinal()), new Object[] { "B", "P", "S", 'B', STEEL.bolt(), 'P', AL.plate(), 'S', STEEL.shell() });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenade_shell, 4, EnumGrenadeShell.STICK.ordinal()), new Object[] { "S", "B", "W", 'B', STEEL.bolt(), 'S', STEEL.shell(), 'W', KEY_PLANKS });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenade_shell, 4, EnumGrenadeShell.TECH.ordinal()), new Object[] { "C", "M", "S", 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.BASIC), 'M', WEAPONSTEEL.mechanism(), 'S', WEAPONSTEEL.shell() });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenade_shell, 2, EnumGrenadeShell.NUKE.ordinal()), new Object[] { " S ", "CMC", " S ", 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.ADVANCED), 'M', WEAPONSTEEL.mechanism(), 'S', WEAPONSTEEL.shell() });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenade_fuze, 4, EnumGrenadeFuze.S3.ordinal()), new Object[] { "S", "F", 'S', STEEL.bolt(), 'F', ModItems.safety_fuse });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenade_fuze, 4, EnumGrenadeFuze.S7.ordinal()), new Object[] { "S", "F", "F", 'S', STEEL.bolt(), 'F', ModItems.safety_fuse });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenade_fuze, 4, EnumGrenadeFuze.S15.ordinal()), new Object[] { " S ", " F ", "FFF", 'S', STEEL.bolt(), 'F', ModItems.safety_fuse });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenade_fuze, 4, EnumGrenadeFuze.IMPACT.ordinal()), new Object[] { "C", "S", "F", 'C', ANY_SMOKELESS.dust(), 'S', STEEL.bolt(), 'F', ModItems.safety_fuse });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenade_fuze, 4, EnumGrenadeFuze.AIRBURST.ordinal()), new Object[] { "C", "S", "F", 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.VACUUM_TUBE), 'S', STEEL.bolt(), 'F', ModItems.safety_fuse });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenade_filling, 4, EnumGrenadeFilling.POWDER.ordinal()), new Object[] { "F", "I", "F", 'F', Items.gunpowder, 'I', ModItems.plate_polymer });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenade_filling, 4, EnumGrenadeFilling.HE.ordinal()), new Object[] { "F", "I", "F", 'F', ModItems.ball_dynamite, 'I', ModItems.plate_polymer });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenade_filling, 4, EnumGrenadeFilling.DEMO.ordinal()), new Object[] { "F", "I", "F", 'F', ANY_HIGHEXPLOSIVE.ingot(), 'I', ModItems.plate_polymer });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenade_filling, 4, EnumGrenadeFilling.INC.ordinal()), new Object[] { "F", "I", "F", 'F', P_RED.dust(), 'I', ModItems.plate_polymer });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenade_filling, 4, EnumGrenadeFilling.WP.ordinal()), new Object[] { "F", "I", "F", 'F', P_WHITE.ingot(), 'I', ModItems.plate_polymer });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenade_filling, 4, EnumGrenadeFilling.CLUSTER.ordinal()), new Object[] { "F", "I", "F", 'F', ModItems.pellet_cluster, 'I', ModItems.plate_polymer });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenade_filling, 1, EnumGrenadeFilling.CLUSTER_HEAVY.ordinal()), new Object[] { "F", "I", "F", 'F', ModItems.pellet_cluster, 'I', WEAPONSTEEL.plate() });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenade_filling, 4, EnumGrenadeFilling.EMP.ordinal()), new Object[] { " C ", "KWK", 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.BASIC), 'K', ModItems.coil_gold, 'W', WEAPONSTEEL.plate() });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenade_filling, 4, EnumGrenadeFilling.PLASMA.ordinal()), new Object[] { " C ", "KWK", 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.CAPACITOR_BOARD), 'K', ModItems.cell_tritium, 'W', WEAPONSTEEL.plate() });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenade_filling, 4, EnumGrenadeFilling.LASER.ordinal()), new Object[] { " C ", "KWK", 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.ATOMIC_CLOCK), 'K', ModItems.crystal_redstone, 'W', WEAPONSTEEL.plate() });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenade_filling, 1, EnumGrenadeFilling.NUCLEAR.ordinal()), new Object[] { " T ", "CPC", " T ", 'T', ModItems.ball_tatb, 'C', WEAPONSTEEL.plate(), 'P', PU239.nugget() });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenade_filling, 1, EnumGrenadeFilling.NUCLEAR_DEMO.ordinal()), new Object[] { "TPT", "CPC", "TPT", 'T', ModItems.ball_tatb, 'C', WEAPONSTEEL.plate(), 'P', PU239.nugget() });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenade_extra, 1, EnumGrenadeExtra.GLUE.ordinal()), new Object[] { " P ", "PSP", " P ", 'P', Items.paper, 'S', Items.slime_ball });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenade_extra, 1, EnumGrenadeExtra.PROXY_FUZE.ordinal()), new Object[] { "C", "F", 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.CHIP), 'F', ModItems.safety_fuse });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenade_extra, 1, EnumGrenadeExtra.FRAG_SLEEVE.ordinal()), new Object[] { "BBB", " T ", "BBB", 'B', STEEL.bolt(), 'T', ModItems.ducttape });
//Sticks of explosives
CraftingManager.addRecipeAuto(new ItemStack(ModItems.stick_dynamite, 4), new Object[] { " S ", "PDP", "PDP", 'S', ModItems.safety_fuse, 'P', Items.paper, 'D', ModItems.ball_dynamite });
@ -292,22 +296,6 @@ public class WeaponRecipes {
CraftingManager.addRecipeAuto(new ItemStack(ModBlocks.c4, 1), new Object[] { "DDD", "DSD", "DDD", 'D', ModItems.stick_c4, 'S', ModItems.safety_fuse });
CraftingManager.addRecipeAuto(new ItemStack(ModBlocks.fissure_bomb, 1), new Object[] { "SUS", "RPR", "SUS", 'S', ModBlocks.semtex, 'U', U238.block(), 'R', TA.ingot(), 'P', PU239.billet() });
//IF Grenades
CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenade_if_generic, 1), new Object[] { " C ", "PTP", " P ", 'C', ModItems.coil_tungsten, 'P', STEEL.plate(), 'T', Blocks.tnt });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenade_if_he, 1), new Object[] { "A", "G", "A", 'G', ModItems.grenade_if_generic, 'A', Items.gunpowder });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenade_if_bouncy, 1), new Object[] { "G", "A", 'G', ModItems.grenade_if_generic, 'A', ANY_RUBBER.ingot() });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenade_if_sticky, 1), new Object[] { "G", "A", 'G', ModItems.grenade_if_generic, 'A', KEY_SLIME });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenade_if_impact, 1), new Object[] { "G", "A", 'G', ModItems.grenade_if_generic, 'A', REDSTONE.dust() });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenade_if_concussion, 1), new Object[] { "G", "A", 'G', ModItems.grenade_if_generic, 'A', Items.glowstone_dust });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenade_if_toxic, 1), new Object[] { "G", "A", 'G', ModItems.grenade_if_generic, 'A', ModItems.powder_poison });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenade_if_incendiary, 1), new Object[] { "G", "A", 'G', ModItems.grenade_if_generic, 'A', P_RED.dust() });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenade_if_brimstone, 1), new Object[] { "R", "G", "A", 'G', ModItems.grenade_if_generic, 'R', REDSTONE.dust(), 'A', S.dust() });
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', ModItems.undefined, 'B', BIGMT.ingot() });
//Mines
CraftingManager.addRecipeAuto(new ItemStack(ModBlocks.mine_ap, 4), new Object[] { "I", "C", "S", 'I', ModItems.plate_polymer, 'C', ANY_SMOKELESS.dust(), 'S', STEEL.ingot() });
CraftingManager.addRecipeAuto(new ItemStack(ModBlocks.mine_shrap, 1), new Object[] { "L", "M", 'M', ModBlocks.mine_ap, 'L', ModItems.pellet_buckshot });

View File

@ -42,18 +42,7 @@ public class EntityMappings {
public static void writeMappings() {
addEntity(EntityRocket.class, "entity_rocket", 250);
addEntity(EntityGrenadeGeneric.class, "entity_grenade_generic", 250);
addEntity(EntityGrenadeStrong.class, "entity_grenade_strong", 250);
addEntity(EntityGrenadeFrag.class, "entity_grenade_frag", 250);
addEntity(EntityGrenadeFire.class, "entity_grenade_fire", 250);
addEntity(EntityGrenadeCluster.class, "entity_grenade_cluster", 250);
addEntity(EntityBullet.class, "entity_bullet", 250);
addEntity(EntityGrenadeFlare.class, "entity_grenade_flare", 500);
addEntity(EntityGrenadeElectric.class, "entity_grenade_electric", 500);
addEntity(EntityGrenadePoison.class, "entity_grenade_poison", 500);
addEntity(EntityGrenadeGas.class, "entity_grenade_gas", 500);
addEntity(EntityGrenadeSchrabidium.class, "entity_grenade_schrab", 500);
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);
@ -71,23 +60,13 @@ public class EntityMappings {
addEntity(EntityMissileRain.class, "entity_missile_rain", 1000);
addEntity(EntityMissileDrill.class, "entity_missile_drill", 1000);
addEntity(EntityMissileMirv.class, "entity_missile_mirv", 1000);
addEntity(EntityGrenadeNuclear.class, "entity_grenade_nuclear", 1000);
addEntity(EntityGrenadePlasma.class, "entity_grenade_plasma", 500);
addEntity(EntityGrenadeTau.class, "entity_grenade_tau", 500);
addEntity(EntityChopperMine.class, "entity_chopper_mine", 1000);
addEntity(EntityGrenadeLemon.class, "entity_grenade_lemon", 500);
addEntity(EntityCloudFleija.class, "entity_cloud_fleija", 500);
addEntity(EntityGrenadeMk2.class, "entity_grenade_mk2", 500);
addEntity(EntityGrenadeZOMG.class, "entity_grenade_zomg", 500);
addEntity(EntityGrenadeASchrab.class, "entity_grenade_aschrab", 500);
addEntity(EntityFalloutRain.class, "entity_fallout", 1000);
addEntity(EntityEMPBlast.class, "entity_emp_blast", 1000);
addEntity(EntityGrenadePulse.class, "entity_grenade_pulse", 1000);
addEntity(EntityRubble.class, "entity_rubble", 1000);
addEntity(EntityShrapnel.class, "entity_shrapnel", 1000);
addEntity(EntityGrenadeShrapnel.class, "entity_grenade_shrapnel", 250);
addEntity(EntityBlackHole.class, "entity_black_hole", 250);
addEntity(EntityGrenadeBlackHole.class, "entity_grenade_black_hole", 250);
addEntity(EntityMinecartTest.class, "entity_minecart_test", 1000);
addEntity(EntityMissileDoomsday.class, "entity_missile_doomsday", 1000);
addEntity(EntityMissileDoomsdayRusted.class, "entity_missile_doomsday_rusted", 1000);
@ -97,10 +76,9 @@ public class EntityMappings {
addEntity(EntityBoxcar.class, "entity_boxcar", 1000);
addEntity(EntityTorpedo.class, "entity_torpedo", 1000);
addEntity(EntityMissileTaint.class, "entity_missile_taint", 1000);
addEntity(EntityGrenadeGascan.class, "entity_grenade_gascan", 1000);
addEntity(EntityNukeExplosionMK5.class, "entity_nuke_mk5", 1000);
addEntity(EntityCloudFleijaRainbow.class, "entity_cloud_rainbow", 1000);
addEntity(EntityExplosiveBeam.class, "entity_beam_bomb", 1000);
addEntity(EntityB92Beam.class, "entity_beam_bomb", 1000);
addEntity(EntityMissileTest.class, "entity_missile_test_mk2", 1000);
addEntity(EntityMissileMicro.class, "entity_missile_micronuclear", 1000);
addEntity(EntityCloudSolinium.class, "entity_cloud_rainbow", 1000);
@ -111,31 +89,12 @@ public class EntityMappings {
addEntity(EntityChlorineFX.class, "entity_chlorine_fx", 1000);
addEntity(EntityPinkCloudFX.class, "entity_pink_cloud_fx", 1000);
addEntity(EntityCloudFX.class, "entity_cloud_fx", 1000);
addEntity(EntityGrenadePC.class, "entity_grenade_pink_cloud", 250);
addEntity(EntityGrenadeCloud.class, "entity_grenade_cloud", 250);
addEntity(EntityBomber.class, "entity_bomber", 1000);
addEntity(EntityC130.class, "entity_c130", 1000);
addEntity(EntityBombletZeta.class, "entity_zeta", 1000);
addEntity(EntityOrangeFX.class, "entity_agent_orange", 1000);
addEntity(EntityDeathBlast.class, "entity_laser_blast", 1000);
addEntity(EntityGrenadeSmart.class, "entity_grenade_smart", 250);
addEntity(EntityGrenadeMIRV.class, "entity_grenade_mirv", 250);
addEntity(EntityGrenadeBreach.class, "entity_grenade_breach", 250);
addEntity(EntityGrenadeBurst.class, "entity_grenade_burst", 250);
addEntity(EntityBurningFOEQ.class, "entity_burning_foeq", 1000);
addEntity(EntityGrenadeIFGeneric.class, "entity_grenade_ironshod", 250);
addEntity(EntityGrenadeIFHE.class, "entity_grenade_ironshod_he", 250);
addEntity(EntityGrenadeIFBouncy.class, "entity_grenade_ironshod_bouncy", 250);
addEntity(EntityGrenadeIFSticky.class, "entity_grenade_ironshod_sticky", 250);
addEntity(EntityGrenadeIFImpact.class, "entity_grenade_ironshod_impact", 250);
addEntity(EntityGrenadeIFIncendiary.class, "entity_grenade_ironshod_fire", 250);
addEntity(EntityGrenadeIFToxic.class, "entity_grenade_ironshod_toxic", 250);
addEntity(EntityGrenadeIFConcussion.class, "entity_grenade_ironshod_con", 250);
addEntity(EntityGrenadeIFBrimstone.class, "entity_grenade_ironshod_brim", 250);
addEntity(EntityGrenadeIFMystery.class, "entity_grenade_ironshod_m", 250);
addEntity(EntityGrenadeIFSpark.class, "entity_grenade_ironshod_s", 250);
addEntity(EntityGrenadeIFHopwire.class, "entity_grenade_ironshod_hopwire", 250);
addEntity(EntityGrenadeIFNull.class, "entity_grenade_ironshod_null", 250);
addEntity(EntityFallingNuke.class, "entity_falling_bomb", 1000);
addEntity(EntityBulletBaseNT.class, "entity_bullet_mk3", 250, false);
addEntity(EntityBulletBaseMK4.class, "entity_bullet_mk4", 250, false);
@ -176,7 +135,6 @@ public class EntityMappings {
addEntity(EntityMissileShuttle.class, "entity_missile_shuttle", 1000);
addEntity(EntityZirnoxDebris.class, "entity_zirnox_debris", 1000);
addEntity(EntityGhost.class, "entity_ntm_ghost", 1000);
addEntity(EntityGrenadeDynamite.class, "entity_grenade_dynamite", 250);
addEntity(EntitySiegeLaser.class, "entity_ntm_siege_laser", 1000);
addEntity(EntityTNTPrimedBase.class, "entity_ntm_tnt_primed", 1000);
addEntity(EntityGrenadeBouncyGeneric.class, "entity_grenade_bouncy_generic", 250);

View File

@ -1,43 +0,0 @@
package com.hbm.entity.grenade;
import com.hbm.config.BombConfig;
import com.hbm.entity.effect.EntityCloudFleija;
import com.hbm.entity.logic.EntityNukeExplosionMK3;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.world.World;
public class EntityGrenadeASchrab extends EntityGrenadeBase {
public EntityGrenadeASchrab(World p_i1773_1_) {
super(p_i1773_1_);
}
public EntityGrenadeASchrab(World p_i1774_1_, EntityLivingBase p_i1774_2_) {
super(p_i1774_1_, p_i1774_2_);
}
public EntityGrenadeASchrab(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_);
}
@Override
public void explode() {
if (!this.worldObj.isRemote) {
EntityNukeExplosionMK3 ex = EntityNukeExplosionMK3.statFacFleija(worldObj, posX, posY, posZ, BombConfig.aSchrabRadius);
if(!ex.isDead) {
this.worldObj.playSoundEffect(this.posX, this.posY, this.posZ, "random.explode", 100.0F, this.worldObj.rand.nextFloat() * 0.1F + 0.9F);
worldObj.spawnEntityInWorld(ex);
EntityCloudFleija cloud = new EntityCloudFleija(this.worldObj, BombConfig.aSchrabRadius);
cloud.posX = this.posX;
cloud.posY = this.posY;
cloud.posZ = this.posZ;
this.worldObj.spawnEntityInWorld(cloud);
}
this.setDead();
}
}
}

View File

@ -1,52 +0,0 @@
package com.hbm.entity.grenade;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.world.World;
import com.hbm.entity.effect.EntityBlackHole;
import com.hbm.items.ModItems;
import com.hbm.items.weapon.ItemGrenade;
public class EntityGrenadeBlackHole extends EntityGrenadeBouncyBase
{
public EntityGrenadeBlackHole(World p_i1773_1_)
{
super(p_i1773_1_);
}
public EntityGrenadeBlackHole(World p_i1774_1_, EntityLivingBase p_i1774_2_)
{
super(p_i1774_1_, p_i1774_2_);
}
public EntityGrenadeBlackHole(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_);
}
@Override
public void explode() {
if (!this.worldObj.isRemote)
{
this.setDead();
this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 1.5F, true);
EntityBlackHole bl = new EntityBlackHole(this.worldObj, 1.5F);
bl.posX = this.posX;
bl.posY = this.posY;
bl.posZ = this.posZ;
this.worldObj.spawnEntityInWorld(bl);
}
}
@Override
protected int getMaxTimer() {
return ItemGrenade.getFuseTicks(ModItems.grenade_black_hole);
}
@Override
protected double getBounceMod() {
return 0.25D;
}
}

View File

@ -30,7 +30,7 @@ public class EntityGrenadeBouncyGeneric extends EntityGrenadeBouncyBase implemen
@Override
public ItemGenericGrenade getGrenade() {
ItemGenericGrenade gren = (ItemGenericGrenade) Item.getItemById(this.dataWatcher.getWatchableObjectInt(12));
return gren != null ? gren : (ItemGenericGrenade) ModItems.grenade_kyiv;
return gren != null ? gren : (ItemGenericGrenade) ModItems.stick_dynamite;
}
@Override

View File

@ -1,35 +0,0 @@
package com.hbm.entity.grenade;
import com.hbm.explosion.ExplosionLarge;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.world.World;
public class EntityGrenadeBreach extends EntityGrenadeBase {
public EntityGrenadeBreach(World p_i1773_1_)
{
super(p_i1773_1_);
}
public EntityGrenadeBreach(World p_i1774_1_, EntityLivingBase p_i1774_2_)
{
super(p_i1774_1_, p_i1774_2_);
}
public EntityGrenadeBreach(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_);
}
@Override
public void explode() {
if (!this.worldObj.isRemote)
{
if(rand.nextInt(10) == 0)
this.setDead();
ExplosionLarge.explode(worldObj, posX, posY, posZ, 2.5F, false, false, false);
}
}
}

View File

@ -1,57 +0,0 @@
package com.hbm.entity.grenade;
import com.hbm.items.ModItems;
import com.hbm.items.weapon.ItemGrenade;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.world.World;
public class EntityGrenadeBurst extends EntityGrenadeBouncyBase {
public EntityGrenadeBurst(World p_i1773_1_)
{
super(p_i1773_1_);
}
public EntityGrenadeBurst(World p_i1774_1_, EntityLivingBase p_i1774_2_)
{
super(p_i1774_1_, p_i1774_2_);
}
public EntityGrenadeBurst(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_);
}
@Override
public void explode() {
if (!this.worldObj.isRemote)
{
this.setDead();
for(int i = 0; i < 8; i++) {
EntityGrenadeBreach grenade = new EntityGrenadeBreach(worldObj);
grenade.posX = posX;
grenade.posY = posY;
grenade.posZ = posZ;
grenade.motionX = rand.nextGaussian() * 0.1D;
grenade.motionY = -0.25D;
grenade.motionZ = rand.nextGaussian() * 0.1D;
worldObj.spawnEntityInWorld(grenade);
}
}
}
@Override
protected int getMaxTimer() {
return ItemGrenade.getFuseTicks(ModItems.grenade_burst);
}
@Override
protected double getBounceMod() {
return 0.25D;
}
}

View File

@ -1,32 +0,0 @@
package com.hbm.entity.grenade;
import com.hbm.explosion.ExplosionChaos;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.world.World;
public class EntityGrenadeCloud extends EntityGrenadeBase {
public EntityGrenadeCloud(World p_i1773_1_) {
super(p_i1773_1_);
}
public EntityGrenadeCloud(World p_i1774_1_, EntityLivingBase p_i1774_2_) {
super(p_i1774_1_, p_i1774_2_);
}
public EntityGrenadeCloud(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_);
}
@Override
public void explode() {
if (!this.worldObj.isRemote) {
this.setDead();
this.worldObj.playAuxSFX(2002, (int)Math.round(this.posX), (int)Math.round(this.posY), (int)Math.round(this.posZ), 0);
ExplosionChaos.spawnPoisonCloud(worldObj, posX, posY, posZ, 250, 1.5, 1);
}
}
}

View File

@ -1,47 +0,0 @@
package com.hbm.entity.grenade;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.world.World;
import com.hbm.explosion.ExplosionChaos;
import com.hbm.items.ModItems;
import com.hbm.items.weapon.ItemGrenade;
public class EntityGrenadeCluster extends EntityGrenadeBouncyBase
{
public EntityGrenadeCluster(World p_i1773_1_)
{
super(p_i1773_1_);
}
public EntityGrenadeCluster(World p_i1774_1_, EntityLivingBase p_i1774_2_)
{
super(p_i1774_1_, p_i1774_2_);
}
public EntityGrenadeCluster(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_);
}
@Override
public void explode() {
if (!this.worldObj.isRemote)
{
this.setDead();
ExplosionChaos.cluster(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 10, 50);
this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 1.5F, true);
}
}
@Override
protected int getMaxTimer() {
return ItemGrenade.getFuseTicks(ModItems.grenade_cluster);
}
@Override
protected double getBounceMod() {
return 0.25D;
}
}

View File

@ -1,35 +0,0 @@
package com.hbm.entity.grenade;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.world.World;
public class EntityGrenadeDynamite extends EntityGrenadeBouncyBase {
public EntityGrenadeDynamite(World world) {
super(world);
}
public EntityGrenadeDynamite(World world, EntityLivingBase living) {
super(world, living);
}
public EntityGrenadeDynamite(World world, double x, double y, double z) {
super(world, x, y, z);
}
@Override
public void explode() {
worldObj.newExplosion(this, posX, posY + 0.25D, posZ, 3F, false, false);
this.setDead();
}
@Override
protected int getMaxTimer() {
return 60;
}
@Override
protected double getBounceMod() {
return 0.5D;
}
}

View File

@ -1,48 +0,0 @@
package com.hbm.entity.grenade;
import com.hbm.items.ModItems;
import com.hbm.items.weapon.ItemGrenade;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.effect.EntityLightningBolt;
import net.minecraft.world.World;
public class EntityGrenadeElectric extends EntityGrenadeBouncyBase
{
public EntityGrenadeElectric(World p_i1773_1_)
{
super(p_i1773_1_);
}
public EntityGrenadeElectric(World p_i1774_1_, EntityLivingBase p_i1774_2_)
{
super(p_i1774_1_, p_i1774_2_);
}
public EntityGrenadeElectric(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_);
}
@Override
public void explode() {
if (!this.worldObj.isRemote)
{
this.setDead();
this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 2.0F, true);
}
this.worldObj.spawnEntityInWorld(new EntityLightningBolt(this.worldObj, this.posX, this.posY, this.posZ));
}
@Override
protected int getMaxTimer() {
return ItemGrenade.getFuseTicks(ModItems.grenade_electric);
}
@Override
protected double getBounceMod() {
return 0.25D;
}
}

View File

@ -1,52 +0,0 @@
package com.hbm.entity.grenade;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.world.World;
import com.hbm.explosion.ExplosionChaos;
import com.hbm.items.ModItems;
import com.hbm.items.weapon.ItemGrenade;
public class EntityGrenadeFire extends EntityGrenadeBouncyBase
{
public Entity shooter;
public EntityGrenadeFire(World p_i1773_1_)
{
super(p_i1773_1_);
}
public EntityGrenadeFire(World p_i1774_1_, EntityLivingBase p_i1774_2_)
{
super(p_i1774_1_, p_i1774_2_);
}
public EntityGrenadeFire(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_);
}
@Override
public void explode() {
if (!this.worldObj.isRemote)
{
this.setDead();
ExplosionChaos.frag(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 100, true, this.shooter);
ExplosionChaos.burn(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 5);
ExplosionChaos.flameDeath(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 15);
this.worldObj.playSoundEffect((int)this.posX, (int)this.posY, (int)this.posZ, "random.explode", 4.0F, (1.0F + (this.worldObj.rand.nextFloat() - this.worldObj.rand.nextFloat()) * 0.2F) * 0.7F);
}
}
@Override
protected int getMaxTimer() {
return ItemGrenade.getFuseTicks(ModItems.grenade_fire);
}
@Override
protected double getBounceMod() {
return 0.25D;
}
}

View File

@ -1,44 +0,0 @@
package com.hbm.entity.grenade;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.projectile.EntityThrowable;
import net.minecraft.util.MovingObjectPosition;
import net.minecraft.world.World;
public class EntityGrenadeFlare extends EntityThrowable
{
public Entity shooter;
public EntityGrenadeFlare(World p_i1773_1_)
{
super(p_i1773_1_);
}
public EntityGrenadeFlare(World p_i1774_1_, EntityLivingBase p_i1774_2_)
{
super(p_i1774_1_, p_i1774_2_);
}
public EntityGrenadeFlare(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_);
}
@Override
public void onUpdate() {
super.onUpdate();
if(this.ticksExisted > 250)
{
this.setDead();
}
}
@Override
protected void onImpact(MovingObjectPosition p_70184_1_)
{
this.motionX = 0;
this.motionY = 0;
this.motionZ = 0;
}
}

View File

@ -1,59 +0,0 @@
package com.hbm.entity.grenade;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.world.World;
import com.hbm.explosion.ExplosionChaos;
import com.hbm.items.ModItems;
import com.hbm.items.weapon.ItemGrenade;
public class EntityGrenadeFrag extends EntityGrenadeBouncyBase
{
public Entity shooter;
public EntityGrenadeFrag(World p_i1773_1_)
{
super(p_i1773_1_);
}
public EntityGrenadeFrag(World p_i1774_1_, EntityLivingBase p_i1774_2_)
{
super(p_i1774_1_, p_i1774_2_);
}
public EntityGrenadeFrag(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_);
}
@Override
public void explode() {
if (!this.worldObj.isRemote)
{
if(this.isBurning())
{
this.setDead();
ExplosionChaos.frag(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 100, true, this.shooter);
ExplosionChaos.burn(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 5);
ExplosionChaos.flameDeath(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 15);
this.worldObj.playSoundEffect((int)this.posX, (int)this.posY, (int)this.posZ, "random.explode", 4.0F, (1.0F + (this.worldObj.rand.nextFloat() - this.worldObj.rand.nextFloat()) * 0.2F) * 0.7F);
} else {
this.setDead();
ExplosionChaos.frag(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 100, false, this.shooter);
this.worldObj.playSoundEffect((int)this.posX, (int)this.posY, (int)this.posZ, "random.explode", 4.0F, (1.0F + (this.worldObj.rand.nextFloat() - this.worldObj.rand.nextFloat()) * 0.2F) * 0.7F);
}
}
}
@Override
protected int getMaxTimer() {
return ItemGrenade.getFuseTicks(ModItems.grenade_frag);
}
@Override
protected double getBounceMod() {
return 0.25D;
}
}

View File

@ -1,53 +0,0 @@
package com.hbm.entity.grenade;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.world.World;
import java.util.Random;
import com.hbm.entity.effect.EntityMist;
import com.hbm.inventory.fluid.Fluids;
import com.hbm.items.ModItems;
import com.hbm.items.weapon.ItemGrenade;
public class EntityGrenadeGas extends EntityGrenadeBouncyBase {
Random rand = new Random();
public EntityGrenadeGas(World p_i1773_1_) {
super(p_i1773_1_);
}
public EntityGrenadeGas(World p_i1774_1_, EntityLivingBase p_i1774_2_) {
super(p_i1774_1_, p_i1774_2_);
}
public EntityGrenadeGas(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_);
}
@Override
public void explode() {
if (!this.worldObj.isRemote) {
this.setDead();
this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 0.0F, true);
EntityMist mist = new EntityMist(worldObj);
mist.setType(Fluids.CHLORINE);
mist.setPosition(posX, posY - 5, posZ);
mist.setArea(15, 10);
worldObj.spawnEntityInWorld(mist);
}
}
@Override
protected int getMaxTimer() {
return ItemGrenade.getFuseTicks(ModItems.grenade_gas);
}
@Override
protected double getBounceMod() {
return 0.25D;
}
}

View File

@ -1,29 +0,0 @@
package com.hbm.entity.grenade;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.world.World;
public class EntityGrenadeGascan extends EntityGrenadeBase {
public EntityGrenadeGascan(World p_i1773_1_) {
super(p_i1773_1_);
}
public EntityGrenadeGascan(World p_i1774_1_, EntityLivingBase p_i1774_2_) {
super(p_i1774_1_, p_i1774_2_);
}
public EntityGrenadeGascan(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_);
}
@Override
public void explode() {
if(!this.worldObj.isRemote) {
this.setDead();
this.worldObj.newExplosion((Entity) null, (float) this.posX, (float) this.posY, (float) this.posZ, 5.0F, true, false);
}
}
}

View File

@ -1,43 +0,0 @@
package com.hbm.entity.grenade;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.world.World;
public class EntityGrenadeGeneric extends EntityGrenadeBouncyBase
{
public EntityGrenadeGeneric(World p_i1773_1_)
{
super(p_i1773_1_);
}
public EntityGrenadeGeneric(World p_i1774_1_, EntityLivingBase p_i1774_2_)
{
super(p_i1774_1_, p_i1774_2_);
}
public EntityGrenadeGeneric(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_);
}
@Override
public void explode() {
if (!this.worldObj.isRemote)
{
this.setDead();
this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 2.0F, true);
}
}
@Override
protected int getMaxTimer() {
return 100;
}
@Override
protected double getBounceMod() {
return 0.25D;
}
}

View File

@ -1,48 +0,0 @@
package com.hbm.entity.grenade;
import com.hbm.explosion.ExplosionLarge;
import com.hbm.items.ModItems;
import com.hbm.items.weapon.ItemGrenade;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.world.World;
public class EntityGrenadeIFBouncy extends EntityGrenadeBouncyBase {
public EntityGrenadeIFBouncy(World p_i1773_1_)
{
super(p_i1773_1_);
}
public EntityGrenadeIFBouncy(World p_i1774_1_, EntityLivingBase p_i1774_2_)
{
super(p_i1774_1_, p_i1774_2_);
}
public EntityGrenadeIFBouncy(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_);
}
@Override
public void explode() {
if (!this.worldObj.isRemote)
{
this.setDead();
ExplosionLarge.jolt(worldObj, posX, posY, posZ, 5, 200, 0.25);
ExplosionLarge.explode(worldObj, posX, posY, posZ, 5, true, true, true);
}
}
@Override
protected int getMaxTimer() {
return ItemGrenade.getFuseTicks(ModItems.grenade_if_bouncy);
}
@Override
protected double getBounceMod() {
return 0.75D;
}
}

View File

@ -1,96 +0,0 @@
package com.hbm.entity.grenade;
import com.hbm.entity.projectile.EntityBullet;
import com.hbm.items.ModItems;
import com.hbm.items.weapon.ItemGrenade;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.world.World;
public class EntityGrenadeIFBrimstone extends EntityGrenadeBouncyBase {
public EntityGrenadeIFBrimstone(World p_i1773_1_)
{
super(p_i1773_1_);
}
public EntityGrenadeIFBrimstone(World p_i1774_1_, EntityLivingBase p_i1774_2_)
{
super(p_i1774_1_, p_i1774_2_);
}
public EntityGrenadeIFBrimstone(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_);
}
@Override
public void onUpdate() {
super.onUpdate();
if(this.timer > (this.getMaxTimer() * 0.65)) {
if(!worldObj.isRemote) {
EntityBullet fragment;
fragment = new EntityBullet(worldObj, (EntityPlayer) this.thrower, 3.0F, 35, 45, false, "tauDay");
fragment.setDamage(rand.nextInt(301) + 100);
fragment.motionX = rand.nextGaussian();
fragment.motionY = rand.nextGaussian();
fragment.motionZ = rand.nextGaussian();
fragment.shootingEntity = this.thrower;
fragment.posX = posX;
fragment.posY = posY;
fragment.posZ = posZ;
fragment.setIsCritical(true);
worldObj.spawnEntityInWorld(fragment);
}
}
}
@Override
public void explode() {
if (!this.worldObj.isRemote)
{
this.setDead();
worldObj.newExplosion(this, posX, posY, posZ, 5, false, false);
for(int i = 0; i < 100; i++) {
EntityBullet fragment;
fragment = new EntityBullet(worldObj, (EntityPlayer) this.thrower, 3.0F, 35, 45, false, "tauDay");
fragment.setDamage(rand.nextInt(301) + 100);
fragment.motionX = rand.nextGaussian() * 0.25;
fragment.motionY = rand.nextGaussian() * 0.25;
fragment.motionZ = rand.nextGaussian() * 0.25;
fragment.shootingEntity = this.thrower;
fragment.posX = posX;
fragment.posY = posY;
fragment.posZ = posZ;
fragment.setIsCritical(true);
worldObj.spawnEntityInWorld(fragment);
}
}
}
@Override
protected int getMaxTimer() {
return ItemGrenade.getFuseTicks(ModItems.grenade_if_brimstone);
}
@Override
protected double getBounceMod() {
return 0.25D;
}
}

View File

@ -1,46 +0,0 @@
package com.hbm.entity.grenade;
import com.hbm.items.ModItems;
import com.hbm.items.weapon.ItemGrenade;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.world.World;
public class EntityGrenadeIFConcussion extends EntityGrenadeBouncyBase {
public EntityGrenadeIFConcussion(World p_i1773_1_)
{
super(p_i1773_1_);
}
public EntityGrenadeIFConcussion(World p_i1774_1_, EntityLivingBase p_i1774_2_)
{
super(p_i1774_1_, p_i1774_2_);
}
public EntityGrenadeIFConcussion(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_);
}
@Override
public void explode() {
if (!this.worldObj.isRemote)
{
this.setDead();
worldObj.newExplosion(this, posX, posY, posZ, 15, false, false);
}
}
@Override
protected int getMaxTimer() {
return ItemGrenade.getFuseTicks(ModItems.grenade_if_concussion);
}
@Override
protected double getBounceMod() {
return 0.25D;
}
}

View File

@ -1,48 +0,0 @@
package com.hbm.entity.grenade;
import com.hbm.explosion.ExplosionLarge;
import com.hbm.items.ModItems;
import com.hbm.items.weapon.ItemGrenade;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.world.World;
public class EntityGrenadeIFGeneric extends EntityGrenadeBouncyBase {
public EntityGrenadeIFGeneric(World p_i1773_1_)
{
super(p_i1773_1_);
}
public EntityGrenadeIFGeneric(World p_i1774_1_, EntityLivingBase p_i1774_2_)
{
super(p_i1774_1_, p_i1774_2_);
}
public EntityGrenadeIFGeneric(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_);
}
@Override
public void explode() {
if (!this.worldObj.isRemote)
{
this.setDead();
ExplosionLarge.jolt(worldObj, posX, posY, posZ, 5, 200, 0.25);
ExplosionLarge.explode(worldObj, posX, posY, posZ, 5, true, true, true);
}
}
@Override
protected int getMaxTimer() {
return ItemGrenade.getFuseTicks(ModItems.grenade_if_generic);
}
@Override
protected double getBounceMod() {
return 0.25D;
}
}

View File

@ -1,48 +0,0 @@
package com.hbm.entity.grenade;
import com.hbm.explosion.ExplosionLarge;
import com.hbm.items.ModItems;
import com.hbm.items.weapon.ItemGrenade;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.world.World;
public class EntityGrenadeIFHE extends EntityGrenadeBouncyBase {
public EntityGrenadeIFHE(World p_i1773_1_)
{
super(p_i1773_1_);
}
public EntityGrenadeIFHE(World p_i1774_1_, EntityLivingBase p_i1774_2_)
{
super(p_i1774_1_, p_i1774_2_);
}
public EntityGrenadeIFHE(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_);
}
@Override
public void explode() {
if (!this.worldObj.isRemote)
{
this.setDead();
ExplosionLarge.jolt(worldObj, posX, posY, posZ, 7.5, 300, 0.25);
ExplosionLarge.explode(worldObj, posX, posY, posZ, 7, true, true, true);
}
}
@Override
protected int getMaxTimer() {
return ItemGrenade.getFuseTicks(ModItems.grenade_if_he);
}
@Override
protected double getBounceMod() {
return 0.25D;
}
}

View File

@ -1,51 +0,0 @@
package com.hbm.entity.grenade;
import com.hbm.entity.effect.EntityVortex;
import com.hbm.items.ModItems;
import com.hbm.items.weapon.ItemGrenade;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.world.World;
public class EntityGrenadeIFHopwire extends EntityGrenadeBouncyBase {
public EntityGrenadeIFHopwire(World p_i1773_1_)
{
super(p_i1773_1_);
}
public EntityGrenadeIFHopwire(World p_i1774_1_, EntityLivingBase p_i1774_2_)
{
super(p_i1774_1_, p_i1774_2_);
}
public EntityGrenadeIFHopwire(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_);
}
@Override
public void explode() {
if (!this.worldObj.isRemote)
{
this.setDead();
EntityVortex vortex = new EntityVortex(worldObj, 0.75F);
vortex.posX = posX;
vortex.posY = posY;
vortex.posZ = posZ;
worldObj.spawnEntityInWorld(vortex);
}
}
@Override
protected int getMaxTimer() {
return ItemGrenade.getFuseTicks(ModItems.grenade_if_hopwire);
}
@Override
protected double getBounceMod() {
return 0.25D;
}
}

View File

@ -1,35 +0,0 @@
package com.hbm.entity.grenade;
import com.hbm.explosion.ExplosionLarge;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.world.World;
public class EntityGrenadeIFImpact extends EntityGrenadeBase {
public EntityGrenadeIFImpact(World p_i1773_1_)
{
super(p_i1773_1_);
}
public EntityGrenadeIFImpact(World p_i1774_1_, EntityLivingBase p_i1774_2_)
{
super(p_i1774_1_, p_i1774_2_);
}
public EntityGrenadeIFImpact(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_);
}
@Override
public void explode() {
if (!this.worldObj.isRemote)
{
this.setDead();
ExplosionLarge.jolt(worldObj, posX, posY, posZ, 5, 200, 0.25);
ExplosionLarge.explode(worldObj, posX, posY, posZ, 5, true, true, true);
}
}
}

View File

@ -1,53 +0,0 @@
package com.hbm.entity.grenade;
import com.hbm.explosion.ExplosionChaos;
import com.hbm.explosion.ExplosionLarge;
import com.hbm.explosion.ExplosionThermo;
import com.hbm.items.ModItems;
import com.hbm.items.weapon.ItemGrenade;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.world.World;
public class EntityGrenadeIFIncendiary extends EntityGrenadeBouncyBase {
public EntityGrenadeIFIncendiary(World p_i1773_1_)
{
super(p_i1773_1_);
}
public EntityGrenadeIFIncendiary(World p_i1774_1_, EntityLivingBase p_i1774_2_)
{
super(p_i1774_1_, p_i1774_2_);
}
public EntityGrenadeIFIncendiary(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_);
}
@Override
public void explode() {
if (!this.worldObj.isRemote)
{
this.setDead();
ExplosionLarge.jolt(worldObj, posX, posY, posZ, 5, 200, 0.25);
ExplosionLarge.explode(worldObj, posX, posY, posZ, 5, true, true, true);
ExplosionThermo.setEntitiesOnFire(worldObj, (int)posX, (int)posY, (int)posZ, 8);
ExplosionChaos.flameDeath(worldObj, (int)posX, (int)posY, (int)posZ, 15);
ExplosionChaos.burn(worldObj, (int)posX, (int)posY, (int)posZ, 10);
}
}
@Override
protected int getMaxTimer() {
return ItemGrenade.getFuseTicks(ModItems.grenade_if_incendiary);
}
@Override
protected double getBounceMod() {
return 0.25D;
}
}

View File

@ -1,49 +0,0 @@
package com.hbm.entity.grenade;
import com.hbm.explosion.ExplosionChaos;
import com.hbm.items.ModItems;
import com.hbm.items.weapon.ItemGrenade;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.world.World;
public class EntityGrenadeIFMystery extends EntityGrenadeBouncyBase {
public EntityGrenadeIFMystery(World p_i1773_1_)
{
super(p_i1773_1_);
}
public EntityGrenadeIFMystery(World p_i1774_1_, EntityLivingBase p_i1774_2_)
{
super(p_i1774_1_, p_i1774_2_);
}
public EntityGrenadeIFMystery(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_);
}
@Override
public void explode() {
if (!this.worldObj.isRemote)
{
this.setDead();
worldObj.newExplosion(this, posX, posY, posZ, 10, false, false);
ExplosionChaos.spawnVolley(worldObj, posX, posY, posZ, 100, 1.0D);
}
}
@Override
protected int getMaxTimer() {
return ItemGrenade.getFuseTicks(ModItems.grenade_if_mystery);
}
@Override
protected double getBounceMod() {
return 0.25D;
}
}

View File

@ -1,66 +0,0 @@
package com.hbm.entity.grenade;
import java.util.List;
import com.hbm.items.ModItems;
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 world) {
super(world);
}
public EntityGrenadeIFNull(World world, EntityLivingBase thrower) {
super(world, thrower);
}
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();
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() {
return ItemGrenade.getFuseTicks(ModItems.grenade_if_null);
}
@Override
protected double getBounceMod() {
return 0.25D;
}
}

View File

@ -1,51 +0,0 @@
package com.hbm.entity.grenade;
import com.hbm.entity.effect.EntityRagingVortex;
import com.hbm.items.ModItems;
import com.hbm.items.weapon.ItemGrenade;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.world.World;
public class EntityGrenadeIFSpark extends EntityGrenadeBouncyBase {
public EntityGrenadeIFSpark(World p_i1773_1_)
{
super(p_i1773_1_);
}
public EntityGrenadeIFSpark(World p_i1774_1_, EntityLivingBase p_i1774_2_)
{
super(p_i1774_1_, p_i1774_2_);
}
public EntityGrenadeIFSpark(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_);
}
@Override
public void explode() {
if (!this.worldObj.isRemote)
{
this.setDead();
EntityRagingVortex vortex = new EntityRagingVortex(worldObj, 1.5F);
vortex.posX = posX;
vortex.posY = posY;
vortex.posZ = posZ;
worldObj.spawnEntityInWorld(vortex);
}
}
@Override
protected int getMaxTimer() {
return ItemGrenade.getFuseTicks(ModItems.grenade_if_spark);
}
@Override
protected double getBounceMod() {
return 0.25D;
}
}

View File

@ -1,48 +0,0 @@
package com.hbm.entity.grenade;
import com.hbm.explosion.ExplosionLarge;
import com.hbm.items.ModItems;
import com.hbm.items.weapon.ItemGrenade;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.world.World;
public class EntityGrenadeIFSticky extends EntityGrenadeBouncyBase {
public EntityGrenadeIFSticky(World p_i1773_1_)
{
super(p_i1773_1_);
}
public EntityGrenadeIFSticky(World p_i1774_1_, EntityLivingBase p_i1774_2_)
{
super(p_i1774_1_, p_i1774_2_);
}
public EntityGrenadeIFSticky(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_);
}
@Override
public void explode() {
if (!this.worldObj.isRemote)
{
this.setDead();
ExplosionLarge.jolt(worldObj, posX, posY, posZ, 5, 200, 0.25);
ExplosionLarge.explode(worldObj, posX, posY, posZ, 5, true, true, true);
}
}
@Override
protected int getMaxTimer() {
return ItemGrenade.getFuseTicks(ModItems.grenade_if_sticky);
}
@Override
protected double getBounceMod() {
return 0.05D;
}
}

View File

@ -1,52 +0,0 @@
package com.hbm.entity.grenade;
import com.hbm.explosion.ExplosionChaos;
import com.hbm.explosion.ExplosionLarge;
import com.hbm.explosion.ExplosionNukeGeneric;
import com.hbm.items.ModItems;
import com.hbm.items.weapon.ItemGrenade;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.world.World;
public class EntityGrenadeIFToxic extends EntityGrenadeBouncyBase {
public EntityGrenadeIFToxic(World p_i1773_1_)
{
super(p_i1773_1_);
}
public EntityGrenadeIFToxic(World p_i1774_1_, EntityLivingBase p_i1774_2_)
{
super(p_i1774_1_, p_i1774_2_);
}
public EntityGrenadeIFToxic(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_);
}
@Override
public void explode() {
if (!this.worldObj.isRemote)
{
this.setDead();
ExplosionLarge.jolt(worldObj, posX, posY, posZ, 3, 200, 0.25);
ExplosionLarge.explode(worldObj, posX, posY, posZ, 2, true, true, true);
ExplosionChaos.poison(worldObj, (int)posX, (int)posY, (int)posZ, 12);
ExplosionNukeGeneric.waste(worldObj, (int)posX, (int)posY, (int)posZ, 12);
}
}
@Override
protected int getMaxTimer() {
return ItemGrenade.getFuseTicks(ModItems.grenade_if_toxic);
}
@Override
protected double getBounceMod() {
return 0.25D;
}
}

View File

@ -30,7 +30,7 @@ public class EntityGrenadeImpactGeneric extends EntityGrenadeBase implements IGe
@Override
public ItemGenericGrenade getGrenade() {
ItemGenericGrenade gren = (ItemGenericGrenade) Item.getItemById(this.dataWatcher.getWatchableObjectInt(12));
return gren != null ? gren : (ItemGenericGrenade) ModItems.grenade_kyiv;
return gren != null ? gren : (ItemGenericGrenade) ModItems.stick_dynamite;
}
@Override

View File

@ -1,46 +0,0 @@
package com.hbm.entity.grenade;
import com.hbm.items.ModItems;
import com.hbm.items.weapon.ItemGrenade;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.world.World;
public class EntityGrenadeLemon extends EntityGrenadeBouncyBase
{
public EntityGrenadeLemon(World p_i1773_1_)
{
super(p_i1773_1_);
}
public EntityGrenadeLemon(World p_i1774_1_, EntityLivingBase p_i1774_2_)
{
super(p_i1774_1_, p_i1774_2_);
}
public EntityGrenadeLemon(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_);
}
@Override
public void explode() {
if (!this.worldObj.isRemote)
{
this.setDead();
this.worldObj.newExplosion((Entity)null, (float)this.posX, (float)this.posY, (float)this.posZ, 5.0F, true, true);
}
}
@Override
protected int getMaxTimer() {
return ItemGrenade.getFuseTicks(ModItems.grenade_lemon);
}
@Override
protected double getBounceMod() {
return 0.25D;
}
}

View File

@ -1,58 +0,0 @@
package com.hbm.entity.grenade;
import com.hbm.items.ModItems;
import com.hbm.items.weapon.ItemGrenade;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.world.World;
public class EntityGrenadeMIRV extends EntityGrenadeBouncyBase {
public EntityGrenadeMIRV(World p_i1773_1_)
{
super(p_i1773_1_);
}
public EntityGrenadeMIRV(World p_i1774_1_, EntityLivingBase p_i1774_2_)
{
super(p_i1774_1_, p_i1774_2_);
}
public EntityGrenadeMIRV(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_);
}
@Override
public void explode() {
if (!this.worldObj.isRemote)
{
this.setDead();
for(int i = 0; i < 8; i++) {
EntityGrenadeSmart grenade = new EntityGrenadeSmart(worldObj);
grenade.posX = posX;
grenade.posY = posY;
grenade.posZ = posZ;
grenade.motionX = motionX + rand.nextGaussian() * 0.25D;
grenade.motionY = motionY + rand.nextGaussian() * 0.25D;
grenade.motionZ = motionZ + rand.nextGaussian() * 0.25D;
grenade.ticksExisted = 10;
worldObj.spawnEntityInWorld(grenade);
}
}
}
@Override
protected int getMaxTimer() {
return ItemGrenade.getFuseTicks(ModItems.grenade_mirv);
}
@Override
protected double getBounceMod() {
return 0.25D;
}
}

View File

@ -1,43 +0,0 @@
package com.hbm.entity.grenade;
import com.hbm.explosion.ExplosionLarge;
import com.hbm.items.ModItems;
import com.hbm.items.weapon.ItemGrenade;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.world.World;
public class EntityGrenadeMk2 extends EntityGrenadeBouncyBase {
public EntityGrenadeMk2(World p_i1773_1_) {
super(p_i1773_1_);
}
public EntityGrenadeMk2(World p_i1774_1_, EntityLivingBase p_i1774_2_) {
super(p_i1774_1_, p_i1774_2_);
}
public EntityGrenadeMk2(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_);
}
@Override
public void explode() {
if(!this.worldObj.isRemote) {
this.setDead();
ExplosionLarge.explode(worldObj, posX, posY, posZ, 7.5F, true, false, false);
}
}
@Override
protected int getMaxTimer() {
return ItemGrenade.getFuseTicks(ModItems.grenade_mk2);
}
@Override
protected double getBounceMod() {
return 0.25D;
}
}

View File

@ -1,43 +0,0 @@
package com.hbm.entity.grenade;
import com.hbm.explosion.ExplosionNukeSmall;
import com.hbm.items.ModItems;
import com.hbm.items.weapon.ItemGrenade;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.world.World;
public class EntityGrenadeNuclear extends EntityGrenadeBouncyBase {
public EntityGrenadeNuclear(World p_i1773_1_) {
super(p_i1773_1_);
}
public EntityGrenadeNuclear(World p_i1774_1_, EntityLivingBase p_i1774_2_) {
super(p_i1774_1_, p_i1774_2_);
}
public EntityGrenadeNuclear(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_);
}
@Override
public void explode() {
if(!this.worldObj.isRemote) {
this.setDead();
ExplosionNukeSmall.explode(worldObj, posX, posY + 0.5, posZ, ExplosionNukeSmall.PARAMS_TOTS);
}
}
@Override
protected int getMaxTimer() {
return ItemGrenade.getFuseTicks(ModItems.grenade_nuclear);
}
@Override
protected double getBounceMod() {
return 0.25D;
}
}

View File

@ -1,30 +0,0 @@
package com.hbm.entity.grenade;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.world.World;
public class EntityGrenadeNuke extends EntityGrenadeBase {
public int count = 2;
public EntityGrenadeNuke(World p_i1773_1_) {
super(p_i1773_1_);
}
public EntityGrenadeNuke(World p_i1774_1_, EntityLivingBase p_i1774_2_) {
super(p_i1774_1_, p_i1774_2_);
}
public EntityGrenadeNuke(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_);
}
@Override
public void explode() {
if(!this.worldObj.isRemote) {
// this.setDead();
this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 30F, true);
}
}
}

View File

@ -1,32 +0,0 @@
package com.hbm.entity.grenade;
import com.hbm.explosion.ExplosionChaos;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.world.World;
public class EntityGrenadePC extends EntityGrenadeBase {
public EntityGrenadePC(World p_i1773_1_) {
super(p_i1773_1_);
}
public EntityGrenadePC(World p_i1774_1_, EntityLivingBase p_i1774_2_) {
super(p_i1774_1_, p_i1774_2_);
}
public EntityGrenadePC(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_);
}
@Override
public void explode() {
if (!this.worldObj.isRemote) {
this.setDead();
this.worldObj.playAuxSFX(2002, (int)Math.round(this.posX), (int)Math.round(this.posY), (int)Math.round(this.posZ), 0);
ExplosionChaos.spawnPoisonCloud(worldObj, posX, posY, posZ, 500, 2, 2);
}
}
}

View File

@ -1,43 +0,0 @@
package com.hbm.entity.grenade;
import com.hbm.explosion.ExplosionChaos;
import com.hbm.items.ModItems;
import com.hbm.items.weapon.ItemGrenade;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.world.World;
public class EntityGrenadePlasma extends EntityGrenadeBouncyBase {
public EntityGrenadePlasma(World p_i1773_1_) {
super(p_i1773_1_);
}
public EntityGrenadePlasma(World p_i1774_1_, EntityLivingBase p_i1774_2_) {
super(p_i1774_1_, p_i1774_2_);
}
public EntityGrenadePlasma(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_);
}
@Override
public void explode() {
if(!this.worldObj.isRemote) {
this.setDead();
this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 2.0F, true);
ExplosionChaos.plasma(this.worldObj, (int) this.posX, (int) this.posY, (int) this.posZ, 7);
}
}
@Override
protected int getMaxTimer() {
return ItemGrenade.getFuseTicks(ModItems.grenade_plasma);
}
@Override
protected double getBounceMod() {
return 0.25D;
}
}

View File

@ -1,44 +0,0 @@
package com.hbm.entity.grenade;
import com.hbm.explosion.ExplosionNukeGeneric;
import com.hbm.items.ModItems;
import com.hbm.items.weapon.ItemGrenade;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.world.World;
public class EntityGrenadePoison extends EntityGrenadeBouncyBase {
public EntityGrenadePoison(World p_i1773_1_) {
super(p_i1773_1_);
}
public EntityGrenadePoison(World p_i1774_1_, EntityLivingBase p_i1774_2_) {
super(p_i1774_1_, p_i1774_2_);
}
public EntityGrenadePoison(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_);
}
@Override
public void explode() {
if(!this.worldObj.isRemote) {
this.setDead();
this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 2.0F, true);
ExplosionNukeGeneric.wasteNoSchrab(this.worldObj, (int) this.posX, (int) this.posY, (int) this.posZ, 10);
}
}
@Override
protected int getMaxTimer() {
return ItemGrenade.getFuseTicks(ModItems.grenade_poison);
}
@Override
protected double getBounceMod() {
return 0.25D;
}
}

View File

@ -1,48 +0,0 @@
package com.hbm.entity.grenade;
import com.hbm.explosion.ExplosionChaos;
import com.hbm.explosion.ExplosionLarge;
import com.hbm.items.ModItems;
import com.hbm.items.weapon.ItemGrenade;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.world.World;
public class EntityGrenadePulse extends EntityGrenadeBouncyBase {
public EntityGrenadePulse(World p_i1773_1_) {
super(p_i1773_1_);
}
public EntityGrenadePulse(World p_i1774_1_, EntityLivingBase p_i1774_2_)
{
super(p_i1774_1_, p_i1774_2_);
}
public EntityGrenadePulse(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_);
}
@Override
public void explode() {
if (!this.worldObj.isRemote) {
this.setDead();
ExplosionChaos.pulse(this.worldObj, (int) this.posX, (int) this.posY, (int) this.posZ, 7);
this.worldObj.playSoundEffect((int)this.posX, (int)this.posY, (int)this.posZ, "random.explode", 4.0F, (1.0F + (this.worldObj.rand.nextFloat() - this.worldObj.rand.nextFloat()) * 0.2F) * 0.7F);
ExplosionLarge.spawnShock(worldObj, posX, posY, posZ, 24, 2);
}
}
@Override
protected int getMaxTimer() {
return ItemGrenade.getFuseTicks(ModItems.grenade_pulse);
}
@Override
protected double getBounceMod() {
return 0.25D;
}
}

View File

@ -1,44 +0,0 @@
package com.hbm.entity.grenade;
import com.hbm.explosion.ExplosionChaos;
import com.hbm.items.ModItems;
import com.hbm.items.weapon.ItemGrenade;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.world.World;
public class EntityGrenadeSchrabidium extends EntityGrenadeBouncyBase {
public EntityGrenadeSchrabidium(World p_i1773_1_) {
super(p_i1773_1_);
}
public EntityGrenadeSchrabidium(World p_i1774_1_, EntityLivingBase p_i1774_2_) {
super(p_i1774_1_, p_i1774_2_);
}
public EntityGrenadeSchrabidium(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_);
}
@Override
public void explode() {
if(!this.worldObj.isRemote) {
this.setDead();
ExplosionChaos.schrab(this.worldObj, (int) this.posX, (int) this.posY, (int) this.posZ, 50, 50);
this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 1.5F, true);
}
}
@Override
protected int getMaxTimer() {
return ItemGrenade.getFuseTicks(ModItems.grenade_schrabidium);
}
@Override
protected double getBounceMod() {
return 0.25D;
}
}

View File

@ -1,47 +0,0 @@
package com.hbm.entity.grenade;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.world.World;
import com.hbm.explosion.ExplosionLarge;
import com.hbm.items.ModItems;
import com.hbm.items.weapon.ItemGrenade;
public class EntityGrenadeShrapnel extends EntityGrenadeBouncyBase {
public Entity shooter;
public EntityGrenadeShrapnel(World p_i1773_1_) {
super(p_i1773_1_);
}
public EntityGrenadeShrapnel(World p_i1774_1_, EntityLivingBase p_i1774_2_) {
super(p_i1774_1_, p_i1774_2_);
}
public EntityGrenadeShrapnel(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_);
}
@Override
public void explode() {
if(!this.worldObj.isRemote) {
this.setDead();
this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 2.0F, true);
for(int i = 0; i < 5; i++) {
ExplosionLarge.spawnShrapnels(worldObj, this.posX, this.posY, this.posZ, 5);
}
}
}
@Override
protected int getMaxTimer() {
return ItemGrenade.getFuseTicks(ModItems.grenade_shrapnel);
}
@Override
protected double getBounceMod() {
return 0.25D;
}
}

View File

@ -1,41 +0,0 @@
package com.hbm.entity.grenade;
import com.hbm.explosion.ExplosionLarge;
import com.hbm.items.ModItems;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.item.EntityItem;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
public class EntityGrenadeSmart extends EntityGrenadeBase {
public EntityGrenadeSmart(World p_i1773_1_)
{
super(p_i1773_1_);
}
public EntityGrenadeSmart(World p_i1774_1_, EntityLivingBase p_i1774_2_)
{
super(p_i1774_1_, p_i1774_2_);
}
public EntityGrenadeSmart(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_);
}
@Override
public void explode() {
if (!this.worldObj.isRemote)
{
this.setDead();
if(this.ticksExisted > 10)
ExplosionLarge.explode(worldObj, posX, posY, posZ, 5.0F, true, false, false);
else
worldObj.spawnEntityInWorld(new EntityItem(worldObj, posX, posY, posZ, new ItemStack(ModItems.grenade_smart)));
}
}
}

View File

@ -1,42 +0,0 @@
package com.hbm.entity.grenade;
import com.hbm.explosion.ExplosionLarge;
import com.hbm.items.ModItems;
import com.hbm.items.weapon.ItemGrenade;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.world.World;
public class EntityGrenadeStrong extends EntityGrenadeBouncyBase {
public EntityGrenadeStrong(World p_i1773_1_) {
super(p_i1773_1_);
}
public EntityGrenadeStrong(World p_i1774_1_, EntityLivingBase p_i1774_2_) {
super(p_i1774_1_, p_i1774_2_);
}
public EntityGrenadeStrong(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_);
}
@Override
public void explode() {
if(!this.worldObj.isRemote) {
this.setDead();
ExplosionLarge.explode(worldObj, posX, posY, posZ, 5.0F, true, false, false);
}
}
@Override
protected int getMaxTimer() {
return ItemGrenade.getFuseTicks(ModItems.grenade_strong);
}
@Override
protected double getBounceMod() {
return 0.25D;
}
}

View File

@ -1,43 +0,0 @@
package com.hbm.entity.grenade;
import com.hbm.explosion.ExplosionChaos;
import com.hbm.items.ModItems;
import com.hbm.items.weapon.ItemGrenade;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.world.World;
public class EntityGrenadeTau extends EntityGrenadeBouncyBase {
public EntityGrenadeTau(World p_i1773_1_) {
super(p_i1773_1_);
}
public EntityGrenadeTau(World p_i1774_1_, EntityLivingBase p_i1774_2_) {
super(p_i1774_1_, p_i1774_2_);
}
public EntityGrenadeTau(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_);
}
@Override
public void explode() {
if(!this.worldObj.isRemote) {
this.setDead();
this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 2.0F, true);
ExplosionChaos.tauMeSinPi(this.worldObj, this.posX, this.posY, this.posZ, 100, this.getThrower(), this);
}
}
@Override
protected int getMaxTimer() {
return ItemGrenade.getFuseTicks(ModItems.grenade_tau);
}
@Override
protected double getBounceMod() {
return 0.25D;
}
}

View File

@ -1,62 +0,0 @@
package com.hbm.entity.grenade;
import com.hbm.config.BombConfig;
import com.hbm.entity.effect.EntityCloudFleijaRainbow;
import com.hbm.entity.logic.EntityNukeExplosionMK3;
import com.hbm.items.ModItems;
import com.hbm.items.weapon.ItemGrenade;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.world.World;
public class EntityGrenadeZOMG extends EntityGrenadeBouncyBase {
public EntityGrenadeZOMG(World p_i1773_1_) {
super(p_i1773_1_);
}
public EntityGrenadeZOMG(World p_i1774_1_, EntityLivingBase p_i1774_2_) {
super(p_i1774_1_, p_i1774_2_);
}
public EntityGrenadeZOMG(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_);
}
@Override
public void explode() {
if(!this.worldObj.isRemote) {
this.setDead();
EntityNukeExplosionMK3 ex = new EntityNukeExplosionMK3(worldObj);
ex.posX = posX;
ex.posY = posY;
ex.posZ = posZ;
ex.destructionRange = 50;
ex.speed = BombConfig.blastSpeed;
ex.coefficient = 1.0F;
ex.waste = false;
worldObj.spawnEntityInWorld(ex);
worldObj.playSoundEffect(this.posX, this.posY, this.posZ, "random.explode", 100000.0F, 1.0F);
EntityCloudFleijaRainbow cloud = new EntityCloudFleijaRainbow(worldObj, 50);
cloud.posX = posX;
cloud.posY = posY;
cloud.posZ = posZ;
worldObj.spawnEntityInWorld(cloud);
}
}
@Override
protected int getMaxTimer() {
return ItemGrenade.getFuseTicks(ModItems.grenade_tau);
}
@Override
protected double getBounceMod() {
return 0.25D;
}
}

View File

@ -116,7 +116,7 @@ public abstract class EntityMissileTier0 extends EntityMissileBaseNT {
bl.posZ = this.posZ;
this.worldObj.spawnEntityInWorld(bl);
}
@Override public ItemStack getDebrisRareDrop() { return new ItemStack(ModItems.grenade_black_hole, 1); }
@Override public ItemStack getDebrisRareDrop() { return new ItemStack(ModItems.black_hole, 1); }
@Override public ItemStack getMissileItemForInfo() { return new ItemStack(ModItems.missile_bhole); }
}

View File

@ -1,6 +1,10 @@
package com.hbm.entity.mob;
import com.hbm.entity.grenade.EntityGrenadeStrong;
import com.hbm.entity.grenade.EntityGrenadeUniversal;
import com.hbm.items.weapon.grenade.ItemGrenadeUniversal;
import com.hbm.items.weapon.grenade.ItemGrenadeFilling.EnumGrenadeFilling;
import com.hbm.items.weapon.grenade.ItemGrenadeFuze.EnumGrenadeFuze;
import com.hbm.items.weapon.grenade.ItemGrenadeShell.EnumGrenadeShell;
import net.minecraft.entity.SharedMonsterAttributes;
import net.minecraft.util.Vec3;
@ -29,7 +33,8 @@ public class EntityFBIDrone extends EntityUFOBase {
Vec3 vec = Vec3.createVectorHelper(posX - target.posX, posY - target.posY, posZ - target.posZ);
if(Math.abs(vec.xCoord) < 5 && Math.abs(vec.zCoord) < 5 && vec.yCoord > 3) {
attackCooldown = 60;
EntityGrenadeStrong grenade = new EntityGrenadeStrong(worldObj);
EntityGrenadeUniversal grenade = new EntityGrenadeUniversal(worldObj, ItemGrenadeUniversal.make(EnumGrenadeShell.FRAG, EnumGrenadeFilling.HE, EnumGrenadeFuze.S7));
grenade.setThrower(this);
grenade.setPosition(posX, posY, posZ);
worldObj.spawnEntityInWorld(grenade);
}

View File

@ -3,7 +3,6 @@ package com.hbm.entity.projectile;
import java.util.List;
import com.hbm.entity.effect.EntityCloudFleijaRainbow;
import com.hbm.entity.grenade.EntityGrenadeZOMG;
import com.hbm.entity.logic.EntityNukeExplosionMK3;
import cpw.mods.fml.relauncher.Side;
@ -21,7 +20,7 @@ import net.minecraft.util.MovingObjectPosition;
import net.minecraft.util.Vec3;
import net.minecraft.world.World;
public class EntityExplosiveBeam extends Entity implements IProjectile
public class EntityB92Beam extends Entity implements IProjectile
{
private int field_145791_d = -1;
private int field_145792_e = -1;
@ -39,14 +38,14 @@ public class EntityExplosiveBeam extends Entity implements IProjectile
private int ticksInGround;
private int ticksInAir;
private double damage = 2.0D;
public EntityExplosiveBeam(World p_i1753_1_)
public EntityB92Beam(World p_i1753_1_)
{
super(p_i1753_1_);
this.renderDistanceWeight = 10.0D;
this.setSize(0.5F, 0.5F);
}
public EntityExplosiveBeam(World p_i1754_1_, double p_i1754_2_, double p_i1754_4_, double p_i1754_6_)
public EntityB92Beam(World p_i1754_1_, double p_i1754_2_, double p_i1754_4_, double p_i1754_6_)
{
super(p_i1754_1_);
this.renderDistanceWeight = 10.0D;
@ -55,7 +54,7 @@ public class EntityExplosiveBeam extends Entity implements IProjectile
this.yOffset = 0.0F;
}
public EntityExplosiveBeam(World p_i1755_1_, EntityLivingBase p_i1755_2_, EntityLivingBase p_i1755_3_, float p_i1755_4_, float p_i1755_5_)
public EntityB92Beam(World p_i1755_1_, EntityLivingBase p_i1755_2_, EntityLivingBase p_i1755_3_, float p_i1755_4_, float p_i1755_5_)
{
super(p_i1755_1_);
this.renderDistanceWeight = 10.0D;
@ -84,29 +83,8 @@ public class EntityExplosiveBeam extends Entity implements IProjectile
this.setThrowableHeading(d0, d1 + f4, d2, p_i1755_4_, p_i1755_5_);
}
}
public EntityExplosiveBeam(World p_i1756_1_, EntityLivingBase p_i1756_2_, float p_i1756_3_, int dmgMin, int dmgMax, EntityGrenadeZOMG grenade) {
super(p_i1756_1_);
this.renderDistanceWeight = 10.0D;
this.shootingEntity = p_i1756_2_;
this.setSize(0.5F, 0.5F);
this.setLocationAndAngles(grenade.posX, grenade.posY + grenade.getEyeHeight(), grenade.posZ,
grenade.rotationYaw, grenade.rotationPitch);
this.posX -= MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * 0.16F;
this.posY -= 0.10000000149011612D;
this.posZ -= MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * 0.16F;
this.setPosition(this.posX, this.posY, this.posZ);
this.yOffset = 0.0F;
this.motionX = -MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI)
* MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI);
this.motionZ = MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI)
* MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI);
this.motionY = (-MathHelper.sin(this.rotationPitch / 180.0F * (float) Math.PI));
this.setThrowableHeading(this.motionX, this.motionY, this.motionZ, p_i1756_3_ * 1.5F, 1.0F);
}
public EntityExplosiveBeam(World p_i1756_1_, EntityLivingBase p_i1756_2_, float p_i1756_3_)
public EntityB92Beam(World p_i1756_1_, EntityLivingBase p_i1756_2_, float p_i1756_3_)
{
super(p_i1756_1_);
this.renderDistanceWeight = 10.0D;
@ -125,7 +103,7 @@ public class EntityExplosiveBeam extends Entity implements IProjectile
this.setThrowableHeading(this.motionX, this.motionY, this.motionZ, p_i1756_3_ * 1.5F, 1.0F);
}
public EntityExplosiveBeam(World world, int x, int y, int z, double mx, double my, double mz, double grav) {
public EntityB92Beam(World world, int x, int y, int z, double mx, double my, double mz, double grav) {
super(world);
this.posX = x + 0.5F;
this.posY = y + 0.5F;

View File

@ -30,7 +30,6 @@ import net.minecraft.util.Vec3;
import net.minecraft.world.World;
import com.hbm.blocks.bomb.BlockDetonatable;
import com.hbm.entity.grenade.EntityGrenadeTau;
import com.hbm.entity.mob.EntityCreeperNuclear;
import com.hbm.items.ModItems;
import com.hbm.lib.ModDamageSource;
@ -40,6 +39,7 @@ import cpw.mods.fml.relauncher.ReflectionHelper;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@Deprecated // ancient ass fucking bullet entity from pre ItemGunBase days
public class EntityBullet extends Entity implements IProjectile {
private int tileX = -1;
private int tileY = -1;
@ -190,31 +190,6 @@ public class EntityBullet extends Entity implements IProjectile {
this.setChopper(isTau == "chopper");
this.setIsCritical(isTau != "chopper");
}
//why the living shit did i make isTau a string? who knows, who cares.
public EntityBullet(World p_i1756_1_, EntityLivingBase p_i1756_2_, float p_i1756_3_, int dmgMin, int dmgMax,
boolean instakill, String isTau, EntityGrenadeTau grenade) {
super(p_i1756_1_);
this.renderDistanceWeight = 10.0D;
this.shootingEntity = p_i1756_2_;
this.setSize(0.5F, 0.5F);
this.setLocationAndAngles(grenade.posX, grenade.posY + grenade.getEyeHeight(), grenade.posZ,
grenade.rotationYaw, grenade.rotationPitch);
this.posX -= MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * 0.16F;
this.posY -= 0.10000000149011612D;
this.posZ -= MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * 0.16F;
this.setPosition(this.posX, this.posY, this.posZ);
this.yOffset = 0.0F;
this.motionX = -MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI)
* MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI);
this.motionZ = MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI)
* MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI);
this.motionY = (-MathHelper.sin(this.rotationPitch / 180.0F * (float) Math.PI));
this.setThrowableHeading(this.motionX, this.motionY, this.motionZ, p_i1756_3_ * 1.5F, 1.0F);
this.setTau(isTau == "tauDay");
this.setIsCritical(true);
}
public EntityBullet(World world, int x, int y, int z, double mx, double my, double mz, double grav) {
super(world);

View File

@ -4,13 +4,11 @@ import java.util.List;
import java.util.Random;
import com.hbm.blocks.ModBlocks;
import com.hbm.entity.grenade.EntityGrenadeTau;
import com.hbm.entity.item.EntityFallingBlockNT;
import com.hbm.entity.particle.EntityCloudFX;
import com.hbm.entity.particle.EntityModFX;
import com.hbm.entity.particle.EntityOrangeFX;
import com.hbm.entity.particle.EntityPinkCloudFX;
import com.hbm.entity.projectile.EntityBullet;
import com.hbm.entity.projectile.EntityRocket;
import com.hbm.entity.projectile.EntityRubble;
import com.hbm.entity.projectile.EntitySchrab;
@ -26,7 +24,6 @@ import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLiving;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.passive.EntitySheep;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.projectile.EntityArrow;
import net.minecraft.init.Blocks;
import net.minecraft.potion.Potion;
@ -526,51 +523,6 @@ public class ExplosionChaos { //TODO: destroy this entire class
}
}
public static void tauMeSinPi(World world, double x, double y, double z, int count, Entity shooter,
EntityGrenadeTau tau) {
double d1 = 0;
double d2 = 0;
double d3 = 0;
EntityBullet fragment;
if (shooter != null && shooter instanceof EntityPlayer)
for (int i = 0; i < count; i++) {
d1 = rand.nextDouble();
d2 = rand.nextDouble();
d3 = rand.nextDouble();
if (rand.nextInt(2) == 0) {
d1 *= -1;
}
if (rand.nextInt(2) == 0) {
d2 *= -1;
}
if (rand.nextInt(2) == 0) {
d3 *= -1;
}
if (rand.nextInt(5) == 0) {
fragment = new EntityBullet(world, (EntityPlayer) shooter, 3.0F, 35, 45, false, "tauDay", tau);
fragment.setDamage(rand.nextInt(301) + 100);
} else {
fragment = new EntityBullet(world, (EntityPlayer) shooter, 3.0F, 35, 45, false, "eyyOk", tau);
fragment.setDamage(rand.nextInt(11) + 35);
}
fragment.motionX = d1 * 5;
fragment.motionY = d2 * 5;
fragment.motionZ = d3 * 5;
fragment.shootingEntity = shooter;
fragment.setIsCritical(true);
world.spawnEntityInWorld(fragment);
}
}
public static void levelDown(World world, int x, int y, int z, int radius) {
if(!world.isRemote)

View File

@ -20,10 +20,8 @@ import net.minecraftforge.common.util.ForgeDirection;
import com.hbm.blocks.ModBlocks;
import com.hbm.config.VersatileConfig;
import com.hbm.entity.grenade.EntityGrenadeASchrab;
import com.hbm.entity.grenade.EntityGrenadeNuclear;
import com.hbm.entity.projectile.EntityBulletBaseNT;
import com.hbm.entity.projectile.EntityExplosiveBeam;
import com.hbm.entity.projectile.EntityB92Beam;
import com.hbm.interfaces.Spaghetti;
import com.hbm.items.ModItems;
import com.hbm.lib.Library;
@ -102,9 +100,7 @@ public class ExplosionNukeGeneric {
private static boolean isExplosionExempt(Entity e) {
if (e instanceof EntityOcelot ||
e instanceof EntityGrenadeASchrab ||
e instanceof EntityGrenadeNuclear ||
e instanceof EntityExplosiveBeam ||
e instanceof EntityB92Beam ||
e instanceof EntityBulletBaseNT ||
e instanceof EntityPlayer &&
ArmorUtil.checkArmor((EntityPlayer) e, ModItems.euphemium_helmet, ModItems.euphemium_plate, ModItems.euphemium_legs, ModItems.euphemium_boots)) {

View File

@ -78,7 +78,6 @@ public class BobmazonOfferFactory {
special.add(new Offer(new ItemStack(ModItems.boy_kit), Requirement.STEEL, 5));
special.add(new Offer(new ItemStack(ModItems.prototype_kit), Requirement.STEEL, 10));
special.add(new Offer(new ItemStack(ModItems.missile_kit), Requirement.STEEL, 5));
special.add(new Offer(new ItemStack(ModItems.grenade_kit), Requirement.STEEL, 5));
special.add(new Offer(new ItemStack(ModItems.jetpack_vector), Requirement.STEEL, 2));
special.add(new Offer(new ItemStack(ModItems.jetpack_tank), Requirement.STEEL, 2));
special.add(new Offer(new ItemStack(ModItems.gun_kit_1, 1), Requirement.STEEL, 1));

View File

@ -40,14 +40,9 @@ public class DispenserBehaviorHandler {
}
});
BlockDispenser.dispenseBehaviorRegistry.putObject(ModItems.nuclear_waste_pearl, new BehaviorProjectileDispense() {
protected IProjectile getProjectileEntity(World world, IPosition position) {
return new EntityWastePearl(world, position.getX(), position.getY(), position.getZ());
}
});
BlockDispenser.dispenseBehaviorRegistry.putObject(ModItems.stick_dynamite, new BehaviorProjectileDispense() {
protected IProjectile getProjectileEntity(World world, IPosition position) {
return new EntityGrenadeDynamite(world, position.getX(), position.getY(), position.getZ());
return new EntityGrenadeImpactGeneric(world, position.getX(), position.getY(), position.getZ()).setType((ItemGenericGrenade) ModItems.stick_dynamite);
}
});
BlockDispenser.dispenseBehaviorRegistry.putObject(ModItems.stick_dynamite_fishing, new BehaviorProjectileDispense() {

View File

@ -684,32 +684,6 @@ public class AssemblyMachineRecipes extends GenericRecipes<GenericRecipe> {
this.register(new GenericRecipe("ass.soliniumcharge").setup(300, 100).outputItems(new ItemStack(ModItems.solinium_propellant, 1))
.inputItems(new OreDictStack(ANY_HIGHEXPLOSIVE.ingot(), 3), new OreDictStack(OreDictManager.getReflector(), 2), new ComparableStack(ModItems.plate_polymer, 6), new OreDictStack(W.wireFine(), 6), new ComparableStack(ModItems.biomass_compressed, 4)));
// grenades
this.register(new GenericRecipe("ass.incgrenade").setup(100, 100).outputItems(new ItemStack(ModItems.grenade_fire, 1))
.inputItems(new ComparableStack(ModItems.grenade_frag, 1), new OreDictStack(P_RED.dust(), 1), new OreDictStack(CU.plate(), 2)));
this.register(new GenericRecipe("ass.shrapgrenade").setup(100, 100).outputItems(new ItemStack(ModItems.grenade_shrapnel, 1))
.inputItems(new ComparableStack(ModItems.grenade_frag, 1), new ComparableStack(ModItems.pellet_buckshot, 1), new OreDictStack(STEEL.plate(), 2)));
this.register(new GenericRecipe("ass.clustergrenade").setup(100, 100).outputItems(new ItemStack(ModItems.grenade_cluster, 1))
.inputItems(new ComparableStack(ModItems.grenade_frag, 1), new ComparableStack(ModItems.pellet_cluster, 1), new OreDictStack(STEEL.plate(), 2)));
this.register(new GenericRecipe("ass.signalflare").setup(100, 100).outputItems(new ItemStack(ModItems.grenade_flare, 1))
.inputItems(new ComparableStack(ModItems.grenade_generic, 1), new ComparableStack(Items.glowstone_dust, 1), new OreDictStack(AL.plate(), 2)));
this.register(new GenericRecipe("ass.electricgrenade").setup(100, 100).outputItems(new ItemStack(ModItems.grenade_electric, 1))
.inputItems(new ComparableStack(ModItems.grenade_generic, 1), new ComparableStack(ModItems.circuit, 3, EnumCircuitType.CAPACITOR.ordinal()), new OreDictStack(GOLD.plate(), 2)));
this.register(new GenericRecipe("ass.pulsegrenade").setup(100, 100).outputItems(new ItemStack(ModItems.grenade_pulse, 4))
.inputItems(new OreDictStack(STEEL.plate(), 1), new OreDictStack(IRON.plate(), 3), new OreDictStack(MINGRADE.wireFine(), 6), new ComparableStack(Items.diamond, 1)));
this.register(new GenericRecipe("ass.plasmagrenade").setup(200, 100).outputItems(new ItemStack(ModItems.grenade_plasma, 2))
.inputItems(new OreDictStack(STEEL.plate(), 3), new OreDictStack(ALLOY.plate(), 1), new ComparableStack(ModItems.coil_advanced_torus, 1), new ComparableStack(ModItems.cell_deuterium, 1), new ComparableStack(ModItems.cell_tritium, 1)));
this.register(new GenericRecipe("ass.taugrenade").setup(200, 100).outputItems(new ItemStack(ModItems.grenade_tau, 2))
.inputItems(new OreDictStack(PB.plate(), 3), new OreDictStack(ALLOY.plate(), 1), new ComparableStack(ModItems.coil_advanced_torus, 1), new ComparableStack(ModItems.ammo_standard, 1, EnumAmmo.TAU_URANIUM)));
this.register(new GenericRecipe("ass.schrabgrenade").setup(200, 100).outputItems(new ItemStack(ModItems.grenade_schrabidium, 1))
.inputItems(new ComparableStack(ModItems.grenade_flare, 1), new OreDictStack(SA326.dust(), 1), new OreDictStack(OreDictManager.getReflector(), 2)));
this.register(new GenericRecipe("ass.nukagrenade").setup(600, 100).outputItems(new ItemStack(ModItems.grenade_nuclear, 1))
.inputItems(new OreDictStack(IRON.plate(), 1), new OreDictStack(STEEL.plate(), 1), new OreDictStack(PU239.nugget(), 2), new OreDictStack(MINGRADE.wireFine(), 2)));
this.register(new GenericRecipe("ass.zomggrenade").setup(600, 100).outputItems(new ItemStack(ModItems.grenade_zomg, 1))
.inputItems(new ComparableStack(ModItems.plate_paa, 3), new OreDictStack(OreDictManager.getReflector(), 1), new ComparableStack(ModItems.coil_magnetized_tungsten, 3), new ComparableStack(ModItems.powder_power, 3)));
this.register(new GenericRecipe("ass.bholegrenade").setup(1_200, 100).outputItems(new ItemStack(ModItems.grenade_black_hole, 1))
.inputItems(new OreDictStack(ANY_PLASTIC.ingot(), 6), new OreDictStack(OreDictManager.getReflector(), 3), new ComparableStack(ModItems.coil_magnetized_tungsten, 2), new ComparableStack(ModItems.black_hole, 1)));
// turrets
this.register(new GenericRecipe("ass.turretchekhov").setup(200, 100).outputItems(new ItemStack(ModBlocks.turret_chekhov, 1))
.inputItems(new ComparableStack(ModItems.battery_pack, 1, EnumBatteryPack.BATTERY_LEAD), new OreDictStack(STEEL.ingot(), 16), new ComparableStack(ModItems.motor, 3), new ComparableStack(ModItems.circuit, 1, EnumCircuitType.ADVANCED), new OreDictStack(STEEL.pipe(), 3), new OreDictStack(GUNMETAL.mechanism(), 3), new ComparableStack(ModBlocks.crate_iron, 1), new ComparableStack(ModItems.crt_display, 1))
@ -891,7 +865,7 @@ public class AssemblyMachineRecipes extends GenericRecipes<GenericRecipe> {
this.register(new GenericRecipe("ass.mpw10taint").setup(100, 100).outputItems(new ItemStack(ModItems.mp_warhead_10_taint, 1))
.inputItems(new ComparableStack(ModItems.seg_10, 1), new OreDictStack(STEEL.plate(), 12), new ComparableStack(ModBlocks.det_cord, 2), new ComparableStack(ModItems.powder_magic, 12), new OreDictStack(Fluids.WATZ.getDict(1_000), 1)));
this.register(new GenericRecipe("ass.mpw10cloud").setup(100, 100).outputItems(new ItemStack(ModItems.mp_warhead_10_cloud, 1))
.inputItems(new ComparableStack(ModItems.seg_10, 1), new OreDictStack(STEEL.plate(), 12), new ComparableStack(ModBlocks.det_cord, 2), new ComparableStack(ModItems.grenade_pink_cloud, 2)));
.inputItems(new ComparableStack(ModItems.seg_10, 1), new OreDictStack(STEEL.plate(), 12), new ComparableStack(ModBlocks.det_cord, 2), new ComparableStack(ModItems.powder_magic, 16)));
this.register(new GenericRecipe("ass.mpw15he").setup(200, 100).outputItems(new ItemStack(ModItems.mp_warhead_15_he, 1))
.inputItems(new ComparableStack(ModItems.seg_15, 1), new OreDictStack(STEEL.plate(), 12), new OreDictStack(ANY_HIGHEXPLOSIVE.ingot(), 12), new ComparableStack(ModItems.circuit, 3, EnumCircuitType.BASIC)));
this.register(new GenericRecipe("ass.mpw15inc").setup(200, 100).outputItems(new ItemStack(ModItems.mp_warhead_15_incendiary, 1))

View File

@ -8,6 +8,11 @@ import com.hbm.items.machine.ItemBatteryPack.EnumBatteryPack;
import com.hbm.items.machine.ItemBreedingRod.BreedingRodType;
import com.hbm.items.machine.ItemCircuit.EnumCircuitType;
import com.hbm.items.machine.ItemZirnoxRod.EnumZirnoxType;
import com.hbm.items.weapon.grenade.ItemGrenadeUniversal;
import com.hbm.items.weapon.grenade.ItemGrenadeExtra.EnumGrenadeExtra;
import com.hbm.items.weapon.grenade.ItemGrenadeFilling.EnumGrenadeFilling;
import com.hbm.items.weapon.grenade.ItemGrenadeFuze.EnumGrenadeFuze;
import com.hbm.items.weapon.grenade.ItemGrenadeShell.EnumGrenadeShell;
import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo;
import static com.hbm.lib.HbmChestContents.*;
@ -111,9 +116,9 @@ public class ItemPoolsLegacy {
weighted(ModItems.ammo_standard, EnumAmmo.ROCKET_HE.ordinal(), 1, 4, 5),
weighted(ModItems.ammo_standard, EnumAmmo.G26_FLARE_SUPPLY.ordinal(), 1, 1, 5),
weighted(ModItems.ammo_standard, EnumAmmo.G26_FLARE_WEAPON.ordinal(), 1, 1, 3),
weighted(ModItems.grenade_nuclear, 0, 1, 1, 2),
weighted(ModItems.grenade_smart, 0, 1, 3, 3),
weighted(ModItems.grenade_mirv, 0, 1, 1, 2),
weighted(ItemGrenadeUniversal.make(EnumGrenadeShell.NUKE, EnumGrenadeFilling.NUCLEAR, EnumGrenadeFuze.S7), 1, 1, 2),
weighted(ItemGrenadeUniversal.make(EnumGrenadeShell.FRAG, EnumGrenadeFilling.CLUSTER, EnumGrenadeFuze.S7), 1, 3, 3),
weighted(ModItems.grenade_extra, EnumGrenadeExtra.TRIPLEX.ordinal(), 1, 1, 1),
weighted(ModItems.stealth_boy, 0, 1, 1, 2),
weighted(ModItems.battery_pack, EnumBatteryPack.BATTERY_LITHIUM.ordinal(), 1, 1, 1),
weighted(ModItems.syringe_awesome, 0, 1, 1, 1),
@ -202,7 +207,7 @@ public class ItemPoolsLegacy {
weighted(ModItems.stealth_boy, 0, 1, 1, 7),
weighted(ModItems.gas_mask_m65, 0, 1, 1, 5),
weighted(ModItems.gas_mask_filter, 0, 1, 1, 5),
weighted(ModItems.grenade_nuclear, 0, 1, 2, 2),
weighted(ItemGrenadeUniversal.make(EnumGrenadeShell.NUKE, EnumGrenadeFilling.NUCLEAR, EnumGrenadeFuze.S7), 1, 2, 2),
weighted(ModItems.bomb_caller, 0, 1, 1, 1),
weighted(ModItems.bomb_caller, 1, 1, 1, 1),
weighted(ModItems.bomb_caller, 2, 1, 1, 2)

View File

@ -4,6 +4,11 @@ import static com.hbm.lib.HbmChestContents.weighted;
import com.hbm.inventory.material.Mats;
import com.hbm.items.ModItems;
import com.hbm.items.weapon.grenade.ItemGrenadeExtra.EnumGrenadeExtra;
import com.hbm.items.weapon.grenade.ItemGrenadeFilling.EnumGrenadeFilling;
import com.hbm.items.weapon.grenade.ItemGrenadeFuze.EnumGrenadeFuze;
import com.hbm.items.weapon.grenade.ItemGrenadeShell.EnumGrenadeShell;
import com.hbm.items.weapon.grenade.ItemGrenadeUniversal;
import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo;
import net.minecraft.init.Items;
@ -43,7 +48,8 @@ public class ItemPoolsPile {
//Weapons
weighted(ModItems.gun_maresleg, 0, 1, 1, 5),
weighted(ModItems.gun_light_revolver, 0, 1, 1, 1),
weighted(ModItems.grenade_if_generic, 0, 1, 2, 5),
weighted(ItemGrenadeUniversal.make(EnumGrenadeShell.FRAG, EnumGrenadeFilling.HE, EnumGrenadeFuze.S3, EnumGrenadeExtra.FRAG_SLEEVE), 1, 2, 5),
weighted(ItemGrenadeUniversal.make(EnumGrenadeShell.STICK, EnumGrenadeFilling.DEMO, EnumGrenadeFuze.IMPACT), 1, 2, 3),
weighted(ModItems.ammo_standard, EnumAmmo.G12.ordinal(), 4, 4, 10),
weighted(ModItems.ammo_standard, EnumAmmo.M357_SP.ordinal(), 6, 12, 10),
weighted(ModItems.ammo_standard, EnumAmmo.G40_HE.ordinal(), 1, 1, 2),

View File

@ -5,6 +5,11 @@ import static com.hbm.lib.HbmChestContents.weighted;
import com.hbm.blocks.ModBlocks;
import com.hbm.items.ModItems;
import com.hbm.items.machine.ItemCircuit.EnumCircuitType;
import com.hbm.items.weapon.grenade.ItemGrenadeExtra.EnumGrenadeExtra;
import com.hbm.items.weapon.grenade.ItemGrenadeFilling.EnumGrenadeFilling;
import com.hbm.items.weapon.grenade.ItemGrenadeFuze.EnumGrenadeFuze;
import com.hbm.items.weapon.grenade.ItemGrenadeShell.EnumGrenadeShell;
import com.hbm.items.weapon.grenade.ItemGrenadeUniversal;
import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo;
import net.minecraft.init.Items;
@ -33,8 +38,8 @@ public class ItemPoolsSingle {
weighted(ModItems.ammo_standard, EnumAmmo.P9_JHP.ordinal(), 48, 64, 2),
weighted(ModItems.circuit, EnumCircuitType.CHIP.ordinal(), 3, 6, 1),
weighted(ModItems.gas_mask_m65, 0, 1, 1, 1),
weighted(ModItems.grenade_if_he, 0, 1, 1, 1),
weighted(ModItems.grenade_if_incendiary, 0, 1, 1, 1),
weighted(ItemGrenadeUniversal.make(EnumGrenadeShell.FRAG, EnumGrenadeFilling.HE, EnumGrenadeFuze.S3), 1, 1, 1),
weighted(ItemGrenadeUniversal.make(EnumGrenadeShell.FRAG, EnumGrenadeFilling.INC, EnumGrenadeFuze.S3), 1, 1, 1),
weighted(Items.diamond, 0, 1, 2, 1)
};
}};
@ -46,8 +51,8 @@ public class ItemPoolsSingle {
weighted(Items.diamond, 0, 3, 6, 1),
weighted(ModItems.ammo_standard, EnumAmmo.NUKE_STANDARD.ordinal(), 1, 1, 1),
weighted(ModItems.ammo_container, 0, 1, 1, 1),
weighted(ModItems.grenade_nuclear, 0, 1, 1, 1),
weighted(ModItems.grenade_smart, 0, 1, 6, 1),
weighted(ItemGrenadeUniversal.make(EnumGrenadeShell.NUKE, EnumGrenadeFilling.NUCLEAR, EnumGrenadeFuze.S7), 1, 1, 1),
weighted(ItemGrenadeUniversal.make(EnumGrenadeShell.TECH, EnumGrenadeFilling.EMP, EnumGrenadeFuze.S3), 1, 6, 1),
weighted(ModItems.powder_yellowcake, 0, 16, 24, 1),
weighted(ModItems.gun_uzi, 0, 1, 1, 1),
weighted(ModItems.circuit, EnumCircuitType.VACUUM_TUBE.ordinal(), 12, 16, 1),
@ -63,8 +68,8 @@ public class ItemPoolsSingle {
weighted(Items.diamond, 0, 5, 9, 1),
weighted(ModItems.ammo_standard, EnumAmmo.NUKE_STANDARD.ordinal(), 1, 3, 1),
weighted(ModItems.ammo_container, 0, 1, 4, 1),
weighted(ModItems.grenade_nuclear, 0, 1, 2, 1),
weighted(ModItems.grenade_mirv, 0, 1, 1, 1),
weighted(ItemGrenadeUniversal.make(EnumGrenadeShell.NUKE, EnumGrenadeFilling.NUCLEAR, EnumGrenadeFuze.S7), 1, 2, 1),
weighted(ItemGrenadeUniversal.make(EnumGrenadeShell.STICK, EnumGrenadeFilling.HE, EnumGrenadeFuze.IMPACT, EnumGrenadeExtra.TRIPLEX), 1, 1, 1),
weighted(ModItems.powder_yellowcake, 0, 26, 42, 1),
weighted(ModItems.gun_heavy_revolver, 0, 1, 1, 1),
weighted(ModItems.circuit, EnumCircuitType.CHIP.ordinal(), 18, 32, 1),

View File

@ -1454,55 +1454,8 @@ public class ModItems {
public static Item grenade_extra;
public static Item grenade_universal;
@Deprecated public static Item grenade_generic;
@Deprecated public static Item grenade_strong;
@Deprecated public static Item grenade_frag;
@Deprecated public static Item grenade_fire;
@Deprecated public static Item grenade_shrapnel;
@Deprecated public static Item grenade_cluster;
@Deprecated public static Item grenade_flare;
@Deprecated public static Item grenade_electric;
@Deprecated public static Item grenade_poison;
@Deprecated public static Item grenade_gas;
@Deprecated public static Item grenade_pulse;
@Deprecated public static Item grenade_plasma;
@Deprecated public static Item grenade_tau;
@Deprecated public static Item grenade_schrabidium;
@Deprecated public static Item grenade_lemon;
@Deprecated public static Item grenade_gascan;
@Deprecated public static Item grenade_kyiv;
@Deprecated public static Item grenade_mk2;
@Deprecated public static Item grenade_aschrab;
@Deprecated public static Item grenade_nuke;
@Deprecated public static Item grenade_nuclear;
@Deprecated public static Item grenade_zomg;
@Deprecated public static Item grenade_black_hole;
@Deprecated public static Item grenade_cloud;
@Deprecated public static Item grenade_pink_cloud;
public static Item ullapool_caber;
@Deprecated public static Item grenade_if_generic;
@Deprecated public static Item grenade_if_he;
@Deprecated public static Item grenade_if_bouncy;
@Deprecated public static Item grenade_if_sticky;
@Deprecated public static Item grenade_if_impact;
@Deprecated public static Item grenade_if_incendiary;
@Deprecated public static Item grenade_if_toxic;
@Deprecated public static Item grenade_if_concussion;
@Deprecated public static Item grenade_if_brimstone;
@Deprecated public static Item grenade_if_mystery;
@Deprecated public static Item grenade_if_spark;
@Deprecated public static Item grenade_if_hopwire;
@Deprecated public static Item grenade_if_null;
@Deprecated public static Item grenade_smart;
@Deprecated public static Item grenade_mirv;
@Deprecated public static Item grenade_breach;
@Deprecated public static Item grenade_burst;
public static Item nuclear_waste_pearl;
public static Item weaponized_starblaster_cell;
public static Item bomb_waffle;
@ -2054,7 +2007,6 @@ public class ModItems {
public static Item tsar_kit;
public static Item multi_kit;
public static Item custom_kit;
public static Item grenade_kit;
public static Item fleija_kit;
public static Item prototype_kit;
public static Item missile_kit;
@ -3683,7 +3635,7 @@ public class ModItems {
ToolMaterial matCrucible = EnumHelper.addToolMaterial("CRUCIBLE", 10, 3, 50.0F, 100.0F, 0);
crucible = new ItemCrucible(5000, 1F, matCrucible).setUnlocalizedName("crucible").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":crucible");
stick_dynamite = new ItemGrenade(3).setUnlocalizedName("stick_dynamite").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":stick_dynamite");
stick_dynamite = new ItemGrenadeDynamite(3).setUnlocalizedName("stick_dynamite").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":stick_dynamite");
stick_dynamite_fishing = new ItemGrenadeFishing(3).setUnlocalizedName("stick_dynamite_fishing").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":stick_dynamite_fishing");
stick_tnt = new Item().setUnlocalizedName("stick_tnt").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":stick_tnt");
stick_semtex = new Item().setUnlocalizedName("stick_semtex").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":stick_semtex");
@ -3695,53 +3647,8 @@ public class ModItems {
grenade_extra = new ItemGrenadeExtra().setUnlocalizedName("grenade_extra").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_extra");
grenade_universal = new ItemGrenadeUniversal().setUnlocalizedName("grenade_universal").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_universal");
grenade_generic = new ItemGrenade(4).setUnlocalizedName("grenade_generic").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_generic");
grenade_strong = new ItemGrenade(5).setUnlocalizedName("grenade_strong").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_strong");
grenade_frag = new ItemGrenade(4).setUnlocalizedName("grenade_frag").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_frag_alt");
grenade_fire = new ItemGrenade(4).setUnlocalizedName("grenade_fire").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_fire_alt");
grenade_shrapnel = new ItemGrenade(4).setUnlocalizedName("grenade_shrapnel").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_shrapnel");
grenade_cluster = new ItemGrenade(5).setUnlocalizedName("grenade_cluster").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_cluster_alt");
grenade_flare = new ItemGrenade(0).setUnlocalizedName("grenade_flare").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_flare_alt");
grenade_electric = new ItemGrenade(5).setUnlocalizedName("grenade_electric").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_electric_alt");
grenade_poison = new ItemGrenade(4).setUnlocalizedName("grenade_poison").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_poison_alt");
grenade_gas = new ItemGrenade(4).setUnlocalizedName("grenade_gas").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_gas_alt");
grenade_pulse = new ItemGrenade(4).setUnlocalizedName("grenade_pulse").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_pulse");
grenade_plasma = new ItemGrenade(5).setUnlocalizedName("grenade_plasma").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_plasma_alt");
grenade_tau = new ItemGrenade(5).setUnlocalizedName("grenade_tau").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_tau_alt");
grenade_schrabidium = new ItemGrenade(7).setUnlocalizedName("grenade_schrabidium").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_schrabidium_alt");
grenade_lemon = new ItemGrenade(4).setUnlocalizedName("grenade_lemon").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_lemon");
grenade_gascan = new ItemGrenade(-1).setUnlocalizedName("grenade_gascan").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_gascan");
grenade_kyiv = new ItemGrenadeKyiv(-1).setUnlocalizedName("grenade_kyiv").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_kyiv");
grenade_mk2 = new ItemGrenade(5).setUnlocalizedName("grenade_mk2").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_mk2_alt");
grenade_aschrab = new ItemGrenade(-1).setUnlocalizedName("grenade_aschrab").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_aschrab");
grenade_nuke = new ItemGrenade(-1).setUnlocalizedName("grenade_nuke").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_nuke_alt");
grenade_nuclear = new ItemGrenade(7).setUnlocalizedName("grenade_nuclear").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_nuclear");
grenade_zomg = new ItemGrenade(7).setUnlocalizedName("grenade_zomg").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_zomg");
grenade_black_hole = new ItemGrenade(7).setUnlocalizedName("grenade_black_hole").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_black_hole");
grenade_cloud = new ItemGrenade(-1).setUnlocalizedName("grenade_cloud").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_cloud");
grenade_pink_cloud = new ItemGrenade(-1).setUnlocalizedName("grenade_pink_cloud").setCreativeTab(null).setTextureName(RefStrings.MODID + ":grenade_pink_cloud");
ullapool_caber = new WeaponSpecial(MainRegistry.tMatSteel).setUnlocalizedName("ullapool_caber").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ullapool_caber");
grenade_if_generic = new ItemGrenade(4).setUnlocalizedName("grenade_if_generic").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_if_generic");
grenade_if_he = new ItemGrenade(5).setUnlocalizedName("grenade_if_he").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_if_he");
grenade_if_bouncy = new ItemGrenade(4).setUnlocalizedName("grenade_if_bouncy").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_if_bouncy");
grenade_if_sticky = new ItemGrenade(4).setUnlocalizedName("grenade_if_sticky").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_if_sticky");
grenade_if_impact = new ItemGrenade(-1).setUnlocalizedName("grenade_if_impact").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_if_impact");
grenade_if_incendiary = new ItemGrenade(4).setUnlocalizedName("grenade_if_incendiary").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_if_incendiary");
grenade_if_toxic = new ItemGrenade(4).setUnlocalizedName("grenade_if_toxic").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_if_toxic");
grenade_if_concussion = new ItemGrenade(4).setUnlocalizedName("grenade_if_concussion").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_if_concussion");
grenade_if_brimstone = new ItemGrenade(5).setUnlocalizedName("grenade_if_brimstone").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_if_brimstone");
grenade_if_mystery = new ItemGrenade(5).setUnlocalizedName("grenade_if_mystery").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_if_mystery");
grenade_if_spark = new ItemGrenade(7).setUnlocalizedName("grenade_if_spark").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_if_spark");
grenade_if_hopwire = new ItemGrenade(7).setUnlocalizedName("grenade_if_hopwire").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_if_hopwire");
grenade_if_null = new ItemGrenade(7).setUnlocalizedName("grenade_if_null").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_if_null");
grenade_smart = new ItemGrenade(-1).setUnlocalizedName("grenade_smart").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_smart");
grenade_mirv = new ItemGrenade(1).setUnlocalizedName("grenade_mirv").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_mirv");
grenade_breach = new ItemGrenade(-1).setUnlocalizedName("grenade_breach").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_breach");
grenade_burst = new ItemGrenade(1).setUnlocalizedName("grenade_burst").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_burst");
nuclear_waste_pearl = new ItemGrenade(-1).setUnlocalizedName("nuclear_waste_pearl").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":nuclear_waste_pearl");
weaponized_starblaster_cell = new WeaponizedCell().setUnlocalizedName("weaponized_starblaster_cell").setMaxStackSize(1).setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_b92_ammo_weaponized");
bomb_waffle = new ItemWaffle(20, false).setUnlocalizedName("bomb_waffle").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":bomb_waffle");
@ -3957,7 +3864,6 @@ public class ModItems {
tsar_kit = new ItemStarterKit().setUnlocalizedName("tsar_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":tsar_kit");
multi_kit = new ItemStarterKit().setUnlocalizedName("multi_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":multi_kit");
custom_kit = new ItemStarterKit().setUnlocalizedName("custom_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":custom_kit");
grenade_kit = new ItemStarterKit().setUnlocalizedName("grenade_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_kit");
fleija_kit = new ItemStarterKit().setUnlocalizedName("fleija_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":fleija_kit");
prototype_kit = new ItemStarterKit().setUnlocalizedName("prototype_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":prototype_kit");
missile_kit = new ItemStarterKit().setUnlocalizedName("missile_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_kit");
@ -6044,51 +5950,6 @@ public class ModItems {
GameRegistry.registerItem(grenade_fuze, grenade_fuze.getUnlocalizedName());
GameRegistry.registerItem(grenade_extra, grenade_extra.getUnlocalizedName());
GameRegistry.registerItem(grenade_universal, grenade_universal.getUnlocalizedName());
GameRegistry.registerItem(grenade_generic, grenade_generic.getUnlocalizedName());
GameRegistry.registerItem(grenade_strong, grenade_strong.getUnlocalizedName());
GameRegistry.registerItem(grenade_frag, grenade_frag.getUnlocalizedName());
GameRegistry.registerItem(grenade_fire, grenade_fire.getUnlocalizedName());
GameRegistry.registerItem(grenade_shrapnel, grenade_shrapnel.getUnlocalizedName());
GameRegistry.registerItem(grenade_cluster, grenade_cluster.getUnlocalizedName());
GameRegistry.registerItem(grenade_flare, grenade_flare.getUnlocalizedName());
GameRegistry.registerItem(grenade_electric, grenade_electric.getUnlocalizedName());
GameRegistry.registerItem(grenade_poison, grenade_poison.getUnlocalizedName());
GameRegistry.registerItem(grenade_gas, grenade_gas.getUnlocalizedName());
GameRegistry.registerItem(grenade_cloud, grenade_cloud.getUnlocalizedName());
GameRegistry.registerItem(grenade_pink_cloud, grenade_pink_cloud.getUnlocalizedName());
GameRegistry.registerItem(grenade_smart, grenade_smart.getUnlocalizedName());
GameRegistry.registerItem(grenade_mirv, grenade_mirv.getUnlocalizedName());
GameRegistry.registerItem(grenade_breach, grenade_breach.getUnlocalizedName());
GameRegistry.registerItem(grenade_burst, grenade_burst.getUnlocalizedName());
GameRegistry.registerItem(grenade_pulse, grenade_pulse.getUnlocalizedName());
GameRegistry.registerItem(grenade_plasma, grenade_plasma.getUnlocalizedName());
GameRegistry.registerItem(grenade_tau, grenade_tau.getUnlocalizedName());
GameRegistry.registerItem(grenade_schrabidium, grenade_schrabidium.getUnlocalizedName());
GameRegistry.registerItem(grenade_nuke, grenade_nuke.getUnlocalizedName());
GameRegistry.registerItem(grenade_lemon, grenade_lemon.getUnlocalizedName());
GameRegistry.registerItem(grenade_gascan, grenade_gascan.getUnlocalizedName());
GameRegistry.registerItem(grenade_kyiv, grenade_kyiv.getUnlocalizedName());
GameRegistry.registerItem(grenade_mk2, grenade_mk2.getUnlocalizedName());
GameRegistry.registerItem(grenade_aschrab, grenade_aschrab.getUnlocalizedName());
GameRegistry.registerItem(grenade_nuclear, grenade_nuclear.getUnlocalizedName());
GameRegistry.registerItem(grenade_zomg, grenade_zomg.getUnlocalizedName());
GameRegistry.registerItem(grenade_black_hole, grenade_black_hole.getUnlocalizedName());
GameRegistry.registerItem(grenade_if_generic, grenade_if_generic.getUnlocalizedName());
GameRegistry.registerItem(grenade_if_he, grenade_if_he.getUnlocalizedName());
GameRegistry.registerItem(grenade_if_bouncy, grenade_if_bouncy.getUnlocalizedName());
GameRegistry.registerItem(grenade_if_sticky, grenade_if_sticky.getUnlocalizedName());
GameRegistry.registerItem(grenade_if_impact, grenade_if_impact.getUnlocalizedName());
GameRegistry.registerItem(grenade_if_incendiary, grenade_if_incendiary.getUnlocalizedName());
GameRegistry.registerItem(grenade_if_toxic, grenade_if_toxic.getUnlocalizedName());
GameRegistry.registerItem(grenade_if_concussion, grenade_if_concussion.getUnlocalizedName());
GameRegistry.registerItem(grenade_if_brimstone, grenade_if_brimstone.getUnlocalizedName());
GameRegistry.registerItem(grenade_if_mystery, grenade_if_mystery.getUnlocalizedName());
GameRegistry.registerItem(grenade_if_spark, grenade_if_spark.getUnlocalizedName());
GameRegistry.registerItem(grenade_if_hopwire, grenade_if_hopwire.getUnlocalizedName());
GameRegistry.registerItem(grenade_if_null, grenade_if_null.getUnlocalizedName());
GameRegistry.registerItem(nuclear_waste_pearl, nuclear_waste_pearl.getUnlocalizedName());
//Disperser Canister
GameRegistry.registerItem(disperser_canister_empty, disperser_canister_empty.getUnlocalizedName());
@ -6678,7 +6539,6 @@ public class ModItems {
GameRegistry.registerItem(multi_kit, multi_kit.getUnlocalizedName());
GameRegistry.registerItem(custom_kit, custom_kit.getUnlocalizedName());
GameRegistry.registerItem(missile_kit, missile_kit.getUnlocalizedName());
GameRegistry.registerItem(grenade_kit, grenade_kit.getUnlocalizedName());
GameRegistry.registerItem(hazmat_kit, hazmat_kit.getUnlocalizedName());
GameRegistry.registerItem(hazmat_red_kit, hazmat_red_kit.getUnlocalizedName());
GameRegistry.registerItem(hazmat_grey_kit, hazmat_grey_kit.getUnlocalizedName());

View File

@ -293,38 +293,6 @@ public class ItemStarterKit extends Item {
player.inventory.addItemStackToInventory(new ItemStack(ModItems.custom_fall, 1));
}
if(this == ModItems.grenade_kit)
{
player.inventory.addItemStackToInventory(new ItemStack(ModItems.grenade_generic, 16));
player.inventory.addItemStackToInventory(new ItemStack(ModItems.grenade_strong, 16));
player.inventory.addItemStackToInventory(new ItemStack(ModItems.grenade_frag, 16));
player.inventory.addItemStackToInventory(new ItemStack(ModItems.grenade_fire, 16));
player.inventory.addItemStackToInventory(new ItemStack(ModItems.grenade_shrapnel, 16));
player.inventory.addItemStackToInventory(new ItemStack(ModItems.grenade_cluster, 16));
player.inventory.addItemStackToInventory(new ItemStack(ModItems.grenade_flare, 16));
player.inventory.addItemStackToInventory(new ItemStack(ModItems.grenade_electric, 16));
player.inventory.addItemStackToInventory(new ItemStack(ModItems.grenade_poison, 16));
player.inventory.addItemStackToInventory(new ItemStack(ModItems.grenade_gas, 16));
player.inventory.addItemStackToInventory(new ItemStack(ModItems.grenade_cloud, 16));
player.inventory.addItemStackToInventory(new ItemStack(ModItems.grenade_pink_cloud, 16));
player.inventory.addItemStackToInventory(new ItemStack(ModItems.grenade_smart, 16));
player.inventory.addItemStackToInventory(new ItemStack(ModItems.grenade_mirv, 16));
player.inventory.addItemStackToInventory(new ItemStack(ModItems.grenade_breach, 16));
player.inventory.addItemStackToInventory(new ItemStack(ModItems.grenade_burst, 16));
player.inventory.addItemStackToInventory(new ItemStack(ModItems.grenade_pulse, 16));
player.inventory.addItemStackToInventory(new ItemStack(ModItems.grenade_plasma, 16));
player.inventory.addItemStackToInventory(new ItemStack(ModItems.grenade_tau, 16));
player.inventory.addItemStackToInventory(new ItemStack(ModItems.grenade_schrabidium, 16));
player.inventory.addItemStackToInventory(new ItemStack(ModItems.grenade_lemon, 16));
player.inventory.addItemStackToInventory(new ItemStack(ModItems.grenade_gascan, 16));
player.inventory.addItemStackToInventory(new ItemStack(ModItems.grenade_mk2, 16));
player.inventory.addItemStackToInventory(new ItemStack(ModItems.grenade_aschrab, 16));
player.inventory.addItemStackToInventory(new ItemStack(ModItems.grenade_nuke, 16));
player.inventory.addItemStackToInventory(new ItemStack(ModItems.grenade_nuclear, 16));
player.inventory.addItemStackToInventory(new ItemStack(ModItems.grenade_zomg, 16));
player.inventory.addItemStackToInventory(new ItemStack(ModItems.grenade_black_hole, 16));
}
if(this == ModItems.fleija_kit)
{
player.inventory.addItemStackToInventory(new ItemStack(Item.getItemFromBlock(ModBlocks.nuke_fleija), 1));
@ -448,7 +416,6 @@ public class ItemStarterKit extends Item {
this == ModItems.prototype_kit ||
this == ModItems.fleija_kit ||
this == ModItems.solinium_kit ||
this == ModItems.grenade_kit ||
this == ModItems.missile_kit ||
this == ModItems.multi_kit) {
list.add("Please empty inventory before opening!");

View File

@ -6,7 +6,7 @@ import java.util.Random;
import com.google.common.collect.Multimap;
import com.hbm.entity.effect.EntityCloudFleijaRainbow;
import com.hbm.entity.logic.EntityNukeExplosionMK3;
import com.hbm.entity.projectile.EntityExplosiveBeam;
import com.hbm.entity.projectile.EntityB92Beam;
import com.hbm.interfaces.Spaghetti;
import com.hbm.main.MainRegistry;
@ -62,8 +62,8 @@ public class GunB92 extends Item {
if (!p_77615_2_.isRemote)
for(int i = 0; i < getPower(p_77615_1_); i++) {
EntityExplosiveBeam entityarrow1;
entityarrow1 = new EntityExplosiveBeam(p_77615_2_, p_77615_3_, 3.0F);
EntityB92Beam entityarrow1;
entityarrow1 = new EntityB92Beam(p_77615_2_, p_77615_3_, 3.0F);
float divergence = i * 0.2F;

View File

@ -1,16 +1,6 @@
package com.hbm.items.weapon;
import java.util.List;
import com.hbm.entity.grenade.*;
import com.hbm.items.ModItems;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.EnumRarity;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.world.World;
public class ItemGrenade extends Item {
@ -20,256 +10,6 @@ public class ItemGrenade extends Item {
this.maxStackSize = 16;
this.fuse = fuse;
}
@Override
public ItemStack onItemRightClick(ItemStack p_77659_1_, World p_77659_2_, EntityPlayer p_77659_3_) {
if (!p_77659_3_.capabilities.isCreativeMode) {
--p_77659_1_.stackSize;
}
p_77659_2_.playSoundAtEntity(p_77659_3_, "random.bow", 0.5F, 0.4F / (itemRand.nextFloat() * 0.4F + 0.8F));
//TODO:
/*
* kill all this stupid bullshit
* make a PROPER grenade entity base class
* have all the grenade items be an NBT stat in the entity instead of having new entities for every fucking grenade type
* register explosion effects with some lambdas to save on LOC
* jesus christ why do i keep doing this
*/
if (!p_77659_2_.isRemote) {
if (this == ModItems.grenade_generic) {
p_77659_2_.spawnEntityInWorld(new EntityGrenadeGeneric(p_77659_2_, p_77659_3_));
}
if (this == ModItems.grenade_strong) {
p_77659_2_.spawnEntityInWorld(new EntityGrenadeStrong(p_77659_2_, p_77659_3_));
}
if (this == ModItems.grenade_frag) {
EntityGrenadeFrag frag = new EntityGrenadeFrag(p_77659_2_, p_77659_3_);
frag.shooter = p_77659_3_;
p_77659_2_.spawnEntityInWorld(frag);
}
if (this == ModItems.grenade_fire) {
EntityGrenadeFire fire = new EntityGrenadeFire(p_77659_2_, p_77659_3_);
fire.shooter = p_77659_3_;
p_77659_2_.spawnEntityInWorld(fire);
}
if (this == ModItems.grenade_cluster) {
p_77659_2_.spawnEntityInWorld(new EntityGrenadeCluster(p_77659_2_, p_77659_3_));
}
if (this == ModItems.grenade_flare) {
p_77659_2_.spawnEntityInWorld(new EntityGrenadeFlare(p_77659_2_, p_77659_3_));
}
if (this == ModItems.grenade_electric) {
p_77659_2_.spawnEntityInWorld(new EntityGrenadeElectric(p_77659_2_, p_77659_3_));
}
if (this == ModItems.grenade_poison) {
p_77659_2_.spawnEntityInWorld(new EntityGrenadePoison(p_77659_2_, p_77659_3_));
}
if (this == ModItems.grenade_gas) {
p_77659_2_.spawnEntityInWorld(new EntityGrenadeGas(p_77659_2_, p_77659_3_));
}
if (this == ModItems.grenade_schrabidium) {
p_77659_2_.spawnEntityInWorld(new EntityGrenadeSchrabidium(p_77659_2_, p_77659_3_));
}
if (this == ModItems.grenade_nuke) {
p_77659_2_.spawnEntityInWorld(new EntityGrenadeNuke(p_77659_2_, p_77659_3_));
}
if (this == ModItems.grenade_nuclear) {
p_77659_2_.spawnEntityInWorld(new EntityGrenadeNuclear(p_77659_2_, p_77659_3_));
}
if (this == ModItems.grenade_pulse) {
p_77659_2_.spawnEntityInWorld(new EntityGrenadePulse(p_77659_2_, p_77659_3_));
}
if (this == ModItems.grenade_plasma) {
p_77659_2_.spawnEntityInWorld(new EntityGrenadePlasma(p_77659_2_, p_77659_3_));
}
if (this == ModItems.grenade_tau) {
p_77659_2_.spawnEntityInWorld(new EntityGrenadeTau(p_77659_2_, p_77659_3_));
}
if (this == ModItems.grenade_lemon) {
p_77659_2_.spawnEntityInWorld(new EntityGrenadeLemon(p_77659_2_, p_77659_3_));
}
if (this == ModItems.grenade_mk2) {
p_77659_2_.spawnEntityInWorld(new EntityGrenadeMk2(p_77659_2_, p_77659_3_));
}
if (this == ModItems.grenade_aschrab) {
p_77659_2_.spawnEntityInWorld(new EntityGrenadeASchrab(p_77659_2_, p_77659_3_));
}
if (this == ModItems.grenade_zomg) {
p_77659_2_.spawnEntityInWorld(new EntityGrenadeZOMG(p_77659_2_, p_77659_3_));
}
if (this == ModItems.grenade_shrapnel) {
p_77659_2_.spawnEntityInWorld(new EntityGrenadeShrapnel(p_77659_2_, p_77659_3_));
}
if (this == ModItems.grenade_black_hole) {
p_77659_2_.spawnEntityInWorld(new EntityGrenadeBlackHole(p_77659_2_, p_77659_3_));
}
if (this == ModItems.grenade_gascan) {
p_77659_2_.spawnEntityInWorld(new EntityGrenadeGascan(p_77659_2_, p_77659_3_));
}
if (this == ModItems.grenade_cloud) {
p_77659_2_.spawnEntityInWorld(new EntityGrenadeCloud(p_77659_2_, p_77659_3_));
}
if (this == ModItems.grenade_pink_cloud) {
p_77659_2_.spawnEntityInWorld(new EntityGrenadePC(p_77659_2_, p_77659_3_));
}
if (this == ModItems.grenade_smart) {
p_77659_2_.spawnEntityInWorld(new EntityGrenadeSmart(p_77659_2_, p_77659_3_));
}
if (this == ModItems.grenade_mirv) {
p_77659_2_.spawnEntityInWorld(new EntityGrenadeMIRV(p_77659_2_, p_77659_3_));
}
if (this == ModItems.grenade_breach) {
p_77659_2_.spawnEntityInWorld(new EntityGrenadeBreach(p_77659_2_, p_77659_3_));
}
if (this == ModItems.grenade_burst) {
p_77659_2_.spawnEntityInWorld(new EntityGrenadeBurst(p_77659_2_, p_77659_3_));
}
if (this == ModItems.grenade_if_generic) {
p_77659_2_.spawnEntityInWorld(new EntityGrenadeIFGeneric(p_77659_2_, p_77659_3_));
}
if (this == ModItems.grenade_if_he) {
p_77659_2_.spawnEntityInWorld(new EntityGrenadeIFHE(p_77659_2_, p_77659_3_));
}
if (this == ModItems.grenade_if_bouncy) {
p_77659_2_.spawnEntityInWorld(new EntityGrenadeIFBouncy(p_77659_2_, p_77659_3_));
}
if (this == ModItems.grenade_if_sticky) {
p_77659_2_.spawnEntityInWorld(new EntityGrenadeIFSticky(p_77659_2_, p_77659_3_));
}
if (this == ModItems.grenade_if_impact) {
p_77659_2_.spawnEntityInWorld(new EntityGrenadeIFImpact(p_77659_2_, p_77659_3_));
}
if (this == ModItems.grenade_if_incendiary) {
p_77659_2_.spawnEntityInWorld(new EntityGrenadeIFIncendiary(p_77659_2_, p_77659_3_));
}
if (this == ModItems.grenade_if_toxic) {
p_77659_2_.spawnEntityInWorld(new EntityGrenadeIFToxic(p_77659_2_, p_77659_3_));
}
if (this == ModItems.grenade_if_concussion) {
p_77659_2_.spawnEntityInWorld(new EntityGrenadeIFConcussion(p_77659_2_, p_77659_3_));
}
if (this == ModItems.grenade_if_brimstone) {
p_77659_2_.spawnEntityInWorld(new EntityGrenadeIFBrimstone(p_77659_2_, p_77659_3_));
}
if (this == ModItems.grenade_if_mystery) {
p_77659_2_.spawnEntityInWorld(new EntityGrenadeIFMystery(p_77659_2_, p_77659_3_));
}
if (this == ModItems.grenade_if_spark) {
p_77659_2_.spawnEntityInWorld(new EntityGrenadeIFSpark(p_77659_2_, p_77659_3_));
}
if (this == ModItems.grenade_if_hopwire) {
p_77659_2_.spawnEntityInWorld(new EntityGrenadeIFHopwire(p_77659_2_, p_77659_3_));
}
if (this == ModItems.grenade_if_null) {
p_77659_2_.spawnEntityInWorld(new EntityGrenadeIFNull(p_77659_2_, p_77659_3_));
}
if (this == ModItems.nuclear_waste_pearl) {
p_77659_2_.spawnEntityInWorld(new EntityWastePearl(p_77659_2_, p_77659_3_));
}
if (this == ModItems.stick_dynamite) {
p_77659_2_.spawnEntityInWorld(new EntityGrenadeDynamite(p_77659_2_, p_77659_3_));
}
}
return p_77659_1_;
}
@Override
public EnumRarity getRarity(ItemStack p_77613_1_) {
if (this == ModItems.grenade_schrabidium || this == ModItems.grenade_aschrab || this == ModItems.grenade_cloud) {
return EnumRarity.rare;
}
if (this == ModItems.grenade_plasma || this == ModItems.grenade_zomg || this == ModItems.grenade_black_hole || this == ModItems.grenade_pink_cloud) {
return EnumRarity.epic;
}
if (this == ModItems.grenade_nuke || this == ModItems.grenade_nuclear || this == ModItems.grenade_tau || this == ModItems.grenade_lemon || this == ModItems.grenade_mk2 || this == ModItems.grenade_pulse || this == ModItems.grenade_gascan) {
return EnumRarity.uncommon;
}
return EnumRarity.common;
}
private String translateFuse() {
if(fuse == -1)
return "Impact";
if(fuse == 0)
return "Instant";
return fuse + "s";
}
@Override
public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) {
list.add("Fuse: " + translateFuse());
if (this == ModItems.grenade_smart) {
list.add("");
list.add("\"Why did it not blow up????\"");
list.add(EnumChatFormatting.ITALIC + "If it didn't blow up it means it worked.");
}
if (this == ModItems.grenade_if_generic) {
list.add("");
list.add(EnumChatFormatting.ITALIC + "\"How do you like " + EnumChatFormatting.RESET + EnumChatFormatting.GRAY + "them" + EnumChatFormatting.ITALIC + " apples?\"");
}
if (this == ModItems.grenade_if_he) {
list.add("");
list.add(EnumChatFormatting.ITALIC + "\"You better run, you better take cover!\"");
}
if (this == ModItems.grenade_if_bouncy) {
list.add("");
list.add(EnumChatFormatting.ITALIC + "\"Boing!\"");
}
if (this == ModItems.grenade_if_sticky) {
list.add("");
list.add(EnumChatFormatting.ITALIC + "\"This one is the booger grenade.\"");
}
if (this == ModItems.grenade_if_impact) {
list.add("");
list.add(EnumChatFormatting.ITALIC + "\"Tossable boom.\"");
}
if (this == ModItems.grenade_if_incendiary) {
list.add("");
list.add(EnumChatFormatting.ITALIC + "\"Flaming wheel of destruction!\"");
}
if (this == ModItems.grenade_if_toxic) {
list.add("");
list.add(EnumChatFormatting.ITALIC + "\"TOXIC SHOCK\"");
}
if (this == ModItems.grenade_if_concussion) {
list.add("");
list.add(EnumChatFormatting.ITALIC + "\"Oof ouch owie, my bones!\"");
}
if (this == ModItems.grenade_if_brimstone) {
list.add("");
list.add(EnumChatFormatting.ITALIC + "\"Zoop!\"");
}
if (this == ModItems.grenade_if_mystery) {
list.add("");
list.add(EnumChatFormatting.ITALIC + "\"It's a mystery!\"");
}
if (this == ModItems.grenade_if_spark) {
list.add("");
//list.add(EnumChatFormatting.ITALIC + "\"31-31-31-31-31-31-31-31-31-31-31-31-31\"");
list.add(EnumChatFormatting.ITALIC + "\"We can't rewind, we've gone too far.\"");
}
if (this == ModItems.grenade_if_hopwire) {
list.add("");
list.add(EnumChatFormatting.ITALIC + "\"All I ever wished for was a bike that didn't fall over.\"");
}
if (this == ModItems.grenade_if_null) {
list.add("");
list.add(EnumChatFormatting.ITALIC + "java.lang.NullPointerException");
}
}
public static int getFuseTicks(Item grenade) {
return ((ItemGrenade)grenade).fuse * 20;

View File

@ -0,0 +1,25 @@
package com.hbm.items.weapon;
import com.hbm.explosion.vanillant.ExplosionVNT;
import com.hbm.explosion.vanillant.standard.EntityProcessorCrossSmooth;
import com.hbm.explosion.vanillant.standard.ExplosionEffectWeapon;
import com.hbm.explosion.vanillant.standard.PlayerProcessorStandard;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.world.World;
public class ItemGrenadeDynamite extends ItemGenericGrenade {
public ItemGrenadeDynamite(int fuse) {
super(fuse);
}
public void explode(Entity grenade, EntityLivingBase thrower, World world, double x, double y, double z) {
ExplosionVNT vnt = new ExplosionVNT(grenade.worldObj, grenade.posX, grenade.posY, grenade.posZ, 5, thrower);
vnt.setEntityProcessor(new EntityProcessorCrossSmooth(1, 15));
vnt.setPlayerProcessor(new PlayerProcessorStandard());
vnt.setSFX(new ExplosionEffectWeapon(10, 2.5F, 1F));
vnt.explode();
}
}

View File

@ -62,6 +62,7 @@ public class ItemGrenadeFilling extends ItemEnumMulti {
HE(EXPLODE_HE, 0x595533, 0xA49D62, FRAG, STICK), // high explosive
DEMO(EXPLODE_DEMO, 0x595533, 0xDD4029, FRAG, STICK), // demolition
INC(EXPLODE_INC, 0x5A5A5A, 0xFF5F21, FRAG, STICK), // incendiary
WP(EXPLODE_WP, 0xDCDCDC, 0xFF5F21, FRAG, STICK), // white phosphorus
CLUSTER(EXPLODE_CLUSTER, 0x5A5A5A, 0xFFC711, FRAG, STICK), // explosive pellets
EMP(EXPLODE_EMP, 0x93A1AC, 0x00FFFF, TECH), // tesla
PLASMA(EXPLODE_PLASMA, 0x655B2C, 0x4CFF00, TECH), // EMP but more oomph
@ -131,20 +132,38 @@ public class ItemGrenadeFilling extends ItemEnumMulti {
fire.setPosition(grenade.posX, grenade.posY, grenade.posZ);
world.spawnEntityInWorld(fire);
for(int dx = -2; dx <= 2; dx++) for(int dy = -2; dy <= 2; dy++) for(int dz = -2; dz <= 2; dz++) {
int x = (int) Math.floor(grenade.posX) + dx;
int y = (int) Math.floor(grenade.posY) + dy;
int z = (int) Math.floor(grenade.posZ) + dz;
if(world.getBlock(x, y, z).isAir(grenade.worldObj, x, y, z)) {
for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) {
if(world.getBlock(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ).isFlammable(world, x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ, dir.getOpposite())) {
world.setBlock(x, y, z, Blocks.fire);
break;
}
int x = (int) Math.floor(grenade.posX) + dx; int y = (int) Math.floor(grenade.posY) + dy; int z = (int) Math.floor(grenade.posZ) + dz;
if(world.getBlock(x, y, z).isAir(grenade.worldObj, x, y, z)) for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) {
if(world.getBlock(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ).isFlammable(world, x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ, dir.getOpposite())) {
world.setBlock(x, y, z, Blocks.fire);
break;
}
}
}
};
public static Consumer<EntityGrenadeUniversal> EXPLODE_WP = (grenade) -> {
World world = grenade.worldObj;
standardExplode(grenade, 3F, 10F);
EntityFireLingering fire = new EntityFireLingering(world).setArea(6, 2).setDuration(600).setType(EntityFireLingering.TYPE_PHOSPHORUS);
fire.setPosition(grenade.posX, grenade.posY, grenade.posZ);
world.spawnEntityInWorld(fire);
for(int dx = -3; dx <= 3; dx++) for(int dy = -3; dy <= 3; dy++) for(int dz = -3; dz <= 3; dz++) {
int x = (int) Math.floor(grenade.posX) + dx; int y = (int) Math.floor(grenade.posY) + dy; int z = (int) Math.floor(grenade.posZ) + dz;
if(world.getBlock(x, y, z).isAir(grenade.worldObj, x, y, z)) for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) {
if(world.getBlock(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ).isFlammable(world, x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ, dir.getOpposite())) {
world.setBlock(x, y, z, Blocks.fire);
break;
}
}
}
for(int i = 0; i < 3; i++) {
NBTTagCompound haze = new NBTTagCompound();
haze.setString("type", "haze");
PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(haze, grenade.posX + grenade.worldObj.rand.nextGaussian() * 4, grenade.posY, grenade.posZ + grenade.worldObj.rand.nextGaussian() * 4), new TargetPoint(grenade.dimension, grenade.posX, grenade.posY, grenade.posZ, 150));
}
};
public static Consumer<EntityGrenadeUniversal> EXPLODE_EMP = (grenade) -> {
explodeStandardEnergy(grenade, 30F, 3F, DamageClass.ELECTRIC, 0.5F, 0.5F, 1F, 3F);
};

View File

@ -598,7 +598,7 @@ public class ClientProxy extends ServerProxy {
RenderingRegistry.registerEntityRenderingHandler(EntityBulletBaseMK4.class, new RenderBulletMK4());
RenderingRegistry.registerEntityRenderingHandler(EntityBulletBaseMK4CL.class, new RenderBulletMK4());
RenderingRegistry.registerEntityRenderingHandler(EntityBulletBeamBase.class, new RenderBeam());
RenderingRegistry.registerEntityRenderingHandler(EntityExplosiveBeam.class, new RenderBeam5());
RenderingRegistry.registerEntityRenderingHandler(EntityB92Beam.class, new RenderBeam5());
RenderingRegistry.registerEntityRenderingHandler(EntitySiegeLaser.class, new RenderSiegeLaser());
RenderingRegistry.registerEntityRenderingHandler(EntityBombletZeta.class, new RenderBombletTheta());
RenderingRegistry.registerEntityRenderingHandler(EntityMeteor.class, new RenderMeteor());
@ -633,49 +633,6 @@ public class ClientProxy extends ServerProxy {
RenderingRegistry.registerEntityRenderingHandler(EntityWaypoint.class, new RenderMist());
RenderingRegistry.registerEntityRenderingHandler(EntityAcidBomb.class, new RenderSnowball(Items.slime_ball));
//grenades
RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeGeneric.class, new RenderSnowball(ModItems.grenade_generic));
RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeStrong.class, new RenderSnowball(ModItems.grenade_strong));
RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeFrag.class, new RenderSnowball(ModItems.grenade_frag));
RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeFire.class, new RenderSnowball(ModItems.grenade_fire));
RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeCluster.class, new RenderSnowball(ModItems.grenade_cluster));
RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeFlare.class, new RenderFlare());
RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeElectric.class, new RenderSnowball(ModItems.grenade_electric));
RenderingRegistry.registerEntityRenderingHandler(EntityGrenadePoison.class, new RenderSnowball(ModItems.grenade_poison));
RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeGas.class, new RenderSnowball(ModItems.grenade_gas));
RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeSchrabidium.class, new RenderSnowball(ModItems.grenade_schrabidium));
RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeNuke.class, new RenderSnowball(ModItems.grenade_nuke));
RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeNuclear.class, new RenderSnowball(ModItems.grenade_nuclear));
RenderingRegistry.registerEntityRenderingHandler(EntityGrenadePlasma.class, new RenderSnowball(ModItems.grenade_plasma));
RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeTau.class, new RenderSnowball(ModItems.grenade_tau));
RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeLemon.class, new RenderSnowball(ModItems.grenade_lemon));
RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeMk2.class, new RenderGrenade());
RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeZOMG.class, new RenderSnowball(ModItems.grenade_zomg));
RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeASchrab.class, new RenderGrenade());
RenderingRegistry.registerEntityRenderingHandler(EntityGrenadePulse.class, new RenderSnowball(ModItems.grenade_pulse));
RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeShrapnel.class, new RenderSnowball(ModItems.grenade_shrapnel));
RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeBlackHole.class, new RenderSnowball(ModItems.grenade_black_hole));
RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeGascan.class, new RenderSnowball(ModItems.grenade_gascan));
RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeCloud.class, new RenderSnowball(ModItems.grenade_cloud));
RenderingRegistry.registerEntityRenderingHandler(EntityGrenadePC.class, new RenderSnowball(ModItems.grenade_pink_cloud));
RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeSmart.class, new RenderSnowball(ModItems.grenade_smart));
RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeMIRV.class, new RenderSnowball(ModItems.grenade_mirv));
RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeBreach.class, new RenderSnowball(ModItems.grenade_breach));
RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeBurst.class, new RenderSnowball(ModItems.grenade_burst));
RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeIFGeneric.class, new RenderSnowball(ModItems.grenade_if_generic));
RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeIFHE.class, new RenderSnowball(ModItems.grenade_if_he));
RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeIFBouncy.class, new RenderSnowball(ModItems.grenade_if_bouncy));
RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeIFSticky.class, new RenderSnowball(ModItems.grenade_if_sticky));
RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeIFImpact.class, new RenderSnowball(ModItems.grenade_if_impact));
RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeIFIncendiary.class, new RenderSnowball(ModItems.grenade_if_incendiary));
RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeIFToxic.class, new RenderSnowball(ModItems.grenade_if_toxic));
RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeIFConcussion.class, new RenderSnowball(ModItems.grenade_if_concussion));
RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeIFBrimstone.class, new RenderSnowball(ModItems.grenade_if_brimstone));
RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeIFMystery.class, new RenderSnowball(ModItems.grenade_if_mystery));
RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeIFSpark.class, new RenderSnowball(ModItems.grenade_if_spark));
RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeIFHopwire.class, new RenderSnowball(ModItems.grenade_if_hopwire));
RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeIFNull.class, new RenderSnowball(ModItems.grenade_if_null));
RenderingRegistry.registerEntityRenderingHandler(EntityWastePearl.class, new RenderSnowball(ModItems.nuclear_waste_pearl));
RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeDynamite.class, new RenderSnowball(ModItems.stick_dynamite));
RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeBouncyGeneric.class, new RenderGenericGrenade());
RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeImpactGeneric.class, new RenderGenericGrenade());
RenderingRegistry.registerEntityRenderingHandler(EntityDisperserCanister.class, new RenderGenericGrenade());

View File

@ -629,8 +629,6 @@ public class CraftingManager {
addRecipeAuto(new ItemStack(ModItems.jackt2), new Object[] { "S S", "LIL", "III", 'S', STEEL.plate(), 'L', Items.leather, 'I', ANY_RUBBER.ingot() });
addRecipeAuto(new ItemStack(ModBlocks.vent_chlorine), new Object[] { "IGI", "ICI", "IDI", 'I', IRON.plate(), 'G', Blocks.iron_bars, 'C', ModItems.pellet_gas, 'D', Blocks.dispenser });
addRecipeAuto(new ItemStack(ModBlocks.vent_chlorine_seal), new Object[] { "ISI", "SCS", "ISI", 'I', BIGMT.ingot(), 'S', STAR.ingot(), 'C', ModItems.chlorine_pinwheel });
addRecipeAuto(new ItemStack(ModBlocks.vent_cloud), new Object[] { "IGI", "ICI", "IDI", 'I', IRON.plate(), 'G', Blocks.iron_bars, 'C', ModItems.grenade_cloud, 'D', Blocks.dispenser });
addRecipeAuto(new ItemStack(ModBlocks.vent_pink_cloud), new Object[] { "IGI", "ICI", "IDI", 'I', IRON.plate(), 'G', Blocks.iron_bars, 'C', ModItems.grenade_pink_cloud, 'D', Blocks.dispenser });
addRecipeAuto(new ItemStack(ModBlocks.spikes, 4), new Object[] { "BBB", "BBB", "TTT", 'B', STEEL.bolt(), 'T', STEEL.ingot() });
addRecipeAuto(new ItemStack(ModItems.custom_fall, 1), new Object[] { "IIP", "CHW", "IIP", 'I', ANY_RUBBER.ingot(), 'P', BIGMT.plate(), 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.ADVANCED), 'H', STEEL.shell(), 'W', ModItems.coil_copper });
addRecipeAuto(new ItemStack(ModBlocks.machine_controller, 1), new Object[] { "TDT", "DCD", "TDT", 'T', ANY_RESISTANTALLOY.ingot(), 'D', ModItems.crt_display, 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.ADVANCED) });

View File

@ -1525,6 +1525,50 @@ public class MainRegistry {
ignoreMappings.add("hbm:tile.absorber_red");
ignoreMappings.add("hbm:tile.absorber_green");
ignoreMappings.add("hbm:tile.absorber_pink");
ignoreMappings.add("hbm:item.grenade_generic");
ignoreMappings.add("hbm:item.grenade_strong");
ignoreMappings.add("hbm:item.grenade_frag");
ignoreMappings.add("hbm:item.grenade_fire");
ignoreMappings.add("hbm:item.grenade_shrapnel");
ignoreMappings.add("hbm:item.grenade_cluster");
ignoreMappings.add("hbm:item.grenade_flare");
ignoreMappings.add("hbm:item.grenade_electric");
ignoreMappings.add("hbm:item.grenade_poison");
ignoreMappings.add("hbm:item.grenade_gas");
ignoreMappings.add("hbm:item.grenade_cloud");
ignoreMappings.add("hbm:item.grenade_pink_cloud");
ignoreMappings.add("hbm:item.grenade_smart");
ignoreMappings.add("hbm:item.grenade_mirv");
ignoreMappings.add("hbm:item.grenade_breach");
ignoreMappings.add("hbm:item.grenade_burst");
ignoreMappings.add("hbm:item.grenade_pulse");
ignoreMappings.add("hbm:item.grenade_plasma");
ignoreMappings.add("hbm:item.grenade_tau");
ignoreMappings.add("hbm:item.grenade_schrabidium");
ignoreMappings.add("hbm:item.grenade_nuke");
ignoreMappings.add("hbm:item.grenade_lemon");
ignoreMappings.add("hbm:item.grenade_gascan");
ignoreMappings.add("hbm:item.grenade_kyiv");
ignoreMappings.add("hbm:item.grenade_mk2");
ignoreMappings.add("hbm:item.grenade_aschrab");
ignoreMappings.add("hbm:item.grenade_nuclear");
ignoreMappings.add("hbm:item.grenade_zomg");
ignoreMappings.add("hbm:item.grenade_black_hole");
ignoreMappings.add("hbm:item.grenade_if_generic");
ignoreMappings.add("hbm:item.grenade_if_he");
ignoreMappings.add("hbm:item.grenade_if_bouncy");
ignoreMappings.add("hbm:item.grenade_if_sticky");
ignoreMappings.add("hbm:item.grenade_if_impact");
ignoreMappings.add("hbm:item.grenade_if_incendiary");
ignoreMappings.add("hbm:item.grenade_if_toxic");
ignoreMappings.add("hbm:item.grenade_if_concussion");
ignoreMappings.add("hbm:item.grenade_if_brimstone");
ignoreMappings.add("hbm:item.grenade_if_mystery");
ignoreMappings.add("hbm:item.grenade_if_spark");
ignoreMappings.add("hbm:item.grenade_if_hopwire");
ignoreMappings.add("hbm:item.grenade_if_null");
ignoreMappings.add("hbm:item.grenade_kit");
ignoreMappings.add("hbm:item.nuclear_waste_pearl");
/// REMAP ///
remapItems.put("hbm:item.gadget_explosive8", ModItems.early_explosive_lenses);

View File

@ -960,8 +960,6 @@ public class ResourceManager {
public static final IModelCustom lance = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/lance.obj"));
public static final IModelCustom grenade_frag = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/grenade_frag.obj"));
public static final IModelCustom grenade_aschrab = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/grenade_aschrab.obj"));
public static final IModelCustom grenades = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/grenades.obj"));
public static final IModelCustom armor_bj = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/armor/BJ.obj")).asVBO();
@ -1102,8 +1100,6 @@ public class ResourceManager {
public static final ResourceLocation ff_gun_dark = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/ff/gun_dark.png");
public static final ResourceLocation ff_gun_normal = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/ff/gun_normal.png");
public static final ResourceLocation grenade_mk2 = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/grenade_mk2.png");
public static final ResourceLocation grenade_aschrab_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/grenade_aschrab.png");
public static final ResourceLocation grenade_frag_tex = new ResourceLocation(RefStrings.MODID, "textures/models/grenades/frag.png");
public static final ResourceLocation grenade_frag_body_tex = new ResourceLocation(RefStrings.MODID, "textures/models/grenades/frag_body.png");
public static final ResourceLocation grenade_frag_label_tex = new ResourceLocation(RefStrings.MODID, "textures/models/grenades/frag_label.png");

View File

@ -1,57 +0,0 @@
package com.hbm.render.entity.projectile;
import org.lwjgl.opengl.GL11;
import com.hbm.entity.grenade.EntityGrenadeASchrab;
import com.hbm.entity.grenade.EntityGrenadeMk2;
import com.hbm.main.ResourceManager;
import net.minecraft.client.renderer.entity.Render;
import net.minecraft.entity.Entity;
import net.minecraft.util.ResourceLocation;
public class RenderGrenade extends Render {
@Override
public void doRender(Entity grenade, double x, double y, double z, float f0, float interp) {
GL11.glPushMatrix();
GL11.glTranslatef((float)x, (float)y + 0.125F, (float)z);
GL11.glRotatef(grenade.prevRotationYaw + (grenade.rotationYaw - grenade.prevRotationYaw) * interp - 90.0F, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(grenade.prevRotationPitch + (grenade.rotationPitch - grenade.prevRotationPitch) * interp, 0.0F, 0.0F, 1.0F);
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glEnable(GL11.GL_CULL_FACE);
GL11.glShadeModel(GL11.GL_SMOOTH);
bindTexture(getEntityTexture(grenade));
if(grenade instanceof EntityGrenadeMk2) {
GL11.glRotatef(90, 0F, 1F, 0F);
GL11.glScaled(0.125, 0.125, 0.125);
ResourceManager.grenade_frag.renderAll();
}
if(grenade instanceof EntityGrenadeASchrab) {
GL11.glRotatef(90, 0F, 1F, 0F);
GL11.glScaled(0.125, 0.125, 0.125);
ResourceManager.grenade_aschrab.renderAll();
}
GL11.glShadeModel(GL11.GL_FLAT);
GL11.glPopMatrix();
}
@Override
protected ResourceLocation getEntityTexture(Entity grenade) {
if(grenade instanceof EntityGrenadeMk2) {
return ResourceManager.grenade_mk2;
}
if(grenade instanceof EntityGrenadeASchrab) {
return ResourceManager.grenade_aschrab_tex;
}
return null;
}
}

View File

@ -2130,49 +2130,32 @@ item.glowing_stew.name=Leuchtende Pilzsuppe
item.glyphid_meat.name=Glyphidfleisch
item.glyphid_meat_grilled.name=Gegrilltes Glyphidfleisch
item.goggles.name=Schutzbrille
item.grenade_aschrab.name=Werfbare Antischrabidiumzelle
item.grenade_black_hole.name=Schwarzes-Loch-Granate
item.grenade_breach.name=Durchbruchgranate
item.grenade_burst.name=Gräbergranate
item.grenade_cloud.name=Gefäß voll ätzenden Dämpfen
item.grenade_cluster.name=Cluster-Bombe
item.grenade_electric.name=Blitzbombe
item.grenade_fire.name=Brandsplittergranate
item.grenade_flare.name=Signalfeuer
item.grenade_frag.name=Splittergranate
item.grenade_gas.name=Gasgranate
item.grenade_gascan.name=Werfbarer Spritkanister
item.grenade_generic.name=Handgranate
item.grenade_if_bouncy.name=IF - Elastissche Granate
item.grenade_if_brimstone.name=IF - Werfbare Brimstone-Mine
item.grenade_if_concussion.name=IF - Erschütterungsgranate
item.grenade_if_generic.name=IF - Nullgranate
item.grenade_if_he.name=IF - HE-Granate
item.grenade_if_hopwire.name=IF - Vortex Hopwire
item.grenade_if_impact.name=IF - Aufschlaggranate
item.grenade_if_incendiary.name=IF - Brandgranate
item.grenade_if_mystery.name=IF - M.-Granate
item.grenade_if_null.name=IF - Null-Granate
item.grenade_if_spark.name=IF - S.-Granate
item.grenade_if_sticky.name=IF - Klebrige Granate
item.grenade_if_toxic.name=IF - Toxische Granate
item.grenade_kit.name=Granaten Kit
item.grenade_kyiv.name=Das Kiew Spezial
item.grenade_lemon.name=Zitronengranate
item.grenade_mirv.name=MIRV-Granate
item.grenade_mk2.name=Mk 2 Granate "Botschafter Ananas"
item.grenade_nuclear.name=Nuka-Granate
item.grenade_nuke.name=Mark VI Bohrgranate
item.grenade_pink_cloud.name=Gefäß voll pinker Wolke
item.grenade_plasma.name=Plasmagranate
item.grenade_poison.name=Giftgranate
item.grenade_pulse.name=Impulsgranate
item.grenade_schrabidium.name=Schrabidiumgranate
item.grenade_shrapnel.name=Schrapnellgranate
item.grenade_smart.name=Smart-Granate
item.grenade_strong.name=Verbesserte Handgranate
item.grenade_tau.name=Taugranate
item.grenade_zomg.name=Negativenergie-Paarvernichtungsgranate
item.grenade_extra.frag_sleeve.name=Granatenextra - Splitterring
item.grenade_extra.glue.name=Granatenextra - Klebstoff
item.grenade_extra.proxy_fuze.name=Granatenextra - Annäherungszünder
item.grenade_extra.triplex.name=Granatenextra - Triplex
item.grenade_filling.cluster.name=Clustergranatenladung
item.grenade_filling.cluster_heavy.name=Schwere Clustergranatenladung
item.grenade_filling.demo.name=Abrissgranatenladung
item.grenade_filling.emp.name=EMP-Granatenladung
item.grenade_filling.he.name=Sprenggranatenladung
item.grenade_filling.inc.name=Brandgrantatenladung
item.grenade_filling.laser.name=Lasergrantatenladung
item.grenade_filling.nuclear.name=Atomare Granatenladung
item.grenade_filling.nuclear_demo.name=Atomare Abrissgranatenladung
item.grenade_filling.plasma.name=Plasmagranatenladung
item.grenade_filling.powder.name=Pulverladung
item.grenade_filling.wp.name=Weiße Phosphorgranatenladung
item.grenade_fuze.airburst.name=Luftdetonationszünder
item.grenade_fuze.impact.name=Aufschlagzünder
item.grenade_fuze.s3.name=Zeitzünder, 3s
item.grenade_fuze.s7.name=Zeitzünder, 7s
item.grenade_fuze.s15.name=Zeitzünder, 15s
item.grenade_shell.frag.name=Kompaktes Granatengehäuse
item.grenade_shell.nuke.name=Atomgranatengehäuse
item.grenade_shell.stick.name=Stielgranatengehäuse
item.grenade_shell.tech.name=High-Tech Granatengehäuse
item.grenade_universal.name=Granate
item.gun_aberrator.name=Aberrator
item.gun_aberrator_eott.name=Eyes Of The Tempest
item.gun_am180.name=.22er Maschinenpistole

View File

@ -2958,50 +2958,32 @@ item.glowing_stew.name=Glowing Mushroom Stew
item.glyphid_meat.name=Glyphid Meat
item.glyphid_meat_grilled.name=Grilled Glyphid Meat
item.goggles.name=Protection Goggles
item.grenade_aschrab.name=Tossable Antischrabidium Cell
item.grenade_black_hole.name=Black Hole Grenade
item.grenade_breach.name=Breaching Grenade
item.grenade_burst.name=Digger Grenade
item.grenate_cats.name=Grenade of Cats
item.grenade_cloud.name=Jar of Corrosive Fumes
item.grenade_cluster.name=Cluster Bomb
item.grenade_electric.name=Lightning Bomb
item.grenade_fire.name=Flame Frag Grenade
item.grenade_flare.name=Signal Flare
item.grenade_frag.name=Frag Grenade
item.grenade_gas.name=Gas Grenade
item.grenade_gascan.name=Tossable Gas Can
item.grenade_generic.name=Grenade
item.grenade_if_bouncy.name=IF - Bouncy Grenade
item.grenade_if_brimstone.name=IF - Tossable Brimstone Mine
item.grenade_if_concussion.name=IF - Concussion Grenade
item.grenade_if_generic.name=IF - Grenade
item.grenade_if_he.name=IF - HE Grenade
item.grenade_if_hopwire.name=IF - Vortex Hopwire
item.grenade_if_impact.name=IF - Impact Grenade
item.grenade_if_incendiary.name=IF - Incendiary Grenade
item.grenade_if_mystery.name=IF - M.-Grenade
item.grenade_if_null.name=IF - Null Grenade
item.grenade_if_spark.name=IF - S.-Grenade
item.grenade_if_sticky.name=IF - Sticky Grenade
item.grenade_if_toxic.name=IF - Toxic Grenade
item.grenade_kit.name=Grenade Kit
item.grenade_kyiv.name=The Kyiv Special
item.grenade_lemon.name=Combustible Lemon
item.grenade_mirv.name=MIRV Grenade
item.grenade_mk2.name=Mk 2 Grenade "Ambassador Pineapple"
item.grenade_nuclear.name=Nuka Grenade
item.grenade_nuke.name=Mark VI Drill Grenade
item.grenade_pink_cloud.name=Jar of Pink Cloud
item.grenade_plasma.name=Plasma Grenade
item.grenade_poison.name=Poison Grenade
item.grenade_pulse.name=Impulse Grenade
item.grenade_schrabidium.name=Schrabidium Grenade
item.grenade_shrapnel.name=Shrapnel Grenade
item.grenade_smart.name=Smart Grenade
item.grenade_strong.name=Enhanced Grenade
item.grenade_tau.name=Tau Grenade
item.grenade_zomg.name=Negative Energy Pair Annihilation Grenade
item.grenade_extra.frag_sleeve.name=Grenade Extra - Fragmentation Sleeve
item.grenade_extra.glue.name=Grenade Extra - Glue
item.grenade_extra.proxy_fuze.name=Grenade Extra - Proximity Fuze
item.grenade_extra.triplex.name=Grenade Extra - Triplex
item.grenade_filling.cluster.name=Cluster Grenade Charge
item.grenade_filling.cluster_heavy.name=Heavy Cluster Grenade Charge
item.grenade_filling.demo.name=Demolition Grenade Charge
item.grenade_filling.emp.name=EMP Grenade Charge
item.grenade_filling.he.name=High-Explosive Grenade Charge
item.grenade_filling.inc.name=Incendiary Grenade Charge
item.grenade_filling.laser.name=Laser Grenade Charge
item.grenade_filling.nuclear.name=Nuclear Grenade Charge
item.grenade_filling.nuclear_demo.name=Nuclear Demolition Grenade Charge
item.grenade_filling.plasma.name=Plasma Grenade Charge
item.grenade_filling.powder.name=Gunpowder Grenade Charge
item.grenade_filling.wp.name=White Phosphorus Grenade Charge
item.grenade_fuze.airburst.name=Airburst Grenade Fuze
item.grenade_fuze.impact.name=Impact Grenade Fuze
item.grenade_fuze.s3.name=Timed Grenade Fuze, 3s
item.grenade_fuze.s7.name=Timed Grenade Fuze, 7s
item.grenade_fuze.s15.name=Timed Grenade Fuze, 15s
item.grenade_shell.frag.name=Compact Grenade Shell
item.grenade_shell.nuke.name=Nuclear Grenade Shell
item.grenade_shell.stick.name=Stick Grenade Shell
item.grenade_shell.tech.name=High-Tech Grenade Shell
item.grenade_universal.name=Grenade
item.glyphid_gland.name= Gland
item.glyphid_gland_empty.name= Glyphid's Fluid Gland
item.gun_aberrator.name=Aberrator

Binary file not shown.

Before

Width:  |  Height:  |  Size: 376 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 269 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 322 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 387 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 344 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 293 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 285 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 228 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 312 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 356 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 215 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 308 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 196 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 375 B

After

Width:  |  Height:  |  Size: 378 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 197 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 195 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 375 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 261 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 284 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 313 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 276 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 278 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 319 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 326 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 341 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 315 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 299 B

Some files were not shown because too many files have changed in this diff Show More