diff --git a/assets/hbm/lang/de_DE.lang b/assets/hbm/lang/de_DE.lang index 5545525ad..56623495d 100644 --- a/assets/hbm/lang/de_DE.lang +++ b/assets/hbm/lang/de_DE.lang @@ -3,6 +3,10 @@ itemGroup.tabParts=Nuclear Tech Mod Bauteile itemGroup.tabBlocks=Nuclear Tech Mod Blöcke itemGroup.tabNuke=Nuclear Tech Mod Bomben +item.record.lc.desc=Valve - Diabolic Adrenaline Guitar/Lambda Core +item.record.ss.desc=Valve - Sector Sweep +item.record.vc.desc=Valve - Vortal Combat + death.attack.nuclearBlast=%1$s wurde von einer Atomexplosion weggeblasen. death.attack.revolverBullet=%1$s wurde von %2$s in den Kopf geschossen. death.attack.mudPoisoning=%1$s starb an Giftschlamm. @@ -14,8 +18,13 @@ death.attack.tauBlast=%1$s lud die XVL1456 zu lange auf und wurde in Stücke ger death.attack.chopperBullet=%1$s wurde von %2$s gerekt. death.attack.cmb=%1$s wurde von %2$s pulverisiert. death.attack.subAtomic=%1$s's Atome wurden von %2$s vernichtet. +death.attack.subAtomic2=%1$s verließ das QPU-Gitter weil %2$s seine De-Facto-Geschwindigkeit manipulierte. +death.attack.subAtomic3=%1$s's Divergenzwert fiel wegen %2$s unter den 1%-Wert. +death.attack.subAtomic4=%1$s wurde von %2$s durch null geteilt. +death.attack.subAtomic5=%1$s wurde von %2$s nullifiziert. death.attack.radiation=%1$s starb an Strahlenvergiftung. death.attack.acid=%1$s fiel in Säure. +death.attack.suicide=%1$s blies sich die Rübe weg. item.redstone_sword.name=Redstoneschwert item.big_sword.name=Großes Schwert @@ -109,7 +118,7 @@ tile.red_wire_coated.name=Geschirmtes rotes Kupferkabel tile.machine_deuterium.name=Deuteriumextraktor container.machine_deuterium=Deuteriumextraktor tile.machine_battery.name=Energiespeicherblock -container.battery=Energiespeicherblock +container.battery=Energiespeicher tile.machine_coal_off.name=Kohlegenerator tile.machine_coal_on.name=Kohlegenerator container.machineCoal=Kohlegenerator @@ -248,6 +257,7 @@ tile.block_uranium.name=Uranblock tile.block_trinitite.name=Trinititblock tile.block_beryllium.name=Berylliumblock tile.block_waste.name=Atommüllblock +tile.block_scrap.name=Schrottblock tile.block_advanced_alloy.name=Fortgeschrittener Legierungsblock tile.block_magnetized_tungsten.name=Magnetisierter Wolframblock tile.block_combine_steel.name=CMB-Stahlblock @@ -263,6 +273,13 @@ tile.ore_uranium.name=Uranerz tile.ore_schrabidium.name=Schrabidiumerz tile.ore_beryllium.name=Berylliumerz +tile.ore_nether_uranium.name=Nether-Uranerz +tile.ore_nether_plutonium.name=Nether-Plutoniumerz +tile.ore_nether_tungsten.name=Nether-Wolframerz +tile.ore_nether_sulfur.name=Nether-Schwefelerz +tile.ore_nether_fire.name=Feuererz +tile.ore_nether_schrabidium.name=Nether-Schrabidiumerz + tile.reinforced_brick.name=Verstärkter Stein tile.reinforced_glass.name=Verstärktes Glas tile.reinforced_sand.name=Verstärkter Sandstein @@ -277,6 +294,8 @@ tile.brick_light.name=Helle Ziegel tile.cmb_brick.name=CMB-Stahlfliese tile.cmb_brick_reinforced.name=Verstärkte CMB-Ziegel +tile.gravel_obsidian.name=Gebrochener Obsidian + item.nugget_uranium.name=Urannugget item.nugget_plutonium.name=Plutoniumnugget item.nugget_neptunium.name=Neptuniumnugget @@ -297,6 +316,7 @@ item.powder_copper.name=Kupferstaub item.powder_titanium.name=Titanstaub item.powder_tungsten.name=Wolframstaub item.powder_uranium.name=Uranstaub +item.powder_plutonium.name=Plutoniumstaub item.dust.name=Staub item.powder_coal.name=Kohlestaub item.powder_lapis.name=Lapis Lazuli-Staub @@ -305,15 +325,15 @@ item.powder_diamond.name=Diamantstaub item.powder_red_copper.name=Roter Kupfer Staub item.powder_steel.name=Stahlstaub item.powder_magnetized_tungsten.name=Magnetisierter Wolframstaub -item.powder_combine_steel.name=CMB-Stahlstaustaub +item.powder_combine_steel.name=CMB-Stahlstaub item.powder_lithium.name=Lithiumstaub item.powder_advanced_alloy.name=Fortgeschrittener Legierungsstaub item.powder_quartz.name=Quarzstaub item.powder_power.name=Energiepulver -item.powder_iodine.name=Iodpulver -item.powder_thorium.name=Thoriumpulver -item.powder_neodymium.name=Neodympulver -item.powder_astatine.name=Astatpulver +item.powder_iodine.name=Iodstaub +item.powder_thorium.name=Thoriumstaub +item.powder_neodymium.name=Neodymstaub +item.powder_astatine.name=Astatstaub item.battery_generic.name=Batterie item.battery_advanced.name=Fortgeschrittene Batterie @@ -337,6 +357,7 @@ item.reactor_core.name=Brutreaktorkern item.pellet_rtg.name=Plutonium 238 Pellet item.rtg_unit.name=RTG Einheit item.hazmat_cloth.name=Strahlenschutzanzugsstoff +item.filter_coal.name=Aktivkohlefilter item.tritium_deuterium_cake.name=Tritium-Deuterium-Kuchen item.cell_empty.name=Leere Zelle @@ -365,6 +386,7 @@ item.inf_antischrabidium.name=Unendlicher Antischrabidiumtank item.canister_empty.name=Leerer Kanister item.canister_fuel.name=Treibstoffkanister item.canister_napalm.name=Napalm B +item.canister_NITAN.name=NITAN© 100 Oktan Supertreibstoff item.rod_empty.name=Leerer Brennstab item.rod_uranium.name=Uranbrennstab @@ -483,8 +505,10 @@ item.grenade_tau.name=Taugranate item.grenade_schrabidium.name=Schrabidiumgranate item.grenade_lemon.name=Zitronengranate item.grenade_mk2.name=Mk 2 Granate "Botschafter Ananas" +item.grenade_aschrab.name=Werfbare Antischrabidiumzelle item.grenade_nuke.name=Mark VI Bohrgranate item.grenade_nuclear.name=Nuka-Granate +item.grenade_zomg.name=Negativenergie-Paarvernichtungsgranate item.rod_uranium_fuel.name=Urankernbrennstoffzelle item.rod_dual_uranium_fuel.name=Doppelte Urankernbrennstoffzelle @@ -552,10 +576,11 @@ item.gun_revolver_cursed.name=Verfluchte Pistole item.gun_fatman.name=M42 Nukleares Katapult "Fat Man" item.gun_xvl1456.name=XVL1456 Tau-Kanone Prototyp item.gun_osipr.name=Standartausrüstung für Sicherheitskräfte -item.gun_mp.name=Des Pazifistens Maschinengewehr +item.gun_mp.name=Maschinengewehr des Pazifisten item.gun_zomg.name=Singularitätsbetriebener Paarvernichtungsstrahl "ZOMG Kanone" item.gun_super_shotgun.name=Super Shotgun item.gun_moist_nugget.name=Moisn-Nagant +item.gun_revolver_inverted.name=Umgedrehter Revolver item.gun_revolver_iron_ammo.name=Patrone item.gun_revolver_ammo.name=Bleipatrone @@ -678,6 +703,14 @@ item.hazmat_helmet.name=Strahlenschutzhelm item.hazmat_plate.name=Strahlenschutzbrustplatte item.hazmat_legs.name=Strahlenschutzhose item.hazmat_boots.name=Strahlenschutzstiefel +item.hazmat_paa_helmet.name=PaA-Kampfschutzanzug Helm +item.hazmat_paa_plate.name=PaA-Kampfschutzanzug Brustplatte +item.hazmat_paa_legs.name=PaA-Kampfschutzanzug Hose +item.hazmat_paa_boots.name=PaA-Kampfschutzanzug Stiefel + +item.paa_plate.name=PaA-Brustschutzplatte +item.paa_legs.name=PaA-Beinverstärkungsschienen +item.paa_boots.name=PaA-"olle Latschen" item.goggles.name=Schutzbrille item.gas_mask.name=Gasmaske @@ -733,6 +766,10 @@ item.alloy_helmet.name=Legierungshelm item.alloy_plate.name=Legierungsbrustpanzer item.alloy_legs.name=Legierungsbeinschutz item.alloy_boots.name=Legierungsstiefel +item.cmb_helmet.name=CMB-Stahlhelm +item.cmb_plate.name=CMB-Stahlbrustpanzer +item.cmb_legs.name=CMB-Stahlbeinschutz +item.cmb_boots.name=CMB-Stahlstiefel item.steel_sword.name=Stahlschwert item.steel_pickaxe.name=Stahlspitzhacke @@ -749,6 +786,11 @@ item.alloy_pickaxe.name=Legierungsspitzhacke item.alloy_axe.name=Legierungsaxt item.alloy_shovel.name=Legierungsschaufel item.alloy_hoe.name=Legierungsfeldhacke +item.cmb_sword.name=CMB-Stahlschwert +item.cmb_pickaxe.name=CMB-Stahlspitzhacke +item.cmb_axe.name=CMB-Stahlaxt +item.cmb_shovel.name=CMB-Stahlschaufel +item.cmb_hoe.name=CMB-Stahlfeldhacke tile.red_cable.name=Rotes Kupferkabel tile.block_meteor.name=Meteoritenblock @@ -820,4 +862,8 @@ item.blades_steel.name=Stahlsägeblatt item.blades_titanium.name=Titansägeblatt item.blades_advanced_alloy.name=Fortgeschrittenes Sägeblatt item.blades_combine_steel.name=CMB-Sägeblatt -item.blades_schrabidium.name=Schrabidiumsägeblatt \ No newline at end of file +item.blades_schrabidium.name=Schrabidiumsägeblatt + +item.letter.name=Eilbrief + +item.chopper.name=Jagdschrauber \ No newline at end of file diff --git a/assets/hbm/lang/en_US.lang b/assets/hbm/lang/en_US.lang index e43e45594..bd5eae83f 100644 --- a/assets/hbm/lang/en_US.lang +++ b/assets/hbm/lang/en_US.lang @@ -3,6 +3,10 @@ itemGroup.tabParts=Nuclear Tech Mod Parts itemGroup.tabBlocks=Nuclear Tech Mod Blocks itemGroup.tabNuke=Nuclear Tech Mod Nukes +item.record.lc.desc=Valve - Diabolic Adrenaline Guitar/Lambda Core +item.record.ss.desc=Valve - Sector Sweep +item.record.vc.desc=Valve - Vortal Combat + death.attack.nuclearBlast=%1$s was blown away by a nuclear explosion. death.attack.revolverBullet=%1$s was shot in the head by %2$s. death.attack.mudPoisoning=%1$s died in poisonous mud. @@ -13,9 +17,14 @@ death.attack.tau=%1$s was riddeled by %2$s using negatively charged tauons. death.attack.tauBlast=%1$s charged the XVL1456 for too long and was blown into pieces. death.attack.chopperBullet=%1$s was rekt by %2$s. death.attack.cmb=%1$s was fizzeled by %2$s. -death.attack.subAtomic=%1$s's atoms were annihilated by %2$s. +death.attack.subAtomic=%1$s's atoms have been destroyed by %2$s. +death.attack.subAtomic2=%1$s was QPU-misaligned because %2$s tampered with his de facto speed. +death.attack.subAtomic3=%1$s's divergence dropped below 1% because of %2$s. +death.attack.subAtomic4=%1$s was divided by zero by %2$s. +death.attack.subAtomic5=%1$s was nullified by %2$s. death.attack.radiation=%1$s died from radiation poisoning. death.attack.acid=%1$s fell into acid. +death.attack.suicide=%1$s blew their head off. item.redstone_sword.name=Redstone Sword item.big_sword.name=Great Sword @@ -30,7 +39,7 @@ item.test_nuke_tier2_target.name=Subcritical MOX Target (Tier 2) item.gadget_explosive.name=Propellant item.gadget_explosive8.name=Bundle of Propellant -item.gadget_wireing.name=Wireing +item.gadget_wireing.name=Wiring item.gadget_core.name=Plutonium Core item.boy_igniter.name=Bomb Igniter @@ -88,9 +97,9 @@ tile.machine_difurnace_on.name=Alloy Furnace container.diFurnace=Alloy Furnace tile.machine_centrifuge.name=Centrifuge container.centrifuge=Centrifuge -tile.machine_uf6_tank.name=Uranium Hexafluorite Tank +tile.machine_uf6_tank.name=Uranium Hexafluoride Tank container.uf6_tank=UF6 Tank -tile.machine_puf6_tank.name=Plutonium Hexafluorite Tank +tile.machine_puf6_tank.name=Plutonium Hexafluoride Tank container.puf6_tank=PuF6 Tank tile.machine_reactor.name=Breeding Reactor container.reactor=Breeding Reactor @@ -109,7 +118,7 @@ tile.red_wire_coated.name=Coated Red Copper Cable tile.machine_deuterium.name=Deuterium Extractor container.machine_deuterium=Deuterium Extractor tile.machine_battery.name=Energy Storage Block -container.battery=Energy Storage Block +container.battery=Energy Storage tile.machine_coal_off.name=Coal Generator tile.machine_coal_on.name=Coal Generator container.machineCoal=Coal Generator @@ -248,6 +257,7 @@ tile.block_uranium.name=Block of Uranium tile.block_trinitite.name=Block of Trinitite tile.block_beryllium.name=Block of Beryllium tile.block_waste.name=Block of Nuclear Waste +tile.block_scrap.name=Block of Scrap tile.block_advanced_alloy.name=Block of Advanced Alloy tile.block_magnetized_tungsten.name=Block of Magnetized Tungsten tile.block_combine_steel.name=Block of CMB Steel @@ -263,6 +273,13 @@ tile.ore_uranium.name=Uranium Ore tile.ore_schrabidium.name=Schrabidium Ore tile.ore_beryllium.name=Beryllium Ore +tile.ore_nether_uranium.name=Nether Uranium Ore +tile.ore_nether_plutonium.name=Nether Plutonium Ore +tile.ore_nether_tungsten.name=Nether Tungsten Ore +tile.ore_nether_sulfur.name=Nether Sulfur Ore +tile.ore_nether_fire.name=Fire Ore +tile.ore_nether_schrabidium.name=Nether Schrabidium Ore + tile.reinforced_brick.name=Reinforced Stone tile.reinforced_glass.name=Reinforced Glass tile.reinforced_sand.name=Reinforced Sandstone @@ -277,6 +294,8 @@ tile.brick_light.name=Light Bricks tile.cmb_brick.name=CMB Steel Tile tile.cmb_brick_reinforced.name=Reinforced CMB Bricks +tile.gravel_obsidian.name=Crushed Obsidian + item.nugget_uranium.name=Uranium Nugget item.nugget_plutonium.name=Plutonium Nugget item.nugget_neptunium.name=Neptunium Nugget @@ -297,6 +316,7 @@ item.powder_copper.name=Copper Powder item.powder_titanium.name=Titanium Powder item.powder_tungsten.name=Tungsten Powder item.powder_uranium.name=Uranium Powder +item.powder_plutonium.name=Plutonium Powder item.dust.name=Dust item.powder_coal.name=Coal Powder item.powder_lapis.name=Lapis Lazuli Powder @@ -337,6 +357,7 @@ item.reactor_core.name=Breeding Reactor Core item.pellet_rtg.name=Plutonium 238 Fuel Pellet item.rtg_unit.name=RTG Unit item.hazmat_cloth.name=Hazmat Cloth +item.filter_coal.name=Activated Carbon Filter item.tritium_deuterium_cake.name=Tritium-Deuterium-Cake item.cell_empty.name=Empty Cell @@ -365,6 +386,7 @@ item.inf_antischrabidium.name=Infinite Antischrabidium Tank item.canister_empty.name=Empty Canister item.canister_fuel.name=Fuel Canister item.canister_napalm.name=Napalm B +item.canister_NITAN.name=NITAN© 100 Octane Super Fuel item.rod_empty.name=Emty Rod item.rod_uranium.name=Uranium Rod @@ -433,7 +455,7 @@ item.powder_poison.name=Poison Powder item.pellet_gas.name=Poison Gas Cartridge item.nuke_starter_kit.name=Atomic Science Starter Kit -item.nuke_commercially_kit.name=Atomic Science Kit for Commercialy Uses +item.nuke_commercially_kit.name=Atomic Science Kit for Commercial Uses item.nuke_advanced_kit.name=Atomic Science Advanced Kit item.gadget_kit.name=The Gadget Kit item.boy_kit.name=Little Boy Kit @@ -483,8 +505,10 @@ item.grenade_tau.name=Tau Grenade item.grenade_schrabidium.name=Schrabidium Grenade item.grenade_lemon.name=Combustible Lemon item.grenade_mk2.name=Mk 2 Grenade "Ambassador Pineapple" +item.grenade_aschrab.name=Tossable Antischrabidium Cell item.grenade_nuke.name=Mark VI Drill Grenade item.grenade_nuclear.name=Nuka Grenade +item.grenade_zomg.name=Negative Energy Pair Annihilation Grenade item.rod_uranium_fuel.name=Uranium Fuel Rod item.rod_dual_uranium_fuel.name=Uranium Dual Fuel Rod @@ -556,6 +580,7 @@ item.gun_mp.name=Pacifist's Machine Gun item.gun_zomg.name=Singularity Powered Annihilation Ray "ZOMG Cannon" item.gun_super_shotgun.name=Super Shotgun item.gun_moist_nugget.name=Moisn-Nagant +item.gun_revolver_inverted.name=Flipped Revolver item.gun_revolver_iron_ammo.name=Bullet item.gun_revolver_ammo.name=Lead Bullet @@ -678,6 +703,14 @@ item.hazmat_helmet.name=Hazmat Helmet item.hazmat_plate.name=Hazmmat Chestplate item.hazmat_legs.name=Hazmat Leggings item.hazmat_boots.name=Hazmat Boots +item.hazmat_paa_helmet.name=PaA Battle Hazmat Suit Helmet +item.hazmat_paa_plate.name=PaA Battle Hazmat Suit Chestplate +item.hazmat_paa_legs.name=PaA Battle Hazmat Suit Leggings +item.hazmat_paa_boots.name=PaA Battle Hazmat Suit Boots + +item.paa_plate.name=PaA Chest Protection Plate +item.paa_legs.name=PaA Leg Reinforcements +item.paa_boots.name=PaA "good ol' shoes" item.goggles.name=Protection Goggles item.gas_mask.name=Gas Mask @@ -733,6 +766,10 @@ item.alloy_helmet.name=Advanced Alloy Helmet item.alloy_plate.name=Advanced Alloy Chestplate item.alloy_legs.name=Advanced Alloy Leggings item.alloy_boots.name=Advanced Alloy Boots +item.cmb_helmet.name=CMB Steel Helmet +item.cmb_plate.name=CMB Steel Chestplate +item.cmb_legs.name=CMB Steel Leggings +item.cmb_boots.name=CMB Steel Boots item.steel_sword.name=Steel Sword item.steel_pickaxe.name=Steel Pickaxe @@ -749,6 +786,11 @@ item.alloy_pickaxe.name=Advanced Alloy Pickaxe item.alloy_axe.name=Advanced Alloy Axe item.alloy_shovel.name=Advanced Alloy Shovel item.alloy_hoe.name=Advanced Alloy Hoe +item.cmb_sword.name=CMB Steel Sword +item.cmb_pickaxe.name=CMB Steel Pickaxe +item.cmb_axe.name=CMB Steel Axe +item.cmb_shovel.name=CMB Steel Shovel +item.cmb_hoe.name=CMB Steel Hoe tile.red_cable.name=Red Copper Cable tile.block_meteor.name=Meteor Block @@ -820,4 +862,8 @@ item.blades_steel.name=Steel Shredder Blades item.blades_titanium.name=Titanium Shredder Blades item.blades_advanced_alloy.name=Advanced Shredder Blades item.blades_combine_steel.name=CMB Shredder Blades -item.blades_schrabidium.name=Schrabidium Shredder Blades \ No newline at end of file +item.blades_schrabidium.name=Schrabidium Shredder Blades + +item.letter.name=Express Mail + +item.chopper.name=Hunter Chopper \ No newline at end of file diff --git a/assets/hbm/sounds.json b/assets/hbm/sounds.json new file mode 100644 index 000000000..87f55db28 --- /dev/null +++ b/assets/hbm/sounds.json @@ -0,0 +1,33 @@ +{ + "misc.nullTau": {"category": "player", "sounds": [{"name": "misc/null", "stream": false}]}, + "misc.nullChopper": {"category": "player", "sounds": [{"name": "misc/null", "stream": false}]}, + "misc.nullCrashing": {"category": "player", "sounds": [{"name": "misc/null", "stream": false}]}, + "misc.nullMine": {"category": "player", "sounds": [{"name": "misc/null", "stream": false}]}, + + "block.crateBreak": {"category": "block", "sounds": ["block/crateBreak1", "block/crateBreak2", "block/crateBreak3", "block/crateBreak4", "block/crateBreak5"]}, + + "music.recordLambdaCore": {"category": "record", "sounds": [{"name": "music/recordLambdaCore", "stream": true}]}, + "music.recordSectorSweep": {"category": "record", "sounds": [{"name": "music/recordSectorSweep", "stream": true}]}, + "music.recordVortalCombat": {"category": "record", "sounds": [{"name": "music/recordVortalCombat", "stream": true}]}, + + "weapon.tauShoot": {"category": "player", "sounds": [{"name": "weapon/tauShoot", "stream": false}]}, + "weapon.tauChargeLoop2": {"category": "player", "sounds": [{"name": "weapon/tauChargeLoop2", "stream": true}]}, + "weapon.revolverShoot": {"category": "player", "sounds": [{"name": "weapon/revolverShoot", "stream": false}]}, + "weapon.heavyShoot": {"category": "player", "sounds": [{"name": "weapon/heavyShoot", "stream": false}]}, + "weapon.schrabidiumShoot": {"category": "player", "sounds": [{"name": "weapon/schrabidiumShoot", "stream": false}]}, + "weapon.osiprShoot": {"category": "player", "sounds": [{"name": "weapon/osiprShoot", "stream": false}]}, + "weapon.osiprAltFire": {"category": "player", "sounds": [{"name": "weapon/osiprAltFire", "stream": false}]}, + "weapon.osiprCharging": {"category": "player", "sounds": [{"name": "weapon/osiprCharging", "stream": false}]}, + "weapon.singFlyby": {"category": "player", "sounds": [{"name": "weapon/singFlyby", "stream": false}]}, + "weapon.rifleShoot": {"category": "player", "sounds": [{"name": "weapon/rifleShoot", "stream": false}]}, + "weapon.rpgShoot": {"category": "player", "sounds": [{"name": "weapon/rpgShoot", "stream": false}]}, + "weapon.fatmanShoot": {"category": "player", "sounds": [{"name": "weapon/fatmanShoot", "stream": false}]}, + "weapon.zomgShoot": {"category": "player", "sounds": [{"name": "weapon/zomgShoot", "stream": false}]}, + + "entity.chopperFlyingLoop": {"category": "hostile", "sounds": [{"name": "entity/chopperFlyingLoop", "stream": true}]}, + "entity.chopperDrop": {"category": "hostile", "sounds": [{"name": "entity/chopperDrop", "stream": false}]}, + "entity.chopperCharge": {"category": "hostile", "sounds": [{"name": "entity/chopperCharge", "stream": false}]}, + "entity.chopperDamage": {"category": "hostile", "sounds": [{"name": "entity/chopperDamage", "stream": true}]}, + "entity.chopperMineLoop": {"category": "hostile", "sounds": [{"name": "entity/chopperMineLoop", "stream": false}]}, + "entity.chopperCrashingLoop": {"category": "hostile", "sounds": [{"name": "entity/chopperCrashingLoop", "stream": true}]} +} diff --git a/assets/hbm/sounds/alarm/boeing707AutopilotDisconnected.ogg b/assets/hbm/sounds/alarm/boeing707AutopilotDisconnected.ogg new file mode 100644 index 000000000..b9cde9b9a Binary files /dev/null and b/assets/hbm/sounds/alarm/boeing707AutopilotDisconnected.ogg differ diff --git a/assets/hbm/sounds/block/crateBreak1.ogg b/assets/hbm/sounds/block/crateBreak1.ogg new file mode 100644 index 000000000..3732f3105 Binary files /dev/null and b/assets/hbm/sounds/block/crateBreak1.ogg differ diff --git a/assets/hbm/sounds/block/crateBreak2.ogg b/assets/hbm/sounds/block/crateBreak2.ogg new file mode 100644 index 000000000..b3925527d Binary files /dev/null and b/assets/hbm/sounds/block/crateBreak2.ogg differ diff --git a/assets/hbm/sounds/block/crateBreak3.ogg b/assets/hbm/sounds/block/crateBreak3.ogg new file mode 100644 index 000000000..637292c03 Binary files /dev/null and b/assets/hbm/sounds/block/crateBreak3.ogg differ diff --git a/assets/hbm/sounds/block/crateBreak4.ogg b/assets/hbm/sounds/block/crateBreak4.ogg new file mode 100644 index 000000000..9566c7e65 Binary files /dev/null and b/assets/hbm/sounds/block/crateBreak4.ogg differ diff --git a/assets/hbm/sounds/block/crateBreak5.ogg b/assets/hbm/sounds/block/crateBreak5.ogg new file mode 100644 index 000000000..2e2aa090a Binary files /dev/null and b/assets/hbm/sounds/block/crateBreak5.ogg differ diff --git a/assets/hbm/sounds/entity/chopperCharge.ogg b/assets/hbm/sounds/entity/chopperCharge.ogg new file mode 100644 index 000000000..1548cdbcc Binary files /dev/null and b/assets/hbm/sounds/entity/chopperCharge.ogg differ diff --git a/assets/hbm/sounds/entity/chopperCrashingLoop.ogg b/assets/hbm/sounds/entity/chopperCrashingLoop.ogg new file mode 100644 index 000000000..add81c5de Binary files /dev/null and b/assets/hbm/sounds/entity/chopperCrashingLoop.ogg differ diff --git a/assets/hbm/sounds/entity/chopperDamage.ogg b/assets/hbm/sounds/entity/chopperDamage.ogg new file mode 100644 index 000000000..2781a413d Binary files /dev/null and b/assets/hbm/sounds/entity/chopperDamage.ogg differ diff --git a/assets/hbm/sounds/entity/chopperDrop.ogg b/assets/hbm/sounds/entity/chopperDrop.ogg new file mode 100644 index 000000000..f9d3cc2d2 Binary files /dev/null and b/assets/hbm/sounds/entity/chopperDrop.ogg differ diff --git a/assets/hbm/sounds/entity/chopperFlyingLoop.ogg b/assets/hbm/sounds/entity/chopperFlyingLoop.ogg new file mode 100644 index 000000000..471d3670a Binary files /dev/null and b/assets/hbm/sounds/entity/chopperFlyingLoop.ogg differ diff --git a/assets/hbm/sounds/entity/chopperMineLoop.ogg b/assets/hbm/sounds/entity/chopperMineLoop.ogg new file mode 100644 index 000000000..f25b6b2ce Binary files /dev/null and b/assets/hbm/sounds/entity/chopperMineLoop.ogg differ diff --git a/assets/hbm/sounds/misc/null.ogg b/assets/hbm/sounds/misc/null.ogg new file mode 100644 index 000000000..309e855fc Binary files /dev/null and b/assets/hbm/sounds/misc/null.ogg differ diff --git a/assets/hbm/sounds/music/recordLambdaCore.ogg b/assets/hbm/sounds/music/recordLambdaCore.ogg new file mode 100644 index 000000000..43f4127f8 Binary files /dev/null and b/assets/hbm/sounds/music/recordLambdaCore.ogg differ diff --git a/assets/hbm/sounds/music/recordSectorSweep.ogg b/assets/hbm/sounds/music/recordSectorSweep.ogg new file mode 100644 index 000000000..b0c88140e Binary files /dev/null and b/assets/hbm/sounds/music/recordSectorSweep.ogg differ diff --git a/assets/hbm/sounds/music/recordVortalCombat.ogg b/assets/hbm/sounds/music/recordVortalCombat.ogg new file mode 100644 index 000000000..1843a90cd Binary files /dev/null and b/assets/hbm/sounds/music/recordVortalCombat.ogg differ diff --git a/assets/hbm/sounds/weapon/fatmanShoot.ogg b/assets/hbm/sounds/weapon/fatmanShoot.ogg new file mode 100644 index 000000000..661d657cc Binary files /dev/null and b/assets/hbm/sounds/weapon/fatmanShoot.ogg differ diff --git a/assets/hbm/sounds/weapon/heavyShoot.ogg b/assets/hbm/sounds/weapon/heavyShoot.ogg new file mode 100644 index 000000000..a15cc25da Binary files /dev/null and b/assets/hbm/sounds/weapon/heavyShoot.ogg differ diff --git a/assets/hbm/sounds/weapon/osiprAltFire.ogg b/assets/hbm/sounds/weapon/osiprAltFire.ogg new file mode 100644 index 000000000..e117016cd Binary files /dev/null and b/assets/hbm/sounds/weapon/osiprAltFire.ogg differ diff --git a/assets/hbm/sounds/weapon/osiprCharging.ogg b/assets/hbm/sounds/weapon/osiprCharging.ogg new file mode 100644 index 000000000..aa65e7ddb Binary files /dev/null and b/assets/hbm/sounds/weapon/osiprCharging.ogg differ diff --git a/assets/hbm/sounds/weapon/osiprShoot.ogg b/assets/hbm/sounds/weapon/osiprShoot.ogg new file mode 100644 index 000000000..155b3c98c Binary files /dev/null and b/assets/hbm/sounds/weapon/osiprShoot.ogg differ diff --git a/assets/hbm/sounds/weapon/revolverShoot.ogg b/assets/hbm/sounds/weapon/revolverShoot.ogg new file mode 100644 index 000000000..2e1618592 Binary files /dev/null and b/assets/hbm/sounds/weapon/revolverShoot.ogg differ diff --git a/assets/hbm/sounds/weapon/rifleShoot.ogg b/assets/hbm/sounds/weapon/rifleShoot.ogg new file mode 100644 index 000000000..88ea4e00d Binary files /dev/null and b/assets/hbm/sounds/weapon/rifleShoot.ogg differ diff --git a/assets/hbm/sounds/weapon/rpgShoot.ogg b/assets/hbm/sounds/weapon/rpgShoot.ogg new file mode 100644 index 000000000..59d02ce8c Binary files /dev/null and b/assets/hbm/sounds/weapon/rpgShoot.ogg differ diff --git a/assets/hbm/sounds/weapon/schrabidiumShoot.ogg b/assets/hbm/sounds/weapon/schrabidiumShoot.ogg new file mode 100644 index 000000000..d23419529 Binary files /dev/null and b/assets/hbm/sounds/weapon/schrabidiumShoot.ogg differ diff --git a/assets/hbm/sounds/weapon/singFlyby.ogg b/assets/hbm/sounds/weapon/singFlyby.ogg new file mode 100644 index 000000000..4dbd22471 Binary files /dev/null and b/assets/hbm/sounds/weapon/singFlyby.ogg differ diff --git a/assets/hbm/sounds/weapon/tauChargeLoop.ogg b/assets/hbm/sounds/weapon/tauChargeLoop.ogg new file mode 100644 index 000000000..4a378705b Binary files /dev/null and b/assets/hbm/sounds/weapon/tauChargeLoop.ogg differ diff --git a/assets/hbm/sounds/weapon/tauChargeLoop2.ogg b/assets/hbm/sounds/weapon/tauChargeLoop2.ogg new file mode 100644 index 000000000..275db15a8 Binary files /dev/null and b/assets/hbm/sounds/weapon/tauChargeLoop2.ogg differ diff --git a/assets/hbm/sounds/weapon/tauShoot.ogg b/assets/hbm/sounds/weapon/tauShoot.ogg new file mode 100644 index 000000000..a09b1ac43 Binary files /dev/null and b/assets/hbm/sounds/weapon/tauShoot.ogg differ diff --git a/assets/hbm/sounds/weapon/zomgShoot.ogg b/assets/hbm/sounds/weapon/zomgShoot.ogg new file mode 100644 index 000000000..e21fe0465 Binary files /dev/null and b/assets/hbm/sounds/weapon/zomgShoot.ogg differ diff --git a/assets/hbm/textures/armor/cmb_1.png b/assets/hbm/textures/armor/cmb_1.png new file mode 100644 index 000000000..072137248 Binary files /dev/null and b/assets/hbm/textures/armor/cmb_1.png differ diff --git a/assets/hbm/textures/armor/cmb_2.png b/assets/hbm/textures/armor/cmb_2.png new file mode 100644 index 000000000..789f95f33 Binary files /dev/null and b/assets/hbm/textures/armor/cmb_2.png differ diff --git a/assets/hbm/textures/armor/grenade_nan.png b/assets/hbm/textures/armor/grenade_nan.png new file mode 100644 index 000000000..b07dad82c Binary files /dev/null and b/assets/hbm/textures/armor/grenade_nan.png differ diff --git a/assets/hbm/textures/armor/hazmat_paa_1.png b/assets/hbm/textures/armor/hazmat_paa_1.png new file mode 100644 index 000000000..d10b7fbce Binary files /dev/null and b/assets/hbm/textures/armor/hazmat_paa_1.png differ diff --git a/assets/hbm/textures/armor/hazmat_paa_2.png b/assets/hbm/textures/armor/hazmat_paa_2.png new file mode 100644 index 000000000..95a152ace Binary files /dev/null and b/assets/hbm/textures/armor/hazmat_paa_2.png differ diff --git a/assets/hbm/textures/armor/paa_1.png b/assets/hbm/textures/armor/paa_1.png new file mode 100644 index 000000000..f40343b0c Binary files /dev/null and b/assets/hbm/textures/armor/paa_1.png differ diff --git a/assets/hbm/textures/armor/paa_2.png b/assets/hbm/textures/armor/paa_2.png new file mode 100644 index 000000000..89ace9e4d Binary files /dev/null and b/assets/hbm/textures/armor/paa_2.png differ diff --git a/assets/hbm/textures/blocks/block_scrap.png b/assets/hbm/textures/blocks/block_scrap.png new file mode 100644 index 000000000..befc53add Binary files /dev/null and b/assets/hbm/textures/blocks/block_scrap.png differ diff --git a/assets/hbm/textures/blocks/gravel_obsidian.png b/assets/hbm/textures/blocks/gravel_obsidian.png new file mode 100644 index 000000000..ffd84f6f8 Binary files /dev/null and b/assets/hbm/textures/blocks/gravel_obsidian.png differ diff --git a/assets/hbm/textures/blocks/gravel_obsidian_alt.png b/assets/hbm/textures/blocks/gravel_obsidian_alt.png new file mode 100644 index 000000000..7d60ca6de Binary files /dev/null and b/assets/hbm/textures/blocks/gravel_obsidian_alt.png differ diff --git a/assets/hbm/textures/blocks/ore_nether_fire.png b/assets/hbm/textures/blocks/ore_nether_fire.png new file mode 100644 index 000000000..9100e07bb Binary files /dev/null and b/assets/hbm/textures/blocks/ore_nether_fire.png differ diff --git a/assets/hbm/textures/blocks/ore_nether_plutonium.png b/assets/hbm/textures/blocks/ore_nether_plutonium.png new file mode 100644 index 000000000..e412752e6 Binary files /dev/null and b/assets/hbm/textures/blocks/ore_nether_plutonium.png differ diff --git a/assets/hbm/textures/blocks/ore_nether_schrabidium.png b/assets/hbm/textures/blocks/ore_nether_schrabidium.png new file mode 100644 index 000000000..4b0d00469 Binary files /dev/null and b/assets/hbm/textures/blocks/ore_nether_schrabidium.png differ diff --git a/assets/hbm/textures/blocks/ore_nether_sulfur.png b/assets/hbm/textures/blocks/ore_nether_sulfur.png new file mode 100644 index 000000000..967abe3a5 Binary files /dev/null and b/assets/hbm/textures/blocks/ore_nether_sulfur.png differ diff --git a/assets/hbm/textures/blocks/ore_nether_tungsten.png b/assets/hbm/textures/blocks/ore_nether_tungsten.png new file mode 100644 index 000000000..7c566fee3 Binary files /dev/null and b/assets/hbm/textures/blocks/ore_nether_tungsten.png differ diff --git a/assets/hbm/textures/blocks/ore_nether_uranium.png b/assets/hbm/textures/blocks/ore_nether_uranium.png new file mode 100644 index 000000000..ed0763da6 Binary files /dev/null and b/assets/hbm/textures/blocks/ore_nether_uranium.png differ diff --git a/assets/hbm/textures/entity/chopper.png b/assets/hbm/textures/entity/chopper.png new file mode 100644 index 000000000..6f5e48332 Binary files /dev/null and b/assets/hbm/textures/entity/chopper.png differ diff --git a/assets/hbm/textures/entity/fallout.png b/assets/hbm/textures/entity/fallout.png new file mode 100644 index 000000000..5c6384988 Binary files /dev/null and b/assets/hbm/textures/entity/fallout.png differ diff --git a/assets/hbm/textures/gui/gui_fwatz_multiblock.png b/assets/hbm/textures/gui/gui_fwatz_multiblock.png index 126d7f3d8..96a7bc15a 100644 Binary files a/assets/hbm/textures/gui/gui_fwatz_multiblock.png and b/assets/hbm/textures/gui/gui_fwatz_multiblock.png differ diff --git a/assets/hbm/textures/items/chopper.png b/assets/hbm/textures/items/chopper.png new file mode 100644 index 000000000..38bf8a7e5 Binary files /dev/null and b/assets/hbm/textures/items/chopper.png differ diff --git a/assets/hbm/textures/items/cmb_axe.png b/assets/hbm/textures/items/cmb_axe.png new file mode 100644 index 000000000..316144683 Binary files /dev/null and b/assets/hbm/textures/items/cmb_axe.png differ diff --git a/assets/hbm/textures/items/cmb_boots.png b/assets/hbm/textures/items/cmb_boots.png new file mode 100644 index 000000000..d7d4dcd12 Binary files /dev/null and b/assets/hbm/textures/items/cmb_boots.png differ diff --git a/assets/hbm/textures/items/cmb_helmet.png b/assets/hbm/textures/items/cmb_helmet.png new file mode 100644 index 000000000..ba1dcc352 Binary files /dev/null and b/assets/hbm/textures/items/cmb_helmet.png differ diff --git a/assets/hbm/textures/items/cmb_hoe.png b/assets/hbm/textures/items/cmb_hoe.png new file mode 100644 index 000000000..fccd1c153 Binary files /dev/null and b/assets/hbm/textures/items/cmb_hoe.png differ diff --git a/assets/hbm/textures/items/cmb_legs.png b/assets/hbm/textures/items/cmb_legs.png new file mode 100644 index 000000000..7981c3c33 Binary files /dev/null and b/assets/hbm/textures/items/cmb_legs.png differ diff --git a/assets/hbm/textures/items/cmb_pickaxe.png b/assets/hbm/textures/items/cmb_pickaxe.png new file mode 100644 index 000000000..e5d7729bd Binary files /dev/null and b/assets/hbm/textures/items/cmb_pickaxe.png differ diff --git a/assets/hbm/textures/items/cmb_plate.png b/assets/hbm/textures/items/cmb_plate.png new file mode 100644 index 000000000..148171dbc Binary files /dev/null and b/assets/hbm/textures/items/cmb_plate.png differ diff --git a/assets/hbm/textures/items/cmb_shovel.png b/assets/hbm/textures/items/cmb_shovel.png new file mode 100644 index 000000000..7d6911b95 Binary files /dev/null and b/assets/hbm/textures/items/cmb_shovel.png differ diff --git a/assets/hbm/textures/items/cmb_sword.png b/assets/hbm/textures/items/cmb_sword.png new file mode 100644 index 000000000..e9e6ec17b Binary files /dev/null and b/assets/hbm/textures/items/cmb_sword.png differ diff --git a/assets/hbm/textures/items/filter_coal.png b/assets/hbm/textures/items/filter_coal.png new file mode 100644 index 000000000..2294dc2f8 Binary files /dev/null and b/assets/hbm/textures/items/filter_coal.png differ diff --git a/assets/hbm/textures/items/grenade_aschrab.png b/assets/hbm/textures/items/grenade_aschrab.png new file mode 100644 index 000000000..55e1ec187 Binary files /dev/null and b/assets/hbm/textures/items/grenade_aschrab.png differ diff --git a/assets/hbm/textures/items/grenade_cluster_alt.png b/assets/hbm/textures/items/grenade_cluster_alt.png new file mode 100644 index 000000000..df175e718 Binary files /dev/null and b/assets/hbm/textures/items/grenade_cluster_alt.png differ diff --git a/assets/hbm/textures/items/grenade_electric_alt.png b/assets/hbm/textures/items/grenade_electric_alt.png new file mode 100644 index 000000000..4bbd9a39b Binary files /dev/null and b/assets/hbm/textures/items/grenade_electric_alt.png differ diff --git a/assets/hbm/textures/items/grenade_fire_alt.png b/assets/hbm/textures/items/grenade_fire_alt.png new file mode 100644 index 000000000..af68a2aa8 Binary files /dev/null and b/assets/hbm/textures/items/grenade_fire_alt.png differ diff --git a/assets/hbm/textures/items/grenade_flare_alt.png b/assets/hbm/textures/items/grenade_flare_alt.png new file mode 100644 index 000000000..a87fca67e Binary files /dev/null and b/assets/hbm/textures/items/grenade_flare_alt.png differ diff --git a/assets/hbm/textures/items/grenade_frag_alt.png b/assets/hbm/textures/items/grenade_frag_alt.png new file mode 100644 index 000000000..4dcf848dc Binary files /dev/null and b/assets/hbm/textures/items/grenade_frag_alt.png differ diff --git a/assets/hbm/textures/items/grenade_gas_alt.png b/assets/hbm/textures/items/grenade_gas_alt.png new file mode 100644 index 000000000..a386f9b7a Binary files /dev/null and b/assets/hbm/textures/items/grenade_gas_alt.png differ diff --git a/assets/hbm/textures/items/grenade_nuke_alt.png b/assets/hbm/textures/items/grenade_nuke_alt.png new file mode 100644 index 000000000..3419864d6 Binary files /dev/null and b/assets/hbm/textures/items/grenade_nuke_alt.png differ diff --git a/assets/hbm/textures/items/grenade_plasma_alt.png b/assets/hbm/textures/items/grenade_plasma_alt.png new file mode 100644 index 000000000..309dce343 Binary files /dev/null and b/assets/hbm/textures/items/grenade_plasma_alt.png differ diff --git a/assets/hbm/textures/items/grenade_poison_alt.png b/assets/hbm/textures/items/grenade_poison_alt.png new file mode 100644 index 000000000..db8953155 Binary files /dev/null and b/assets/hbm/textures/items/grenade_poison_alt.png differ diff --git a/assets/hbm/textures/items/grenade_schrabidium_alt.png b/assets/hbm/textures/items/grenade_schrabidium_alt.png new file mode 100644 index 000000000..290ae3b72 Binary files /dev/null and b/assets/hbm/textures/items/grenade_schrabidium_alt.png differ diff --git a/assets/hbm/textures/items/grenade_tau_alt.png b/assets/hbm/textures/items/grenade_tau_alt.png new file mode 100644 index 000000000..e42ec8249 Binary files /dev/null and b/assets/hbm/textures/items/grenade_tau_alt.png differ diff --git a/assets/hbm/textures/items/grenade_zomg.png b/assets/hbm/textures/items/grenade_zomg.png new file mode 100644 index 000000000..094e7f3da Binary files /dev/null and b/assets/hbm/textures/items/grenade_zomg.png differ diff --git a/assets/hbm/textures/items/gun_revolver_inverted.png b/assets/hbm/textures/items/gun_revolver_inverted.png new file mode 100644 index 000000000..1c9925700 Binary files /dev/null and b/assets/hbm/textures/items/gun_revolver_inverted.png differ diff --git a/assets/hbm/textures/items/hazmat_paa_boots.png b/assets/hbm/textures/items/hazmat_paa_boots.png new file mode 100644 index 000000000..fb3812a62 Binary files /dev/null and b/assets/hbm/textures/items/hazmat_paa_boots.png differ diff --git a/assets/hbm/textures/items/hazmat_paa_helmet.png b/assets/hbm/textures/items/hazmat_paa_helmet.png new file mode 100644 index 000000000..39e809905 Binary files /dev/null and b/assets/hbm/textures/items/hazmat_paa_helmet.png differ diff --git a/assets/hbm/textures/items/hazmat_paa_legs.png b/assets/hbm/textures/items/hazmat_paa_legs.png new file mode 100644 index 000000000..95b7e7887 Binary files /dev/null and b/assets/hbm/textures/items/hazmat_paa_legs.png differ diff --git a/assets/hbm/textures/items/hazmat_paa_plate.png b/assets/hbm/textures/items/hazmat_paa_plate.png new file mode 100644 index 000000000..c1d9c7f1b Binary files /dev/null and b/assets/hbm/textures/items/hazmat_paa_plate.png differ diff --git a/assets/hbm/textures/items/paa_boots.png b/assets/hbm/textures/items/paa_boots.png new file mode 100644 index 000000000..62aa699a5 Binary files /dev/null and b/assets/hbm/textures/items/paa_boots.png differ diff --git a/assets/hbm/textures/items/paa_legs.png b/assets/hbm/textures/items/paa_legs.png new file mode 100644 index 000000000..6be3ef0d1 Binary files /dev/null and b/assets/hbm/textures/items/paa_legs.png differ diff --git a/assets/hbm/textures/items/paa_plate.png b/assets/hbm/textures/items/paa_plate.png new file mode 100644 index 000000000..cfce3ddb8 Binary files /dev/null and b/assets/hbm/textures/items/paa_plate.png differ diff --git a/assets/hbm/textures/items/powder_plutonium.png b/assets/hbm/textures/items/powder_plutonium.png new file mode 100644 index 000000000..7f52da135 Binary files /dev/null and b/assets/hbm/textures/items/powder_plutonium.png differ diff --git a/assets/hbm/textures/items/record_lc.png b/assets/hbm/textures/items/record_lc.png new file mode 100644 index 000000000..94b608ffc Binary files /dev/null and b/assets/hbm/textures/items/record_lc.png differ diff --git a/assets/hbm/textures/items/record_ss.png b/assets/hbm/textures/items/record_ss.png new file mode 100644 index 000000000..c556efea9 Binary files /dev/null and b/assets/hbm/textures/items/record_ss.png differ diff --git a/assets/hbm/textures/items/record_vc.png b/assets/hbm/textures/items/record_vc.png new file mode 100644 index 000000000..b75b71e05 Binary files /dev/null and b/assets/hbm/textures/items/record_vc.png differ diff --git a/assets/hbm/textures/models/ModelMP.png b/assets/hbm/textures/models/ModelMP.png index 4fd02a6e8..a094364f6 100644 Binary files a/assets/hbm/textures/models/ModelMP.png and b/assets/hbm/textures/models/ModelMP.png differ diff --git a/assets/hbm/textures/models/ModelMP_alt.png b/assets/hbm/textures/models/ModelMP_alt.png new file mode 100644 index 000000000..4fd02a6e8 Binary files /dev/null and b/assets/hbm/textures/models/ModelMP_alt.png differ diff --git a/com/hbm/blocks/BlockCrashedBomb.java b/com/hbm/blocks/BlockCrashedBomb.java index 121a1beee..2d69dbea9 100644 --- a/com/hbm/blocks/BlockCrashedBomb.java +++ b/com/hbm/blocks/BlockCrashedBomb.java @@ -86,7 +86,7 @@ public class BlockCrashedBomb extends BlockContainer implements IBomb { entity0.posX = x; entity0.posY = y; entity0.posZ = z; - entity0.destructionRange = 35; + entity0.destructionRange = MainRegistry.fatmanRadius; entity0.speed = 25; entity0.coefficient = 10.0F; diff --git a/com/hbm/blocks/BlockCrate.java b/com/hbm/blocks/BlockCrate.java index 97418500b..943163009 100644 --- a/com/hbm/blocks/BlockCrate.java +++ b/com/hbm/blocks/BlockCrate.java @@ -34,6 +34,7 @@ public class BlockCrate extends BlockFalling { { dropItems(world, x, y, z); world.setBlockToAir(x, y, z); + world.playSoundEffect(x, y, z, "hbm:block.crateBreak", 1.0F, 1.0F); return true; } else { if(world.isRemote) @@ -49,7 +50,7 @@ public class BlockCrate extends BlockFalling { Random rand = new Random(); List list = new ArrayList(); - switch(rand.nextInt(23)) { + switch(rand.nextInt(32)) { case 0: list.add(ModItems.clip_revolver_iron); list.add(ModItems.clip_revolver_iron); @@ -149,6 +150,43 @@ public class BlockCrate extends BlockFalling { list.add(ModItems.syringe_metal_stimpak); list.add(ModItems.syringe_metal_stimpak); break; + case 23: + list.add(ModItems.clip_revolver_cursed); + list.add(ModItems.clip_revolver_cursed); + list.add(ModItems.clip_revolver_cursed); + break; + case 24: + list.add(ModItems.clip_revolver_lead); + list.add(ModItems.syringe_metal_stimpak); + break; + case 25: + list.add(ModItems.clip_revolver_lead); + list.add(ModItems.clip_revolver_lead); + break; + case 26: + list.add(ModItems.clip_mp); + break; + case 27: + list.add(ModItems.clip_fatman); + break; + case 28: + list.add(ModItems.clip_fatman); + list.add(ModItems.clip_rpg); + break; + case 29: + list.add(ModItems.grenade_generic); + list.add(ModItems.grenade_generic); + list.add(ModItems.grenade_generic); + break; + case 30: + list.add(ModItems.grenade_strong); + list.add(ModItems.grenade_strong); + list.add(ModItems.grenade_strong); + break; + case 31: + list.add(ModItems.grenade_mk2); + list.add(ModItems.grenade_mk2); + break; } for(Item stack : list) { diff --git a/com/hbm/blocks/BlockOre.java b/com/hbm/blocks/BlockOre.java index fbfa7f613..1f161914b 100644 --- a/com/hbm/blocks/BlockOre.java +++ b/com/hbm/blocks/BlockOre.java @@ -42,7 +42,7 @@ public class BlockOre extends Block { { return ModItems.niter; } - if(this == ModBlocks.ore_sulfur) + if(this == ModBlocks.ore_sulfur || this == ModBlocks.ore_nether_sulfur) { return ModItems.sulfur; } @@ -62,6 +62,10 @@ public class BlockOre extends Block { { return Items.snowball; } + if(this == ModBlocks.ore_nether_fire) + { + return p_149650_2_.nextInt(2) == 0 ? ModItems.powder_fire : Items.blaze_powder; + } return Item.getItemFromBlock(this); } @@ -77,7 +81,11 @@ public class BlockOre extends Block { { return 2 + p_149745_1_.nextInt(3); } - if(this == ModBlocks.ore_sulfur) + if(this == ModBlocks.ore_sulfur || this == ModBlocks.ore_nether_sulfur) + { + return 2 + p_149745_1_.nextInt(3); + } + if(this == ModBlocks.ore_nether_fire) { return 2 + p_149745_1_.nextInt(3); } diff --git a/com/hbm/blocks/Guide.java b/com/hbm/blocks/Guide.java index c814ef912..c4718b452 100644 --- a/com/hbm/blocks/Guide.java +++ b/com/hbm/blocks/Guide.java @@ -149,27 +149,17 @@ public class Guide extends Block { public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { if(!player.isSneaking()) { + ItemStack book1 = new ItemStack(Items.written_book); book1.stackTagCompound = new NBTTagCompound(); book1.stackTagCompound.setString("author", "HbMinecraft"); book1.stackTagCompound.setString("title", "Hbm's Nuclear Tech Mod Part 1: Resources"); NBTTagList pages1 = new NBTTagList(); - pages1.appendTag(new NBTTagString(Library.book11)); - pages1.appendTag(new NBTTagString(Library.book12)); - pages1.appendTag(new NBTTagString(Library.book13)); - pages1.appendTag(new NBTTagString(Library.book14)); - pages1.appendTag(new NBTTagString(Library.book15)); - pages1.appendTag(new NBTTagString(Library.book16)); - pages1.appendTag(new NBTTagString(Library.book17)); - pages1.appendTag(new NBTTagString(Library.book18)); - pages1.appendTag(new NBTTagString(Library.book19)); - pages1.appendTag(new NBTTagString(Library.book110)); - pages1.appendTag(new NBTTagString(Library.book111)); - pages1.appendTag(new NBTTagString(Library.book112)); - pages1.appendTag(new NBTTagString(Library.book113)); - pages1.appendTag(new NBTTagString(Library.book114)); - pages1.appendTag(new NBTTagString(Library.book115)); - pages1.appendTag(new NBTTagString(Library.book116)); + + for(String s : Library.book1) { + pages1.appendTag(new NBTTagString(s)); + } + book1.stackTagCompound.setTag("pages", pages1); player.inventory.addItemStackToInventory(book1); @@ -178,23 +168,11 @@ public class Guide extends Block { book2.stackTagCompound.setString("author", "HbMinecraft"); book2.stackTagCompound.setString("title", "Hbm's Nuclear Tech Mod Part 2: Machines"); NBTTagList pages2 = new NBTTagList(); - pages2.appendTag(new NBTTagString(Library.book21)); - pages2.appendTag(new NBTTagString(Library.book22)); - pages2.appendTag(new NBTTagString(Library.book23)); - pages2.appendTag(new NBTTagString(Library.book24)); - pages2.appendTag(new NBTTagString(Library.book25)); - pages2.appendTag(new NBTTagString(Library.book26)); - pages2.appendTag(new NBTTagString(Library.book27)); - pages2.appendTag(new NBTTagString(Library.book28)); - pages2.appendTag(new NBTTagString(Library.book29)); - pages2.appendTag(new NBTTagString(Library.book210)); - pages2.appendTag(new NBTTagString(Library.book211)); - pages2.appendTag(new NBTTagString(Library.book212)); - pages2.appendTag(new NBTTagString(Library.book213)); - pages2.appendTag(new NBTTagString(Library.book214)); - pages2.appendTag(new NBTTagString(Library.book215)); - pages2.appendTag(new NBTTagString(Library.book216)); - pages2.appendTag(new NBTTagString(Library.book217)); + + for(String s : Library.book2) { + pages2.appendTag(new NBTTagString(s)); + } + book2.stackTagCompound.setTag("pages", pages2); player.inventory.addItemStackToInventory(book2); @@ -203,26 +181,11 @@ public class Guide extends Block { book3.stackTagCompound.setString("author", "HbMinecraft"); book3.stackTagCompound.setString("title", "Hbm's Nuclear Tech Mod Part 3: Bombs"); NBTTagList pages3 = new NBTTagList(); - pages3.appendTag(new NBTTagString(Library.book31)); - pages3.appendTag(new NBTTagString(Library.book32)); - pages3.appendTag(new NBTTagString(Library.book33)); - pages3.appendTag(new NBTTagString(Library.book34)); - pages3.appendTag(new NBTTagString(Library.book35)); - pages3.appendTag(new NBTTagString(Library.book36)); - pages3.appendTag(new NBTTagString(Library.book37)); - pages3.appendTag(new NBTTagString(Library.book38)); - pages3.appendTag(new NBTTagString(Library.book39)); - pages3.appendTag(new NBTTagString(Library.book310)); - pages3.appendTag(new NBTTagString(Library.book311)); - pages3.appendTag(new NBTTagString(Library.book312)); - pages3.appendTag(new NBTTagString(Library.book313)); - pages3.appendTag(new NBTTagString(Library.book314)); - pages3.appendTag(new NBTTagString(Library.book315)); - pages3.appendTag(new NBTTagString(Library.book316)); - pages3.appendTag(new NBTTagString(Library.book317)); - pages3.appendTag(new NBTTagString(Library.book318)); - pages3.appendTag(new NBTTagString(Library.book319)); - pages3.appendTag(new NBTTagString(Library.book320)); + + for(String s : Library.book3) { + pages3.appendTag(new NBTTagString(s)); + } + book3.stackTagCompound.setTag("pages", pages3); player.inventory.addItemStackToInventory(book3); @@ -231,15 +194,11 @@ public class Guide extends Block { book4.stackTagCompound.setString("author", "HbMinecraft"); book4.stackTagCompound.setString("title", "Hbm's Nuclear Tech Mod Part 4: Missiles"); NBTTagList pages4 = new NBTTagList(); - pages4.appendTag(new NBTTagString(Library.book41)); - pages4.appendTag(new NBTTagString(Library.book42)); - pages4.appendTag(new NBTTagString(Library.book43)); - pages4.appendTag(new NBTTagString(Library.book44)); - pages4.appendTag(new NBTTagString(Library.book45)); - pages4.appendTag(new NBTTagString(Library.book46)); - pages4.appendTag(new NBTTagString(Library.book47)); - pages4.appendTag(new NBTTagString(Library.book48)); - pages4.appendTag(new NBTTagString(Library.book49)); + + for(String s : Library.book4) { + pages4.appendTag(new NBTTagString(s)); + } + book4.stackTagCompound.setTag("pages", pages4); player.inventory.addItemStackToInventory(book4); @@ -248,14 +207,11 @@ public class Guide extends Block { book5.stackTagCompound.setString("author", "HbMinecraft"); book5.stackTagCompound.setString("title", "Hbm's Nuclear Tech Mod Part 5: Misc"); NBTTagList pages5 = new NBTTagList(); - pages5.appendTag(new NBTTagString(Library.book51)); - pages5.appendTag(new NBTTagString(Library.book52)); - pages5.appendTag(new NBTTagString(Library.book53)); - pages5.appendTag(new NBTTagString(Library.book54)); - pages5.appendTag(new NBTTagString(Library.book55)); - pages5.appendTag(new NBTTagString(Library.book56)); - pages5.appendTag(new NBTTagString(Library.book57)); - pages5.appendTag(new NBTTagString(Library.book58)); + + for(String s : Library.book5) { + pages5.appendTag(new NBTTagString(s)); + } + book5.stackTagCompound.setTag("pages", pages5); player.inventory.addItemStackToInventory(book5); diff --git a/com/hbm/blocks/ModBlocks.java b/com/hbm/blocks/ModBlocks.java index 555bd51fc..13e5e7993 100644 --- a/com/hbm/blocks/ModBlocks.java +++ b/com/hbm/blocks/ModBlocks.java @@ -9,6 +9,8 @@ import com.hbm.main.MainRegistry; import cpw.mods.fml.common.registry.GameRegistry; import net.minecraft.block.Block; +import net.minecraft.block.Block.SoundType; +import net.minecraft.block.BlockFalling; import net.minecraft.block.material.MapColor; import net.minecraft.block.material.Material; import net.minecraft.block.material.MaterialLiquid; @@ -48,6 +50,13 @@ public class ModBlocks { public static Block ore_schrabidium; public static Block ore_beryllium; + public static Block ore_nether_uranium; + public static Block ore_nether_plutonium; + public static Block ore_nether_tungsten; + public static Block ore_nether_sulfur; + public static Block ore_nether_fire; + public static Block ore_nether_schrabidium; + public static Block block_uranium; public static Block block_titanium; public static Block block_sulfur; @@ -61,12 +70,15 @@ public class ModBlocks { public static Block block_lead; public static Block block_trinitite; public static Block block_waste; + public static Block block_scrap; public static Block block_beryllium; public static Block block_schrabidium; public static Block block_advanced_alloy; public static Block block_magnetized_tungsten; public static Block block_combine_steel; + public static Block gravel_obsidian; + public static Block reinforced_brick; public static Block reinforced_glass; public static Block reinforced_light; @@ -322,25 +334,35 @@ public class ModBlocks { ore_lead = new BlockGeneric(Material.rock).setBlockName("ore_lead").setCreativeTab(MainRegistry.tabBlock).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_lead"); ore_schrabidium = new BlockGeneric(Material.rock).setBlockName("ore_schrabidium").setCreativeTab(MainRegistry.tabBlock).setHardness(15.0F).setResistance(600.0F).setBlockTextureName(RefStrings.MODID + ":ore_schrabidium"); ore_beryllium = new BlockGeneric(Material.rock).setBlockName("ore_beryllium").setCreativeTab(MainRegistry.tabBlock).setHardness(5.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":ore_beryllium"); + + ore_nether_uranium = new BlockGeneric(Material.rock).setBlockName("ore_nether_uranium").setCreativeTab(MainRegistry.tabBlock).setHardness(0.4F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_nether_uranium"); + ore_nether_plutonium = new BlockGeneric(Material.rock).setBlockName("ore_nether_plutonium").setCreativeTab(MainRegistry.tabBlock).setHardness(0.4F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_nether_plutonium"); + ore_nether_tungsten = new BlockGeneric(Material.rock).setBlockName("ore_nether_tungsten").setCreativeTab(MainRegistry.tabBlock).setHardness(0.4F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_nether_tungsten"); + ore_nether_sulfur = new BlockOre(Material.rock).setBlockName("ore_nether_sulfur").setCreativeTab(MainRegistry.tabBlock).setHardness(0.4F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_nether_sulfur"); + ore_nether_fire = new BlockOre(Material.rock).setBlockName("ore_nether_fire").setCreativeTab(MainRegistry.tabBlock).setHardness(0.4F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_nether_fire"); + ore_nether_schrabidium = new BlockGeneric(Material.rock).setBlockName("ore_nether_schrabidium").setCreativeTab(MainRegistry.tabBlock).setHardness(15.0F).setResistance(600.0F).setBlockTextureName(RefStrings.MODID + ":ore_nether_schrabidium"); - block_uranium = new BlockGeneric(Material.iron).setBlockName("block_uranium").setCreativeTab(MainRegistry.tabBlock).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_uranium"); - block_titanium = new BlockGeneric(Material.iron).setBlockName("block_titanium").setCreativeTab(MainRegistry.tabBlock).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_titanium"); + block_uranium = new BlockGeneric(Material.iron).setBlockName("block_uranium").setCreativeTab(MainRegistry.tabBlock).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_uranium"); + block_titanium = new BlockGeneric(Material.iron).setBlockName("block_titanium").setCreativeTab(MainRegistry.tabBlock).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_titanium"); block_sulfur = new BlockGeneric(Material.iron).setBlockName("block_sulfur").setCreativeTab(MainRegistry.tabBlock).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_sulfur"); block_niter = new BlockGeneric(Material.iron).setBlockName("block_niter").setCreativeTab(MainRegistry.tabBlock).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_niter"); - block_copper = new BlockGeneric(Material.iron).setBlockName("block_copper").setCreativeTab(MainRegistry.tabBlock).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_copper"); - block_red_copper = new BlockGeneric(Material.iron).setBlockName("block_red_copper").setCreativeTab(MainRegistry.tabBlock).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_red_copper"); - block_tungsten = new BlockGeneric(Material.iron).setBlockName("block_tungsten").setCreativeTab(MainRegistry.tabBlock).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_tungsten"); - block_aluminium = new BlockGeneric(Material.iron).setBlockName("block_aluminium").setCreativeTab(MainRegistry.tabBlock).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_aluminium"); + block_copper = new BlockGeneric(Material.iron).setBlockName("block_copper").setCreativeTab(MainRegistry.tabBlock).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_copper"); + block_red_copper = new BlockGeneric(Material.iron).setBlockName("block_red_copper").setCreativeTab(MainRegistry.tabBlock).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_red_copper"); + block_tungsten = new BlockGeneric(Material.iron).setBlockName("block_tungsten").setCreativeTab(MainRegistry.tabBlock).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_tungsten"); + block_aluminium = new BlockGeneric(Material.iron).setBlockName("block_aluminium").setCreativeTab(MainRegistry.tabBlock).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_aluminium"); block_fluorite = new BlockGeneric(Material.iron).setBlockName("block_fluorite").setCreativeTab(MainRegistry.tabBlock).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_fluorite"); - block_steel = new BlockGeneric(Material.iron).setBlockName("block_steel").setCreativeTab(MainRegistry.tabBlock).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_steel"); - block_lead = new BlockGeneric(Material.iron).setBlockName("block_lead").setCreativeTab(MainRegistry.tabBlock).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_lead"); + block_steel = new BlockGeneric(Material.iron).setBlockName("block_steel").setCreativeTab(MainRegistry.tabBlock).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_steel"); + block_lead = new BlockGeneric(Material.iron).setBlockName("block_lead").setCreativeTab(MainRegistry.tabBlock).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_lead"); block_trinitite = new BlockOre(Material.iron).setBlockName("block_trinitite").setCreativeTab(MainRegistry.tabBlock).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_trinitite"); block_waste = new BlockOre(Material.iron).setBlockName("block_waste").setCreativeTab(MainRegistry.tabBlock).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_waste"); - block_beryllium = new BlockGeneric(Material.iron).setBlockName("block_beryllium").setCreativeTab(MainRegistry.tabBlock).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_beryllium"); - block_schrabidium = new BlockGeneric(Material.iron).setBlockName("block_schrabidium").setCreativeTab(MainRegistry.tabBlock).setHardness(5.0F).setResistance(600.0F).setBlockTextureName(RefStrings.MODID + ":block_schrabidium"); + block_scrap = new BlockFalling(Material.sand).setBlockName("block_scrap").setCreativeTab(MainRegistry.tabBlock).setHardness(2.5F).setResistance(5.0F).setStepSound(Block.soundTypeGravel).setBlockTextureName(RefStrings.MODID + ":block_scrap"); + block_beryllium = new BlockGeneric(Material.iron).setBlockName("block_beryllium").setCreativeTab(MainRegistry.tabBlock).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_beryllium"); + block_schrabidium = new BlockGeneric(Material.iron).setBlockName("block_schrabidium").setCreativeTab(MainRegistry.tabBlock).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(600.0F).setBlockTextureName(RefStrings.MODID + ":block_schrabidium"); block_advanced_alloy = new BlockGeneric(Material.iron).setBlockName("block_advanced_alloy").setCreativeTab(MainRegistry.tabBlock).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_advanced_alloy"); - block_magnetized_tungsten = new BlockGeneric(Material.iron).setBlockName("block_magnetized_tungsten").setCreativeTab(MainRegistry.tabBlock).setHardness(5.0F).setResistance(35.0F).setBlockTextureName(RefStrings.MODID + ":block_magnetized_tungsten"); - block_combine_steel = new BlockGeneric(Material.iron).setBlockName("block_combine_steel").setCreativeTab(MainRegistry.tabBlock).setHardness(5.0F).setResistance(600.0F).setBlockTextureName(RefStrings.MODID + ":block_combine_steel"); + block_magnetized_tungsten = new BlockGeneric(Material.iron).setBlockName("block_magnetized_tungsten").setCreativeTab(MainRegistry.tabBlock).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(35.0F).setBlockTextureName(RefStrings.MODID + ":block_magnetized_tungsten"); + block_combine_steel = new BlockGeneric(Material.iron).setBlockName("block_combine_steel").setCreativeTab(MainRegistry.tabBlock).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(600.0F).setBlockTextureName(RefStrings.MODID + ":block_combine_steel"); + + gravel_obsidian = new BlockFalling(Material.iron).setBlockName("gravel_obsidian").setCreativeTab(MainRegistry.tabBlock).setStepSound(Block.soundTypeGravel).setHardness(5.0F).setResistance(600.0F).setBlockTextureName(RefStrings.MODID + ":gravel_obsidian"); reinforced_brick = new BlockGeneric(Material.rock).setBlockName("reinforced_brick").setCreativeTab(MainRegistry.tabBlock).setLightOpacity(15).setHardness(15.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":reinforced_brick"); reinforced_glass = new ReinforcedBlock(Material.glass).setBlockName("reinforced_glass").setCreativeTab(MainRegistry.tabBlock).setLightOpacity(0).setHardness(15.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":reinforced_glass"); @@ -504,7 +526,7 @@ public class ModBlocks { book_guide = new Guide(Material.iron).setBlockName("book_guide").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.tabNuke); - crate = new BlockCrate(Material.iron).setBlockName("crate").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.tabNuke).setBlockTextureName(RefStrings.MODID + ":crate"); + crate = new BlockCrate(Material.iron).setBlockName("crate").setStepSound(Block.soundTypeWood).setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.tabNuke).setBlockTextureName(RefStrings.MODID + ":crate"); machine_schrabidium_transmutator = new MachineSchrabidiumTransmutator(Material.iron).setBlockName("machine_schrabidium_transmutator").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.tabBlock); @@ -529,7 +551,7 @@ public class ModBlocks { private static void registerBlock() { //Test GameRegistry.registerBlock(test_render, test_render.getUnlocalizedName()); - GameRegistry.registerBlock(test_container, test_container.getUnlocalizedName()); + //GameRegistry.registerBlock(test_container, test_container.getUnlocalizedName()); GameRegistry.registerBlock(test_bomb, test_bomb.getUnlocalizedName()); GameRegistry.registerBlock(test_bomb_advanced, test_bomb_advanced.getUnlocalizedName()); @@ -554,6 +576,14 @@ public class ModBlocks { GameRegistry.registerBlock(ore_lead, ore_lead.getUnlocalizedName()); GameRegistry.registerBlock(ore_schrabidium, ItemSchrabidiumBlock.class, ore_schrabidium.getUnlocalizedName()); + //Nether Ores + GameRegistry.registerBlock(ore_nether_uranium, ore_nether_uranium.getUnlocalizedName()); + GameRegistry.registerBlock(ore_nether_plutonium, ore_nether_plutonium.getUnlocalizedName()); + GameRegistry.registerBlock(ore_nether_tungsten, ore_nether_tungsten.getUnlocalizedName()); + GameRegistry.registerBlock(ore_nether_sulfur, ore_nether_sulfur.getUnlocalizedName()); + GameRegistry.registerBlock(ore_nether_fire, ore_nether_fire.getUnlocalizedName()); + GameRegistry.registerBlock(ore_nether_schrabidium, ItemSchrabidiumBlock.class, ore_nether_schrabidium.getUnlocalizedName()); + //Blocks GameRegistry.registerBlock(block_uranium, block_uranium.getUnlocalizedName()); GameRegistry.registerBlock(block_titanium, block_titanium.getUnlocalizedName()); @@ -568,11 +598,15 @@ public class ModBlocks { GameRegistry.registerBlock(block_beryllium, block_beryllium.getUnlocalizedName()); GameRegistry.registerBlock(block_steel, block_steel.getUnlocalizedName()); GameRegistry.registerBlock(block_lead, block_lead.getUnlocalizedName()); + GameRegistry.registerBlock(block_scrap, block_scrap.getUnlocalizedName()); GameRegistry.registerBlock(block_trinitite, block_trinitite.getUnlocalizedName()); GameRegistry.registerBlock(block_waste, block_waste.getUnlocalizedName()); GameRegistry.registerBlock(block_schrabidium, ItemSchrabidiumBlock.class, block_schrabidium.getUnlocalizedName()); GameRegistry.registerBlock(block_magnetized_tungsten, block_magnetized_tungsten.getUnlocalizedName()); GameRegistry.registerBlock(block_combine_steel, block_combine_steel.getUnlocalizedName()); + + //Gravel + GameRegistry.registerBlock(gravel_obsidian, gravel_obsidian.getUnlocalizedName()); //Reinforced Blocks GameRegistry.registerBlock(reinforced_brick, reinforced_brick.getUnlocalizedName()); diff --git a/com/hbm/blocks/NukeBoy.java b/com/hbm/blocks/NukeBoy.java index 54122797f..a82f82e03 100644 --- a/com/hbm/blocks/NukeBoy.java +++ b/com/hbm/blocks/NukeBoy.java @@ -2,6 +2,7 @@ package com.hbm.blocks; import java.util.Random; +import com.hbm.entity.EntityNukeCloudNoShroom; import com.hbm.entity.EntityNukeCloudSmall; import com.hbm.entity.EntityNukeExplosionAdvanced; import com.hbm.interfaces.IBomb; @@ -27,8 +28,8 @@ public class NukeBoy extends BlockContainer implements IBomb { public TileEntityNukeBoy tetn = new TileEntityNukeBoy(); private static boolean keepInventory = false; - private final static Random field_149933_a = new Random(); - private boolean isExploding = false; + private final static Random field_149933_a = new Random(); + private boolean isExploding = false; protected NukeBoy(Material p_i45386_1_) { super(p_i45386_1_); @@ -38,75 +39,69 @@ public class NukeBoy extends BlockContainer implements IBomb { public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { return new TileEntityNukeBoy(); } - + @Override - public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) - { - return Item.getItemFromBlock(ModBlocks.nuke_boy); - } - + public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { + return Item.getItemFromBlock(ModBlocks.nuke_boy); + } + @Override - public void breakBlock(World p_149749_1_, int p_149749_2_, int p_149749_3_, int p_149749_4_, Block p_149749_5_, int p_149749_6_) - { - if (!keepInventory) - { - TileEntityNukeBoy tileentityfurnace = (TileEntityNukeBoy)p_149749_1_.getTileEntity(p_149749_2_, p_149749_3_, p_149749_4_); + public void breakBlock(World p_149749_1_, int p_149749_2_, int p_149749_3_, int p_149749_4_, Block p_149749_5_, + int p_149749_6_) { + if (!keepInventory) { + TileEntityNukeBoy tileentityfurnace = (TileEntityNukeBoy) p_149749_1_.getTileEntity(p_149749_2_, + p_149749_3_, p_149749_4_); - if (tileentityfurnace != null) - { - for (int i1 = 0; i1 < tileentityfurnace.getSizeInventory(); ++i1) - { - ItemStack itemstack = tileentityfurnace.getStackInSlot(i1); + if (tileentityfurnace != null) { + for (int i1 = 0; i1 < tileentityfurnace.getSizeInventory(); ++i1) { + ItemStack itemstack = tileentityfurnace.getStackInSlot(i1); - if (itemstack != null) - { - float f = NukeBoy.field_149933_a.nextFloat() * 0.8F + 0.1F; - float f1 = NukeBoy.field_149933_a.nextFloat() * 0.8F + 0.1F; - float f2 = NukeBoy.field_149933_a.nextFloat() * 0.8F + 0.1F; + if (itemstack != null) { + float f = NukeBoy.field_149933_a.nextFloat() * 0.8F + 0.1F; + float f1 = NukeBoy.field_149933_a.nextFloat() * 0.8F + 0.1F; + float f2 = NukeBoy.field_149933_a.nextFloat() * 0.8F + 0.1F; - while (itemstack.stackSize > 0) - { - int j1 = NukeBoy.field_149933_a.nextInt(21) + 10; + while (itemstack.stackSize > 0) { + int j1 = NukeBoy.field_149933_a.nextInt(21) + 10; - if (j1 > itemstack.stackSize) - { - j1 = itemstack.stackSize; - } + if (j1 > itemstack.stackSize) { + j1 = itemstack.stackSize; + } - itemstack.stackSize -= j1; - EntityItem entityitem = new EntityItem(p_149749_1_, p_149749_2_ + f, p_149749_3_ + f1, p_149749_4_ + f2, new ItemStack(itemstack.getItem(), j1, itemstack.getItemDamage())); + itemstack.stackSize -= j1; + EntityItem entityitem = new EntityItem(p_149749_1_, p_149749_2_ + f, p_149749_3_ + f1, + p_149749_4_ + f2, + new ItemStack(itemstack.getItem(), j1, itemstack.getItemDamage())); - if (itemstack.hasTagCompound()) - { - entityitem.getEntityItem().setTagCompound((NBTTagCompound)itemstack.getTagCompound().copy()); - } + if (itemstack.hasTagCompound()) { + entityitem.getEntityItem() + .setTagCompound((NBTTagCompound) itemstack.getTagCompound().copy()); + } - float f3 = 0.05F; - entityitem.motionX = (float)NukeBoy.field_149933_a.nextGaussian() * f3; - entityitem.motionY = (float)NukeBoy.field_149933_a.nextGaussian() * f3 + 0.2F; - entityitem.motionZ = (float)NukeBoy.field_149933_a.nextGaussian() * f3; - p_149749_1_.spawnEntityInWorld(entityitem); - } - } - } + float f3 = 0.05F; + entityitem.motionX = (float) NukeBoy.field_149933_a.nextGaussian() * f3; + entityitem.motionY = (float) NukeBoy.field_149933_a.nextGaussian() * f3 + 0.2F; + entityitem.motionZ = (float) NukeBoy.field_149933_a.nextGaussian() * f3; + p_149749_1_.spawnEntityInWorld(entityitem); + } + } + } - p_149749_1_.func_147453_f(p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_); - } - } + p_149749_1_.func_147453_f(p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_); + } + } + + super.breakBlock(p_149749_1_, p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_, p_149749_6_); + } - super.breakBlock(p_149749_1_, p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_, p_149749_6_); - } - @Override - public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { - if(world.isRemote) - { + public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, + float hitY, float hitZ) { + if (world.isRemote) { return true; - } else if(!player.isSneaking()) - { + } else if (!player.isSneaking()) { TileEntityNukeBoy entity = (TileEntityNukeBoy) world.getTileEntity(x, y, z); - if(entity != null) - { + if (entity != null) { FMLNetworkHandler.openGui(player, MainRegistry.instance, ModBlocks.guiID_nuke_boy, world, x, y, z); } return true; @@ -114,115 +109,113 @@ public class NukeBoy extends BlockContainer implements IBomb { return false; } } - - @Override - public void onNeighborBlockChange(World p_149695_1_, int x, int y, int z, Block p_149695_5_) - { - TileEntityNukeBoy entity = (TileEntityNukeBoy) p_149695_1_.getTileEntity(x, y, z); - if (p_149695_1_.isBlockIndirectlyGettingPowered(x, y, z)) - { - if(entity.isReady()) - { - this.onBlockDestroyedByPlayer(p_149695_1_, x, y, z, 1); - entity.clearSlots(); - p_149695_1_.setBlockToAir(x, y, z); - igniteTestBomb(p_149695_1_, x, y, z); - } - } - } - - public boolean igniteTestBomb(World world, int x, int y, int z) - { - if (!world.isRemote) - { - tetn.clearSlots(); - //world.spawnParticle("hugeexplosion", x, y, z, 0, 0, 0); //spawns a huge explosion particle - world.playSoundEffect(x, y, z, "random.explode", 1.0f, world.rand.nextFloat() * 0.1F + 0.9F); //x,y,z,sound,volume,pitch - /*ExplosionNukeGeneric.detonateTestBomb(world, x, y, z, 120); - ExplosionNukeGeneric.vapor(world, x, y, z, 200); - ExplosionNukeGeneric.waste(world, x, y, z, 150); - ExplosionNukeGeneric.dealDamage(world, x, y, z, 150);*/ - /*EntityNukeExplosion entity = new EntityNukeExplosion(world); - entity.posX = x; - entity.posY = y; - entity.posZ = z; - entity.destructionRange = 120; - entity.vaporRange = 200; - entity.wasteRange = 150; - entity.damageRange = 150; - - world.spawnEntityInWorld(entity);*/ - - EntityNukeExplosionAdvanced entity = new EntityNukeExplosionAdvanced(world); - entity.posX = x; - entity.posY = y; - entity.posZ = z; - entity.destructionRange = MainRegistry.boyRadius; - entity.speed = 25; - entity.coefficient = 10.0F; - world.spawnEntityInWorld(entity); - - - //ExplosionNukeAdvanced.mush(world, x, y, z); + @Override + public void onNeighborBlockChange(World p_149695_1_, int x, int y, int z, Block p_149695_5_) { + TileEntityNukeBoy entity = (TileEntityNukeBoy) p_149695_1_.getTileEntity(x, y, z); + if (p_149695_1_.isBlockIndirectlyGettingPowered(x, y, z)) { + if (entity.isReady()) { + this.onBlockDestroyedByPlayer(p_149695_1_, x, y, z, 1); + entity.clearSlots(); + p_149695_1_.setBlockToAir(x, y, z); + igniteTestBomb(p_149695_1_, x, y, z); + } + } + } - EntityNukeCloudSmall entity2 = new EntityNukeCloudSmall(world, 1000); - entity2.posX = x; - entity2.posY = y - 11; - entity2.posZ = z; - world.spawnEntityInWorld(entity2); - } + public boolean igniteTestBomb(World world, int x, int y, int z) { + if (!world.isRemote) { + tetn.clearSlots(); + // world.spawnParticle("hugeexplosion", x, y, z, 0, 0, 0); //spawns + // a huge explosion particle + world.playSoundEffect(x, y, z, "random.explode", 1.0f, world.rand.nextFloat() * 0.1F + 0.9F); // x,y,z,sound,volume,pitch + /* + * ExplosionNukeGeneric.detonateTestBomb(world, x, y, z, 120); + * ExplosionNukeGeneric.vapor(world, x, y, z, 200); + * ExplosionNukeGeneric.waste(world, x, y, z, 150); + * ExplosionNukeGeneric.dealDamage(world, x, y, z, 150); + */ + + /* + * EntityNukeExplosion entity = new EntityNukeExplosion(world); + * entity.posX = x; entity.posY = y; entity.posZ = z; + * entity.destructionRange = 120; entity.vaporRange = 200; + * entity.wasteRange = 150; entity.damageRange = 150; + * + * world.spawnEntityInWorld(entity); + */ + + EntityNukeExplosionAdvanced entity = new EntityNukeExplosionAdvanced(world); + entity.posX = x; + entity.posY = y; + entity.posZ = z; + entity.destructionRange = MainRegistry.boyRadius; + entity.speed = 25; + entity.coefficient = 10.0F; + world.spawnEntityInWorld(entity); + + // ExplosionNukeAdvanced.mush(world, x, y, z); + + if (MainRegistry.enableNukeClouds) { + EntityNukeCloudSmall entity2 = new EntityNukeCloudSmall(world, 1000); + entity2.posX = x; + entity2.posY = y - 11; + entity2.posZ = z; + world.spawnEntityInWorld(entity2); + } else { + EntityNukeCloudSmall entity2 = new EntityNukeCloudNoShroom(world, 1000); + entity2.posX = x; + entity2.posY = y - 11; + entity2.posZ = z; + world.spawnEntityInWorld(entity2); + } + } return false; } - + @Override - public int getRenderType(){ + public int getRenderType() { return -1; } - + @Override public boolean isOpaqueCube() { return false; } - + @Override public boolean renderAsNormalBlock() { return false; } - + @Override public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) { int i = MathHelper.floor_double(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3; - - if(i == 0) - { + + if (i == 0) { world.setBlockMetadataWithNotify(x, y, z, 5, 2); } - if(i == 1) - { + if (i == 1) { world.setBlockMetadataWithNotify(x, y, z, 3, 2); } - if(i == 2) - { + if (i == 2) { world.setBlockMetadataWithNotify(x, y, z, 4, 2); } - if(i == 3) - { + if (i == 3) { world.setBlockMetadataWithNotify(x, y, z, 2, 2); } } public void explode(World world, int x, int y, int z) { - TileEntityNukeBoy entity = (TileEntityNukeBoy) world.getTileEntity(x, y, z); - //if (p_149695_1_.isBlockIndirectlyGettingPowered(x, y, z)) - { - if(entity.isReady()) - { - this.onBlockDestroyedByPlayer(world, x, y, z, 1); - entity.clearSlots(); - world.setBlockToAir(x, y, z); - igniteTestBomb(world, x, y, z); - } - } + TileEntityNukeBoy entity = (TileEntityNukeBoy) world.getTileEntity(x, y, z); + // if (p_149695_1_.isBlockIndirectlyGettingPowered(x, y, z)) + { + if (entity.isReady()) { + this.onBlockDestroyedByPlayer(world, x, y, z, 1); + entity.clearSlots(); + world.setBlockToAir(x, y, z); + igniteTestBomb(world, x, y, z); + } + } } } diff --git a/com/hbm/blocks/NukeGadget.java b/com/hbm/blocks/NukeGadget.java index 004676b69..00a28b46e 100644 --- a/com/hbm/blocks/NukeGadget.java +++ b/com/hbm/blocks/NukeGadget.java @@ -4,6 +4,7 @@ import java.util.HashMap; import java.util.Map; import java.util.Random; +import com.hbm.entity.EntityNukeCloudNoShroom; import com.hbm.entity.EntityNukeCloudSmall; import com.hbm.entity.EntityNukeExplosionAdvanced; import com.hbm.interfaces.IBomb; @@ -183,11 +184,19 @@ public class NukeGadget extends BlockContainer implements IBomb { //ExplosionNukeAdvanced.mush(world, x, y, z); - EntityNukeCloudSmall entity2 = new EntityNukeCloudSmall(world, 1000); - entity2.posX = x; - entity2.posY = y - 15; - entity2.posZ = z; - world.spawnEntityInWorld(entity2); + if (MainRegistry.enableNukeClouds) { + EntityNukeCloudSmall entity2 = new EntityNukeCloudSmall(world, 1000); + entity2.posX = x; + entity2.posY = y - 15; + entity2.posZ = z; + world.spawnEntityInWorld(entity2); + } else { + EntityNukeCloudSmall entity2 = new EntityNukeCloudNoShroom(world, 1000); + entity2.posX = x; + entity2.posY = y - 15; + entity2.posZ = z; + world.spawnEntityInWorld(entity2); + } } return false; diff --git a/com/hbm/blocks/NukeMan.java b/com/hbm/blocks/NukeMan.java index d387bfd92..b48b50a0a 100644 --- a/com/hbm/blocks/NukeMan.java +++ b/com/hbm/blocks/NukeMan.java @@ -4,6 +4,7 @@ import java.util.HashMap; import java.util.Map; import java.util.Random; +import com.hbm.entity.EntityNukeCloudNoShroom; import com.hbm.entity.EntityNukeCloudSmall; import com.hbm.entity.EntityNukeExplosionAdvanced; import com.hbm.interfaces.IBomb; @@ -182,11 +183,19 @@ public class NukeMan extends BlockContainer implements IBomb { //ExplosionNukeAdvanced.mush(world, x, y, z); - EntityNukeCloudSmall entity2 = new EntityNukeCloudSmall(world, 1000); - entity2.posX = x; - entity2.posY = y - 17; - entity2.posZ = z; - world.spawnEntityInWorld(entity2); + if (MainRegistry.enableNukeClouds) { + EntityNukeCloudSmall entity2 = new EntityNukeCloudSmall(world, 1000); + entity2.posX = x; + entity2.posY = y - 17; + entity2.posZ = z; + world.spawnEntityInWorld(entity2); + } else { + EntityNukeCloudSmall entity2 = new EntityNukeCloudNoShroom(world, 1000); + entity2.posX = x; + entity2.posY = y - 17; + entity2.posZ = z; + world.spawnEntityInWorld(entity2); + } } return false; diff --git a/com/hbm/blocks/NukeMike.java b/com/hbm/blocks/NukeMike.java index b3a748246..60b1d0632 100644 --- a/com/hbm/blocks/NukeMike.java +++ b/com/hbm/blocks/NukeMike.java @@ -5,6 +5,7 @@ import java.util.Map; import java.util.Random; import com.hbm.entity.EntityNukeCloudBig; +import com.hbm.entity.EntityNukeCloudNoShroom; import com.hbm.entity.EntityNukeCloudSmall; import com.hbm.entity.EntityNukeExplosionAdvanced; import com.hbm.interfaces.IBomb; @@ -160,20 +161,28 @@ public class NukeMike extends BlockContainer implements IBomb { world.spawnEntityInWorld(entity); - if(r < 200) - { - EntityNukeCloudSmall entity2 = new EntityNukeCloudSmall(world, 1000); - entity2.posX = x; - entity2.posY = y - (r / 10); - entity2.posZ = z; - world.spawnEntityInWorld(entity2); - } else { - EntityNukeCloudBig entity2 = new EntityNukeCloudBig(world, 1000); - entity2.posX = x; - entity2.posY = y - (r / 10); - entity2.posZ = z; - world.spawnEntityInWorld(entity2); - } + + if (MainRegistry.enableNukeClouds) { + if (r < 200) { + EntityNukeCloudSmall entity2 = new EntityNukeCloudSmall(world, 1000); + entity2.posX = x; + entity2.posY = y - (r / 10); + entity2.posZ = z; + world.spawnEntityInWorld(entity2); + } else { + EntityNukeCloudBig entity2 = new EntityNukeCloudBig(world, 1000); + entity2.posX = x; + entity2.posY = y - (r / 10); + entity2.posZ = z; + world.spawnEntityInWorld(entity2); + } + } else { + EntityNukeCloudSmall entity2 = new EntityNukeCloudNoShroom(world, 1000); + entity2.posX = x; + entity2.posY = y - (r / 10); + entity2.posZ = z; + world.spawnEntityInWorld(entity2); + } //ExplosionNukeAdvanced.mush(world, x, y, z); } diff --git a/com/hbm/blocks/TestEventTester.java b/com/hbm/blocks/TestEventTester.java index e79986cf9..ac6f72582 100644 --- a/com/hbm/blocks/TestEventTester.java +++ b/com/hbm/blocks/TestEventTester.java @@ -6,6 +6,7 @@ import java.util.List; import java.util.Map; import java.util.Random; +import com.hbm.entity.EntityFalloutRain; import com.hbm.explosion.ExplosionChaos; import com.hbm.explosion.ExplosionParticle; import com.hbm.particles.EntitySmokeFX; @@ -43,7 +44,7 @@ public class TestEventTester extends Block { //ExplosionChaos.frag(p_149695_1_, x, y + 2, z, 10, false, null); //EntitySmokeFX smoke = new EntitySmokeFX(p_149695_1_, x + 0.5, y + 1, z + 0.5, 0.0, 0.0, 0.0); //p_149695_1_.spawnEntityInWorld(smoke); - ExplosionParticle.spawnMush(p_149695_1_, x, y, z); + //ExplosionParticle.spawnMush(p_149695_1_, x, y, z); //mirv(this.worldObj, x, y + 20, z); //killEvent(p_149695_1_, x, y, z); /*EntityNuclearCreeper e = new EntityNuclearCreeper(p_149695_1_); @@ -58,6 +59,13 @@ public class TestEventTester extends Block { { ExplosionNukeAdvanced.mush(p_149695_1_, x, y, z); }*/ + EntityFalloutRain fallout = new EntityFalloutRain(p_149695_1_, 1000); + fallout.posX = x; + fallout.posY = y + 3; + fallout.posZ = z; + fallout.setScale(50); + + p_149695_1_.spawnEntityInWorld(fallout); } } diff --git a/com/hbm/entity/EntityChopperMine.java b/com/hbm/entity/EntityChopperMine.java index 1f3288369..3b345dbe5 100644 --- a/com/hbm/entity/EntityChopperMine.java +++ b/com/hbm/entity/EntityChopperMine.java @@ -119,10 +119,12 @@ public class EntityChopperMine extends Entity implements IProjectile { this.setDead(); } - if(timer % 10 == 0 && timer % 20 != 0) - worldObj.playSoundAtEntity(this, "random.click", 10.0F, 1F); - if(timer % 20 == 0) - worldObj.playSoundAtEntity(this, "random.click", 10.0F, 1.5F); + //if(timer % 10 == 0 && timer % 20 != 0) + // worldObj.playSoundAtEntity(this, "random.click", 10.0F, 1F); + //if(timer % 20 == 0) + // worldObj.playSoundAtEntity(this, "random.click", 10.0F, 1.5F); + + worldObj.playSoundAtEntity(this, "hbm:misc.nullMine", 10.0F, 1F); if(timer >= 100 || worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ).getMaterial() != Material.air) { diff --git a/com/hbm/entity/EntityFalloutRain.java b/com/hbm/entity/EntityFalloutRain.java new file mode 100644 index 000000000..ab779b90b --- /dev/null +++ b/com/hbm/entity/EntityFalloutRain.java @@ -0,0 +1,69 @@ +package com.hbm.entity; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.entity.Entity; +import net.minecraft.entity.effect.EntityLightningBolt; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.world.World; + +public class EntityFalloutRain extends Entity { + + public int maxAge = 1000; + public int age; + public float scale = 0; + + public EntityFalloutRain(World p_i1582_1_) { + super(p_i1582_1_); + this.setSize(4, 20); + this.ignoreFrustumCheck = true; + this.isImmuneToFire = true; + this.age = 0; + scale = 0; + } + + public EntityFalloutRain(World p_i1582_1_, int maxAge) { + super(p_i1582_1_); + this.setSize(4, 20); + this.isImmuneToFire = true; + this.maxAge = maxAge; + } + + @Override + public void onUpdate() { + //super.onUpdate(); + this.age++; + + if(this.age >= this.maxAge) + { + this.age = 0; + this.setDead(); + } + } + + @Override + protected void entityInit() { + this.dataWatcher.addObject(16, Integer.valueOf((int) 0)); + } + + @Override + protected void readEntityFromNBT(NBTTagCompound p_70037_1_) { + age = p_70037_1_.getShort("age"); + } + + @Override + protected void writeEntityToNBT(NBTTagCompound p_70014_1_) { + p_70014_1_.setShort("age", (short)age); + + } + + public void setScale(int i) { + + this.dataWatcher.updateObject(16, Integer.valueOf((int) i)); + } + + public int getScale() { + + return this.dataWatcher.getWatchableObjectInt(16); + } +} diff --git a/com/hbm/entity/EntityGrenadeASchrab.java b/com/hbm/entity/EntityGrenadeASchrab.java new file mode 100644 index 000000000..e2ff6fde8 --- /dev/null +++ b/com/hbm/entity/EntityGrenadeASchrab.java @@ -0,0 +1,75 @@ +package com.hbm.entity; + +import com.hbm.explosion.ExplosionChaos; +import com.hbm.main.MainRegistry; + +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.monster.EntityBlaze; +import net.minecraft.entity.projectile.EntityThrowable; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.DamageSource; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.world.World; + +public class EntityGrenadeASchrab extends EntityThrowable +{ + private static final String __OBFID = "CL_00001722"; + + 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 + protected void onImpact(MovingObjectPosition p_70184_1_) + { + if (p_70184_1_.entityHit != null) + { + byte b0 = 0; + + if (p_70184_1_.entityHit instanceof EntityBlaze) + { + b0 = 3; + } + + p_70184_1_.entityHit.attackEntityFrom(DamageSource.causeThrownDamage(this, this.getThrower()), b0); + } + + if (!this.worldObj.isRemote) + { + this.setDead(); + if (!this.worldObj.isRemote) { + this.worldObj.playSoundEffect(this.posX, this.posY, this.posZ, + "random.explode", 100.0f, this.worldObj.rand.nextFloat() * 0.1F + 0.9F); + + EntityNukeExplosionAdvanced entity = new EntityNukeExplosionAdvanced(this.worldObj); + entity.posX = this.posX; + entity.posY = this.posY; + entity.posZ = this.posZ; + entity.destructionRange = MainRegistry.aSchrabRadius; + entity.speed = 25; + entity.coefficient = 1.0F; + entity.waste = false; + + this.worldObj.spawnEntityInWorld(entity); + + EntityCloudFleija cloud = new EntityCloudFleija(this.worldObj, MainRegistry.aSchrabRadius); + cloud.posX = this.posX; + cloud.posY = this.posY; + cloud.posZ = this.posZ; + this.worldObj.spawnEntityInWorld(cloud); + } + } + } +} diff --git a/com/hbm/entity/EntityGrenadeGas.java b/com/hbm/entity/EntityGrenadeGas.java index c59f2ace1..621b89d43 100644 --- a/com/hbm/entity/EntityGrenadeGas.java +++ b/com/hbm/entity/EntityGrenadeGas.java @@ -7,6 +7,8 @@ import net.minecraft.util.DamageSource; import net.minecraft.util.MovingObjectPosition; import net.minecraft.world.World; +import java.util.Random; + import com.hbm.explosion.ExplosionChaos; public class EntityGrenadeGas extends EntityThrowable @@ -48,6 +50,11 @@ public class EntityGrenadeGas extends EntityThrowable this.setDead(); this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 2.0F, true); ExplosionChaos.poison(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 5); + } + + for (int i = 0; i < 10; i++) { + for(int j = 0; j < 10; j++) + this.worldObj.spawnParticle("cloud", this.posX - 2.5D + (((double)i) / 2), this.posY + 0.5D, this.posZ - 2.5D + (((double)j) / 2), 0, rand.nextDouble() * 0.1D, 0); } } diff --git a/com/hbm/entity/EntityGrenadeZOMG.java b/com/hbm/entity/EntityGrenadeZOMG.java new file mode 100644 index 000000000..a5743f51d --- /dev/null +++ b/com/hbm/entity/EntityGrenadeZOMG.java @@ -0,0 +1,55 @@ +package com.hbm.entity; + +import com.hbm.explosion.ExplosionChaos; + +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.monster.EntityBlaze; +import net.minecraft.entity.projectile.EntityThrowable; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.DamageSource; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.world.World; + +public class EntityGrenadeZOMG extends EntityThrowable +{ + private static final String __OBFID = "CL_00001722"; + + 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 + protected void onImpact(MovingObjectPosition p_70184_1_) + { + if (p_70184_1_.entityHit != null) + { + byte b0 = 0; + + if (p_70184_1_.entityHit instanceof EntityBlaze) + { + b0 = 3; + } + + p_70184_1_.entityHit.attackEntityFrom(DamageSource.causeThrownDamage(this, this.getThrower()), b0); + } + + if (!this.worldObj.isRemote) + { + this.setDead(); + ExplosionChaos.zomgMeSinPi(this.worldObj, this.posX, this.posY, this.posZ, 100, this.getThrower(), this); + } + } + +} diff --git a/com/hbm/entity/EntityHunterChopper.java b/com/hbm/entity/EntityHunterChopper.java index 668d36cae..817b3735d 100644 --- a/com/hbm/entity/EntityHunterChopper.java +++ b/com/hbm/entity/EntityHunterChopper.java @@ -35,14 +35,10 @@ public class EntityHunterChopper extends EntityFlying implements IMob, IBossDisp public double waypointY; public double waypointZ; private Entity targetedEntity; - /** Cooldown time between target loss and new target aquirement. */ private int aggroCooldown; public int prevAttackCounter; public int attackCounter; public int mineDropCounter; - /** The explosion radius of spawned fireballs. */ - private int explosionStrength = 1; - private static final String __OBFID = "CL_00001689"; public boolean isDying = false; public EntityHunterChopper(World p_i1735_1_) { @@ -50,6 +46,7 @@ public class EntityHunterChopper extends EntityFlying implements IMob, IBossDisp this.setSize(8.25F, 3.0F); this.isImmuneToFire = true; this.experienceValue = 500; + this.ignoreFrustumCheck = true; } @SideOnly(Side.CLIENT) @@ -61,10 +58,12 @@ public class EntityHunterChopper extends EntityFlying implements IMob, IBossDisp * Called when the entity is attacked. */ public boolean attackEntityFrom(DamageSource source, float amount) { - if (this.isEntityInvulnerable() || !(source.isExplosion() || ModDamageSource.getIsTau(source) || (ModDamageSource.getIsEmplacer(source) && source.getSourceOfDamage() != this))) { + if (this.isEntityInvulnerable() || !(source == ModDamageSource.nuclearBlast || source.isExplosion() || ModDamageSource.getIsTau(source) || ModDamageSource.getIsSubatomic(source))) { return false; } else if(amount >= this.getHealth()) { this.initDeath(); + this.setIsDying(true); + this.setHealth(0.1F); return false; } @@ -95,11 +94,12 @@ public class EntityHunterChopper extends EntityFlying implements IMob, IBossDisp this.dataWatcher.addObject(16, Byte.valueOf((byte) 0)); this.dataWatcher.addObject(21, Float.valueOf((float) 0)); this.dataWatcher.addObject(22, Float.valueOf((float) 0)); + this.dataWatcher.addObject(23, Byte.valueOf((byte) 0)); } protected void applyEntityAttributes() { super.applyEntityAttributes(); - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(1500.0D); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(750.0D); } protected void updateEntityActionState() { @@ -108,10 +108,8 @@ public class EntityHunterChopper extends EntityFlying implements IMob, IBossDisp } if (!isDying) { - if (this.ticksExisted % 2 == 0) - this.worldObj.playSoundEffect(this.posX, this.posY, this.posZ, "fireworks.blast", 10.0F, 0.5F); + this.worldObj.playSoundEffect(this.posX, this.posY, this.posZ, "hbm:misc.nullChopper", 10.0F, 0.5F); - this.despawnEntity(); this.prevAttackCounter = this.attackCounter; double d0 = this.waypointX - this.posX; double d1 = this.waypointY - this.posY; @@ -156,8 +154,7 @@ public class EntityHunterChopper extends EntityFlying implements IMob, IBossDisp // this.targetedEntity = // this.worldObj.getClosestVulnerablePlayerToEntity(this, // 100.0D); - this.targetedEntity = Library.getClosestEntityForChopper(worldObj, this.posX, this.posY, this.posZ, - 250); + this.targetedEntity = Library.getClosestEntityForChopper(worldObj, this.posX, this.posY, this.posZ, 250); if (this.targetedEntity != null) { this.aggroCooldown = 20; @@ -183,7 +180,7 @@ public class EntityHunterChopper extends EntityFlying implements IMob, IBossDisp } if (this.attackCounter % 2 == 0 && attackCounter >= 120) { - worldObj.playSoundAtEntity(this, "random.explode", 10.0F, 3.0F); + worldObj.playSoundAtEntity(this, "hbm:weapon.osiprShoot", 10.0F, 1.0F); // EntityLargeFireball entitylargefireball = new // EntityLargeFireball(this.worldObj, this, d5, d6, d7); EntityBullet entityarrow = new EntityBullet(this.worldObj, this, 3.0F, 35, 45, false, "chopper"); @@ -207,12 +204,13 @@ public class EntityHunterChopper extends EntityFlying implements IMob, IBossDisp // this.worldObj.spawnEntityInWorld(entitylargefireball); this.worldObj.spawnEntityInWorld(entityarrow); } - if (this.attackCounter >= 80 && this.attackCounter < 120) { - worldObj.playSoundAtEntity(this, "random.click", 10.0F, 0.5F + ((attackCounter / 100) - 0.8F)); + if (this.attackCounter == 80) { + worldObj.playSoundAtEntity(this, "hbm:entity.chopperCharge", 5.0F, 1.0F); } this.mineDropCounter++; if (mineDropCounter > 100 && rand.nextInt(15) == 0) { + worldObj.playSoundAtEntity(this, "hbm:entity.chopperDrop", 15.0F, 1.0F); EntityChopperMine mine = new EntityChopperMine(worldObj, this.posX, this.posY - 0.5, this.posZ, 0, -0.3, 0, this); this.mineDropCounter = 0; this.worldObj.spawnEntityInWorld(mine); @@ -260,12 +258,16 @@ public class EntityHunterChopper extends EntityFlying implements IMob, IBossDisp this.worldObj.spawnEntityInWorld(new EntitySmokeFX(worldObj, this.posX, this.posY, this.posZ, 0, 0, 0)); + rotationYaw += 20; + if(this.onGround) { this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 15F, true); this.dropItems(); this.setDead(); } + if (this.ticksExisted % 2 == 0) + this.worldObj.playSoundEffect(this.posX, this.posY, this.posZ, "hbm:misc.nullCrashing", 10.0F, 0.5F); } if (this.targetedEntity == null) { @@ -296,10 +298,6 @@ public class EntityHunterChopper extends EntityFlying implements IMob, IBossDisp double d5 = this.targetedEntity.posX - xStart; double d6 = this.targetedEntity.boundingBox.minY + (double) (this.targetedEntity.height / 2.0F) - yStart; double d7 = this.targetedEntity.posZ - zStart; - - this.setYaw(-((float) (Math.atan2(d5, d7) * 180.0D / Math.PI) + 90)); - f3 = MathHelper.sqrt_double(d5 * d5 + d7 * d7); - this.setPitch((float) (Math.atan2(d6, f3) * 180.0D / Math.PI)); } if(rotationPitch <= 330 && rotationPitch >= 30) @@ -392,7 +390,6 @@ public class EntityHunterChopper extends EntityFlying implements IMob, IBossDisp */ public void writeEntityToNBT(NBTTagCompound p_70014_1_) { super.writeEntityToNBT(p_70014_1_); - p_70014_1_.setInteger("ExplosionPower", this.explosionStrength); } /** @@ -400,10 +397,6 @@ public class EntityHunterChopper extends EntityFlying implements IMob, IBossDisp */ public void readEntityFromNBT(NBTTagCompound p_70037_1_) { super.readEntityFromNBT(p_70037_1_); - - if (p_70037_1_.hasKey("ExplosionPower", 99)) { - this.explosionStrength = p_70037_1_.getInteger("ExplosionPower"); - } } @Override @@ -415,6 +408,8 @@ public class EntityHunterChopper extends EntityFlying implements IMob, IBossDisp public void initDeath() { this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 10F, true); + if(!this.isDying) + worldObj.playSoundAtEntity(this, "hbm:entity.chopperDamage", 10.0F, 1.0F); isDying = true; } @@ -429,19 +424,11 @@ public class EntityHunterChopper extends EntityFlying implements IMob, IBossDisp this.dropItem(ModItems.wire_magnetized_tungsten, 1); } - public void setYaw(float f) { - this.dataWatcher.updateObject(21, Float.valueOf((float) f)); + public void setIsDying(boolean b) { + this.dataWatcher.updateObject(23, Byte.valueOf((byte) (b ? 1 : 0))); } - public void setPitch(float f) { - this.dataWatcher.updateObject(22, Float.valueOf((float) f)); - } - - public float getYaw() { - return this.dataWatcher.getWatchableObjectFloat(21); - } - - public float getPitch() { - return this.dataWatcher.getWatchableObjectFloat(22); + public boolean getIsDying() { + return this.dataWatcher.getWatchableObjectByte(23) == 1; } } diff --git a/com/hbm/entity/EntityNukeCloudNoShroom.java b/com/hbm/entity/EntityNukeCloudNoShroom.java new file mode 100644 index 000000000..d6ef48843 --- /dev/null +++ b/com/hbm/entity/EntityNukeCloudNoShroom.java @@ -0,0 +1,15 @@ +package com.hbm.entity; + +import net.minecraft.world.World; + +public class EntityNukeCloudNoShroom extends EntityNukeCloudSmall { + + public EntityNukeCloudNoShroom(World p_i1582_1_) { + super(p_i1582_1_); + } + + public EntityNukeCloudNoShroom(World p_i1582_1_, int maxAge) { + super(p_i1582_1_, maxAge); + } + +} diff --git a/com/hbm/entity/EntityNukeExplosionAdvanced.java b/com/hbm/entity/EntityNukeExplosionAdvanced.java index 12031d144..5eeda5399 100644 --- a/com/hbm/entity/EntityNukeExplosionAdvanced.java +++ b/com/hbm/entity/EntityNukeExplosionAdvanced.java @@ -26,6 +26,7 @@ public class EntityNukeExplosionAdvanced extends Entity { public float coefficient = 1; public float coefficient2 = 1; public boolean did = false; + public boolean did2 = false; public boolean waste = true; public EntityNukeExplosionAdvanced(World p_i1582_1_) { @@ -78,6 +79,17 @@ public class EntityNukeExplosionAdvanced extends Entity { this.worldObj.playSoundEffect(this.posX, this.posY, this.posZ, "ambient.weather.thunder", 10000.0F, 0.8F + this.rand.nextFloat() * 0.2F); ExplosionNukeGeneric.dealDamage(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, this.destructionRange * 2); } else { + if (!did2 && waste) { + EntityFalloutRain fallout = new EntityFalloutRain(this.worldObj, (int)(this.destructionRange * 1.8) * 10); + fallout.posX = this.posX; + fallout.posY = this.posY; + fallout.posZ = this.posZ; + fallout.setScale((int)(this.destructionRange * 1.8)); + + this.worldObj.spawnEntityInWorld(fallout); + + did2 = true; + } } age++; diff --git a/com/hbm/entity/EntityRainbow.java b/com/hbm/entity/EntityRainbow.java index f95c1bf6f..25fceeb25 100644 --- a/com/hbm/entity/EntityRainbow.java +++ b/com/hbm/entity/EntityRainbow.java @@ -95,6 +95,27 @@ public class EntityRainbow extends Entity implements IProjectile this.setThrowableHeading(d0, d1 + f4, d2, p_i1755_4_, p_i1755_5_); } } + + public EntityRainbow(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 EntityRainbow(World p_i1756_1_, EntityLivingBase p_i1756_2_, float p_i1756_3_) { @@ -312,7 +333,18 @@ public class EntityRainbow extends Entity implements IProjectile } else { - damagesource = ModDamageSource.causeSubatomicDamage(this, this.shootingEntity); + int j = rand.nextInt(5); + + if(j == 0) + damagesource = ModDamageSource.causeSubatomicDamage(this, this.shootingEntity); + else if(j == 1) + damagesource = ModDamageSource.causeSubatomicDamage2(this, this.shootingEntity); + else if(j == 2) + damagesource = ModDamageSource.causeSubatomicDamage3(this, this.shootingEntity); + else if(j == 3) + damagesource = ModDamageSource.causeSubatomicDamage4(this, this.shootingEntity); + else + damagesource = ModDamageSource.causeSubatomicDamage5(this, this.shootingEntity); } if (this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) diff --git a/com/hbm/explosion/ExplosionChaos.java b/com/hbm/explosion/ExplosionChaos.java index aa9156824..ef55f69e2 100644 --- a/com/hbm/explosion/ExplosionChaos.java +++ b/com/hbm/explosion/ExplosionChaos.java @@ -7,8 +7,10 @@ import java.util.Random; import com.hbm.blocks.ModBlocks; import com.hbm.entity.EntityBullet; import com.hbm.entity.EntityGrenadeTau; +import com.hbm.entity.EntityGrenadeZOMG; import com.hbm.entity.EntityMirv; import com.hbm.entity.EntityMissileBase; +import com.hbm.entity.EntityRainbow; import com.hbm.entity.EntityRocket; import com.hbm.entity.EntitySchrab; import com.hbm.lib.Library; @@ -787,11 +789,12 @@ public class ExplosionChaos { } } - 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; + 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) @@ -813,10 +816,10 @@ public class ExplosionChaos { } if (rand.nextInt(5) == 0) { - fragment = new EntityBullet(world, (EntityPlayer)shooter, 3.0F, 35, 45, false, "tauDay", tau); + 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 = new EntityBullet(world, (EntityPlayer) shooter, 3.0F, 35, 45, false, "eyyOk", tau); fragment.setDamage(rand.nextInt(11) + 35); } @@ -831,4 +834,42 @@ public class ExplosionChaos { } } + public static void zomgMeSinPi(World world, double x, double y, double z, int count, Entity shooter, + EntityGrenadeZOMG zomg) { + + 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; + } + + EntityRainbow entityZomg = new EntityRainbow(world, (EntityPlayer) shooter, 1F, 10000, 100000, zomg); + + entityZomg.motionX = d1;// * 5; + entityZomg.motionY = d2;// * 5; + entityZomg.motionZ = d3;// * 5; + entityZomg.shootingEntity = shooter; + + world.spawnEntityInWorld(entityZomg); + world.playSoundAtEntity(zomg, "hbm:weapon.zomgShoot", 10.0F, 0.8F + (rand.nextFloat() * 0.4F)); + } + } + } diff --git a/com/hbm/explosion/ExplosionNukeGeneric.java b/com/hbm/explosion/ExplosionNukeGeneric.java index f60b7ba39..ec9e50a4a 100644 --- a/com/hbm/explosion/ExplosionNukeGeneric.java +++ b/com/hbm/explosion/ExplosionNukeGeneric.java @@ -131,7 +131,7 @@ public class ExplosionNukeGeneric { if(!(entity instanceof EntityPlayerMP) || (entity instanceof EntityPlayerMP && ((EntityPlayerMP)entity).theItemInWorldManager.getGameType() != GameType.CREATIVE)) { //entity.attackEntityFrom(DamageSource.generic, ((int)((d11 * d11 + d11) / 2.0D * 8.0D * bombStartStrength + 1.0D))); - entity.attackEntityFrom(ModDamageSource.nuclearBlast, 5F); + entity.attackEntityFrom(ModDamageSource.nuclearBlast, 10F); entity.setFire(5); double d8 = EnchantmentProtection.func_92092_a(entity, d11); entity.motionX += d5 * d8; @@ -168,39 +168,40 @@ public class ExplosionNukeGeneric { } } - public static void destruction(World world, int x, int y, int z) - { + public static void destruction(World world, int x, int y, int z) { int rand; - if(!world.isRemote) - { - if(world.getBlock(x, y, z) != Blocks.bedrock && world.getBlock(x, y, z) != ModBlocks.reinforced_brick && world.getBlock(x, y, z) != ModBlocks.reinforced_glass && world.getBlock(x, y, z) != ModBlocks.reinforced_light && world.getBlock(x, y, z) != ModBlocks.reinforced_sand && world.getBlock(x, y, z) != ModBlocks.reinforced_lamp_off && world.getBlock(x, y, z) != ModBlocks.reinforced_lamp_on && !(world.getBlock(x, y, z) instanceof DecoBlockAlt)) - { - if(world.getBlock(x, y, z) == ModBlocks.brick_concrete) - { - rand = field_149933_a.nextInt(8); - if(rand == 0) - { - world.setBlock(x, y, z, Blocks.gravel, 0, 3); + if (!world.isRemote) { + if (world.getBlock(x, y, z) != Blocks.bedrock && world.getBlock(x, y, z) != ModBlocks.reinforced_brick + && world.getBlock(x, y, z) != ModBlocks.reinforced_glass + && world.getBlock(x, y, z) != ModBlocks.reinforced_light + && world.getBlock(x, y, z) != ModBlocks.reinforced_sand + && world.getBlock(x, y, z) != ModBlocks.reinforced_lamp_off + && world.getBlock(x, y, z) != ModBlocks.reinforced_lamp_on + && world.getBlock(x, y, z) != ModBlocks.cmb_brick + && world.getBlock(x, y, z) != ModBlocks.cmb_brick_reinforced + && !(world.getBlock(x, y, z) instanceof DecoBlockAlt)) { + if (world.getBlock(x, y, z) == ModBlocks.brick_concrete) { + rand = field_149933_a.nextInt(8); + if (rand == 0) { + world.setBlock(x, y, z, Blocks.gravel, 0, 3); + } + } else if (world.getBlock(x, y, z) == ModBlocks.brick_light) { + rand = field_149933_a.nextInt(2); + if (rand == 0) { + world.setBlock(x, y, z, ModBlocks.waste_planks, 0, 3); + } + } else if (world.getBlock(x, y, z) == ModBlocks.brick_obsidian) { + rand = field_149933_a.nextInt(20); + if (rand == 0) { + world.setBlock(x, y, z, Blocks.obsidian, 0, 3); + } + } else if (world.getBlock(x, y, z) == ModBlocks.brick_obsidian) { + world.setBlock(x, y, z, ModBlocks.gravel_obsidian, 0, 3); + } else { + world.setBlock(x, y, z, Blocks.air, 0, 3); } - }else if(world.getBlock(x, y, z) == ModBlocks.brick_light) - { - rand = field_149933_a.nextInt(2); - if(rand == 0) - { - world.setBlock(x, y, z, ModBlocks.waste_planks, 0, 3); - } - }else if(world.getBlock(x, y, z) == ModBlocks.brick_obsidian) - { - rand = field_149933_a.nextInt(20); - if(rand == 0) - { - world.setBlock(x, y, z, Blocks.obsidian, 0, 3); - } - }else{ - world.setBlock(x, y, z, Blocks.air, 0, 3); } } - } } public static void vaporDest(World world, int x, int y, int z) @@ -351,6 +352,15 @@ public class ExplosionNukeGeneric { } } + else if(world.getBlock(x, y, z) == ModBlocks.ore_nether_uranium) + { + rand = field_149933_a.nextInt(30); + if(rand == 1) + { + world.setBlock(x, y, z, ModBlocks.ore_nether_schrabidium); + } + } + else if(world.getBlock(x, y, z) == Blocks.brown_mushroom_block) { if(world.getBlockMetadata(x, y, z) == 10) diff --git a/com/hbm/gui/GUIMachineBattery.java b/com/hbm/gui/GUIMachineBattery.java index 5f1255968..e77d3ae8c 100644 --- a/com/hbm/gui/GUIMachineBattery.java +++ b/com/hbm/gui/GUIMachineBattery.java @@ -27,6 +27,7 @@ public class GUIMachineBattery extends GuiContainer { @Override protected void drawGuiContainerForegroundLayer(int i, int j) { String name = this.diFurnace.hasCustomInventoryName() ? this.diFurnace.getInventoryName() : I18n.format(this.diFurnace.getInventoryName()); + name += (" (" + this.diFurnace.power + " HE)"); this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 4210752); this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752); diff --git a/com/hbm/gui/MachineRecipes.java b/com/hbm/gui/MachineRecipes.java index 1d7b1fed7..de92425b6 100644 --- a/com/hbm/gui/MachineRecipes.java +++ b/com/hbm/gui/MachineRecipes.java @@ -70,6 +70,11 @@ public class MachineRecipes { return new ItemStack(ModItems.canister_fuel, 1); } + if (item == ModItems.canister_fuel && item2 == Items.slime_ball + || item == Items.slime_ball && item2 == ModItems.canister_fuel) { + return new ItemStack(ModItems.canister_napalm, 1); + } + if (item == ModItems.ingot_red_copper && item2 == ModItems.ingot_steel || item == ModItems.ingot_steel && item2 == ModItems.ingot_red_copper) { return new ItemStack(ModItems.ingot_advanced_alloy, 2); @@ -80,6 +85,11 @@ public class MachineRecipes { return new ItemStack(ModItems.ingot_magnetized_tungsten, 1); } + if (item == ModItems.plate_mixed && item2 == ModItems.plate_gold + || item == ModItems.plate_gold && item2 == ModItems.plate_mixed) { + return new ItemStack(ModItems.plate_paa, 2); + } + return null; } @@ -105,8 +115,6 @@ public class MachineRecipes { ItemStack[] schrabidium = new ItemStack[] { new ItemStack(ModItems.ingot_schrabidium, 1), new ItemStack(ModItems.sulfur, 1), new ItemStack(ModItems.sulfur, 1), new ItemStack(ModItems.cell_empty, 1) }; - ItemStack[] lithium = new ItemStack[] { new ItemStack(ModItems.lithium, 1), new ItemStack(ModItems.lithium, 1), - new ItemStack(ModItems.lithium, 1), new ItemStack(Item.getItemFromBlock(Blocks.gravel)) }; ItemStack[] lithium2 = new ItemStack[] { new ItemStack(ModItems.lithium, 1), new ItemStack(ModItems.lithium, 1), new ItemStack(ModItems.lithium, 1), new ItemStack(ModItems.lithium, 1) }; ItemStack[] lithium3 = new ItemStack[] { new ItemStack(ModItems.lithium, 4), new ItemStack(ModItems.lithium, 4), @@ -219,10 +227,6 @@ public class MachineRecipes { return schrabidium3; } - if (item == item.getItemFromBlock(Blocks.cobblestone) || item == item.getItemFromBlock(Blocks.stone)) { - return lithium; - } - if (item == item.getItemFromBlock(Blocks.quartz_block) || item == item.getItemFromBlock(Blocks.quartz_stairs)) { return lithium3; } @@ -375,9 +379,14 @@ public class MachineRecipes { new ItemStack(ModItems.ingot_advanced_alloy, 2)); recipes.put(new ItemStack[] { new ItemStack(ModItems.canister_empty), new ItemStack(Items.coal) }, new ItemStack(ModItems.canister_fuel, 1)); + recipes.put(new ItemStack[] { new ItemStack(ModItems.canister_fuel), new ItemStack(Items.slime_ball) }, + new ItemStack(ModItems.canister_napalm, 1)); recipes.put( new ItemStack[] { new ItemStack(ModItems.ingot_tungsten), new ItemStack(ModItems.nugget_schrabidium) }, new ItemStack(ModItems.ingot_magnetized_tungsten, 1)); + recipes.put( + new ItemStack[] { new ItemStack(ModItems.plate_mixed), new ItemStack(ModItems.plate_gold) }, + new ItemStack(ModItems.plate_paa, 2)); return recipes; } @@ -406,10 +415,6 @@ public class MachineRecipes { // recipes.put(new ItemStack(ModItems.rod_quad_euphemium), // getCentrifugeOutput(ModItems.rod_quad_euphemium)); recipes.put(new ItemStack(ModItems.cell_sas3), getCentrifugeOutput(ModItems.cell_sas3)); - recipes.put(new ItemStack(Item.getItemFromBlock(Blocks.stone)), - getCentrifugeOutput(Item.getItemFromBlock(Blocks.stone))); - recipes.put(new ItemStack(Item.getItemFromBlock(Blocks.cobblestone)), - getCentrifugeOutput(Item.getItemFromBlock(Blocks.cobblestone))); recipes.put(new ItemStack(ModItems.rod_uranium_fuel_depleted), getCentrifugeOutput(ModItems.rod_uranium_fuel_depleted)); recipes.put(new ItemStack(ModItems.rod_dual_uranium_fuel_depleted), @@ -524,8 +529,10 @@ public class MachineRecipes { public void registerEverythingImSrs() { //Makes the OreDict easily accessible. Neat. + + //You see that guy up there? He's a liar. "easily accessible" may be true, but the detection is bullshit. - System.out.println("Loading all items and blocks, please wait..."); + /*System.out.println("Loading all items and blocks, please wait..."); System.out.println("This process normally takes very long due to the incompetence of other modders I have to compensate for. Sorry for the inconvenience."); for (Object item : GameData.getItemRegistry()) { @@ -589,6 +596,28 @@ public class MachineRecipes { } } + System.out.println("Added " + theWholeThing.size() + " elements from the Ore Dict!");*/ + + String[] names = OreDictionary.getOreNames(); + List stacks = new ArrayList(); + + for(int i = 0; i < names.length; i++) { + stacks.addAll(OreDictionary.getOres(names[i])); + } + + for(int i = 0; i < stacks.size(); i++) { + + int[] ids = OreDictionary.getOreIDs(stacks.get(i)); + + List oreNames = new ArrayList(); + + for(int j = 0; j < ids.length; j++) { + oreNames.add(OreDictionary.getOreName(ids[j])); + } + + theWholeThing.add(new DictCouple(stacks.get(i), oreNames)); + } + System.out.println("Added " + theWholeThing.size() + " elements from the Ore Dict!"); } @@ -647,9 +676,11 @@ public class MachineRecipes { setRecipe(theWholeThing.get(i).item, new ItemStack(ModItems.scrap)); } } - + if(theWholeThing.get(i).list.isEmpty()) setRecipe(theWholeThing.get(i).item, new ItemStack(ModItems.scrap)); + if(!theWholeThing.get(i).list.isEmpty() && theWholeThing.get(i).list.get(0).equals("Unknown")) + setRecipe(theWholeThing.get(i).item, new ItemStack(ModItems.scrap)); } System.out.println("Added " + recipes.size() + " in total."); @@ -683,6 +714,9 @@ public class MachineRecipes { } public void overridePreSetRecipe(ItemStack inp, ItemStack outp) { + + boolean flag = false; + for(int i = 0; i < recipes.size(); i++) { if(recipes.get(i) != null && @@ -691,8 +725,17 @@ public class MachineRecipes { inp != null && outp != null && recipes.get(i).input.getItem() == inp.getItem() && - recipes.get(i).input.getItemDamage() == inp.getItemDamage()) + recipes.get(i).input.getItemDamage() == inp.getItemDamage()) { recipes.get(i).output = outp; + flag = true; + } + } + + if(!flag) { + ShredderRecipe rec = new ShredderRecipe(); + rec.input = inp; + rec.output = outp; + recipes.add(rec); } } @@ -783,14 +826,14 @@ public class MachineRecipes { return rec.output.copy(); } - return null; + return new ItemStack(ModItems.scrap); } public Map getShredderRecipes() { Map recipes = new HashMap(); for(int i = 0; i < this.recipes.size(); i++) { - if(this.recipes.get(i) != null && this.recipes.get(i).output.getItem() != ModItems.dust && this.recipes.get(i).output.getItem() != ModItems.scrap) + if(this.recipes.get(i) != null && this.recipes.get(i).output.getItem() != ModItems.scrap) recipes.put(((ShredderRecipe)this.recipes.get(i)).input, getShredderResult(((ShredderRecipe)this.recipes.get(i)).input)); } diff --git a/com/hbm/handler/FuelHandler.java b/com/hbm/handler/FuelHandler.java index 0a313a78c..476c2c543 100644 --- a/com/hbm/handler/FuelHandler.java +++ b/com/hbm/handler/FuelHandler.java @@ -1,8 +1,10 @@ package com.hbm.handler; +import com.hbm.blocks.ModBlocks; import com.hbm.items.ModItems; import cpw.mods.fml.common.IFuelHandler; +import net.minecraft.item.Item; import net.minecraft.item.ItemStack; public class FuelHandler implements IFuelHandler { @@ -10,12 +12,20 @@ public class FuelHandler implements IFuelHandler { @Override public int getBurnTime(ItemStack fuel) { + int i = 200; + if(fuel.getItem().equals(ModItems.canister_fuel)) - return 32000; + return i * 16; + if(fuel.getItem().equals(ModItems.powder_coal)) + return i * 8; if(fuel.getItem().equals(ModItems.scrap)) - return 4000; + return i * 4; + if(fuel.getItem().equals(ModItems.dust)) + return i * 2; if(fuel.getItem().equals(ModItems.powder_fire)) - return 20000; + return i * 32; + if(fuel.getItem().equals(Item.getItemFromBlock(ModBlocks.block_scrap))) + return i * 20; return 0; } diff --git a/com/hbm/handler/ShredderRecipeHandler.java b/com/hbm/handler/ShredderRecipeHandler.java index 4ce5a4afd..6d0d47027 100644 --- a/com/hbm/handler/ShredderRecipeHandler.java +++ b/com/hbm/handler/ShredderRecipeHandler.java @@ -5,6 +5,7 @@ import static codechicken.lib.gui.GuiDraw.drawTexturedModalRect; import java.awt.Rectangle; import java.util.ArrayList; import java.util.Arrays; +import java.util.LinkedList; import java.util.List; import java.util.Map; @@ -23,6 +24,7 @@ import codechicken.nei.recipe.GuiRecipe; import codechicken.nei.recipe.ICraftingHandler; import codechicken.nei.recipe.TemplateRecipeHandler; import codechicken.nei.recipe.TemplateRecipeHandler.RecipeTransferRect; +import codechicken.nei.recipe.TemplateRecipeHandler.RecipeTransferRectHandler; import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; @@ -31,6 +33,11 @@ public class ShredderRecipeHandler extends TemplateRecipeHandler { public static ArrayList fuels; + public LinkedList transferRectsRec = new LinkedList(); + public LinkedList transferRectsGui = new LinkedList(); + public LinkedList> guiRec = new LinkedList>(); + public LinkedList> guiGui = new LinkedList>(); + public class SmeltingSet extends TemplateRecipeHandler.CachedRecipe { PositionedStack input; @@ -117,12 +124,27 @@ public class ShredderRecipeHandler extends TemplateRecipeHandler { @Override public Class getGuiClass() { - return GUIMachineShredder.class; + //return GUIMachineShredder.class; + return null; } @Override public void loadTransferRects() { - transferRects.add(new RecipeTransferRect(new Rectangle(74, 23, 24, 18), "shredding")); + //transferRectsRec = new LinkedList(); + transferRectsGui = new LinkedList(); + //guiRec = new LinkedList>(); + guiGui = new LinkedList>(); + + transferRects.add(new RecipeTransferRect(new Rectangle(74 + 6, 23, 24, 18), "shredding")); + transferRectsGui.add(new RecipeTransferRect(new Rectangle(63 - 7 + 4, 89 - 11, 34, 18), "shredding")); + //guiRec.add(GuiRecipe.class); + guiGui.add(GUIMachineShredder.class); + RecipeTransferRectHandler.registerRectsToGuis(getRecipeTransferRectGuis(), transferRects); + //RecipeTransferRectHandler.registerRectsToGuis(guiRec, transferRectsRec); + RecipeTransferRectHandler.registerRectsToGuis(guiGui, transferRectsGui); + + //for(Class r : getRecipeTransferRectGuis()) + // System.out.println(r.toString()); } @Override diff --git a/com/hbm/items/ArmorHazmat.java b/com/hbm/items/ArmorHazmat.java index 87b07f453..5d0267e6d 100644 --- a/com/hbm/items/ArmorHazmat.java +++ b/com/hbm/items/ArmorHazmat.java @@ -20,6 +20,12 @@ public class ArmorHazmat extends ItemArmor { if(stack.getItem().equals(ModItems.hazmat_legs)) { return (RefStrings.MODID + ":textures/armor/hazmat_2.png"); } + if(stack.getItem().equals(ModItems.hazmat_paa_helmet) || stack.getItem().equals(ModItems.hazmat_paa_plate) || stack.getItem().equals(ModItems.hazmat_paa_boots)) { + return (RefStrings.MODID + ":textures/armor/hazmat_paa_1.png"); + } + if(stack.getItem().equals(ModItems.hazmat_paa_legs)) { + return (RefStrings.MODID + ":textures/armor/hazmat_paa_2.png"); + } else return null; } diff --git a/com/hbm/items/GunFatman.java b/com/hbm/items/GunFatman.java index fe4920149..9890709d6 100644 --- a/com/hbm/items/GunFatman.java +++ b/com/hbm/items/GunFatman.java @@ -74,7 +74,8 @@ public class GunFatman extends Item { entityarrow.setDamage(1000); p_77615_1_.damageItem(1, p_77615_3_); - p_77615_2_.playSoundAtEntity(p_77615_3_, "tile.piston.out", 1.0F, 0.5F); + //p_77615_2_.playSoundAtEntity(p_77615_3_, "tile.piston.out", 1.0F, 0.5F); + p_77615_2_.playSoundAtEntity(p_77615_3_, "hbm:weapon.fatmanShoot", 1.0F, 1F); if(!flag) { diff --git a/com/hbm/items/GunMP.java b/com/hbm/items/GunMP.java index e3361551d..a5be59a7f 100644 --- a/com/hbm/items/GunMP.java +++ b/com/hbm/items/GunMP.java @@ -52,10 +52,11 @@ public class GunMP extends Item { || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, stack) > 0; if ((player.capabilities.isCreativeMode || player.inventory.hasItem(ModItems.gun_mp_ammo)) && count % 3 == 0) { - EntityBullet entityarrow = new EntityBullet(world, player, 3.0F, 35, 45, false, false); + EntityBullet entityarrow = new EntityBullet(world, player, 3.0F, 100, 150, false, false); entityarrow.setDamage(100 + rand.nextInt(50)); - world.playSoundAtEntity(player, "random.explode", 1.0F, 1.5F + (rand.nextFloat() / 4)); + //world.playSoundAtEntity(player, "random.explode", 1.0F, 1.5F + (rand.nextFloat() / 4)); + world.playSoundAtEntity(player, "hbm:weapon.rifleShoot", 1.0F, 0.8F + (rand.nextFloat() * 0.4F)); if (flag) { entityarrow.canBePickedUp = 2; @@ -83,7 +84,7 @@ public class GunMP extends Item { list.add("whose blood is that? The former"); list.add("user's? The victim's? Both?"); list.add(""); - list.add("Ammo: Smal Propellantless Machine Gun Round"); - list.add("Damage: x - x"); + list.add("Ammo: Small Propellantless Machine Gun Round"); + list.add("Damage: 100 - 150"); } } diff --git a/com/hbm/items/GunOSIPR.java b/com/hbm/items/GunOSIPR.java index e99de0150..6fe17df3f 100644 --- a/com/hbm/items/GunOSIPR.java +++ b/com/hbm/items/GunOSIPR.java @@ -59,10 +59,11 @@ public class GunOSIPR extends Item { boolean flag = player.capabilities.isCreativeMode || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, stack) > 0; if ((player.capabilities.isCreativeMode || player.inventory.hasItem(ModItems.gun_osipr_ammo)) && count % 3 == 0) { - EntityBullet entityarrow = new EntityBullet(world, player, 3.0F, 35, 45, false, "chopper"); - entityarrow.setDamage(35 + rand.nextInt(45 - 35)); + EntityBullet entityarrow = new EntityBullet(world, player, 3.0F, 5, 15, false, "chopper"); + entityarrow.setDamage(5 + rand.nextInt(10)); - world.playSoundAtEntity(player, "random.explode", 1.0F, 1.5F + (rand.nextFloat() / 4)); + //world.playSoundAtEntity(player, "random.explode", 1.0F, 1.5F + (rand.nextFloat() / 4)); + world.playSoundAtEntity(player, "hbm:weapon.osiprShoot", 1.0F, 0.8F + (rand.nextFloat() * 0.4F)); if (flag) { entityarrow.canBePickedUp = 2; @@ -77,11 +78,12 @@ public class GunOSIPR extends Item { } else { boolean flag = player.capabilities.isCreativeMode || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, stack) > 0; - if ((player.capabilities.isCreativeMode || player.inventory.hasItem(ModItems.gun_osipr_ammo2)) && count % 50 == 0 && (this.getMaxItemUseDuration(stack) - count) != 0) { + if ((player.capabilities.isCreativeMode || player.inventory.hasItem(ModItems.gun_osipr_ammo2)) && count % 30 == 0 && (this.getMaxItemUseDuration(stack) - count) != 0) { EntityCombineBall entityarrow = new EntityCombineBall(player.worldObj, player, 3.0F); entityarrow.setDamage(35 + rand.nextInt(45 - 35)); - world.playSoundAtEntity(player, "tile.piston.in", 1.0F, 0.75F); + //world.playSoundAtEntity(player, "tile.piston.in", 1.0F, 0.75F); + world.playSoundAtEntity(player, "hbm:weapon.singFlyby", 1.0F, 1F); if (flag) { entityarrow.canBePickedUp = 2; @@ -93,6 +95,9 @@ public class GunOSIPR extends Item { world.spawnEntityInWorld(entityarrow); } } + + if((this.getMaxItemUseDuration(stack) - count) % 30 == 15 && (player.capabilities.isCreativeMode || player.inventory.hasItem(ModItems.gun_osipr_ammo2))) + world.playSoundAtEntity(player, "hbm:weapon.osiprCharging", 1.0F, 1F); } } @@ -111,7 +116,7 @@ public class GunOSIPR extends Item { list.add(""); list.add("Ammo: Dark Energy Plugs"); list.add("Secondary Ammo: Combine Ball"); - list.add("Damage: 35 - 45"); + list.add("Damage: 5 - 15"); list.add("Secondary Damage: 1000"); } diff --git a/com/hbm/items/GunRevolver.java b/com/hbm/items/GunRevolver.java index c51dbb8e6..328d859f4 100644 --- a/com/hbm/items/GunRevolver.java +++ b/com/hbm/items/GunRevolver.java @@ -23,226 +23,207 @@ import com.hbm.entity.EntityBullet; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -public class GunRevolver extends Item -{ - public static final String[] bowPullIconNameArray = new String[] {"pulling_0", "pulling_1", "pulling_2"}; - @SideOnly(Side.CLIENT) - private IIcon[] iconArray; - private static final String __OBFID = "CL_00001777"; - private Item ammo; - private int dmgMin; - private int dmgMax; - private boolean instakill = false; - private boolean rad = false; - Random rand = new Random(); +public class GunRevolver extends Item { + public static final String[] bowPullIconNameArray = new String[] { "pulling_0", "pulling_1", "pulling_2" }; + @SideOnly(Side.CLIENT) + private IIcon[] iconArray; + private static final String __OBFID = "CL_00001777"; + private Item ammo; + private int dmgMin; + private int dmgMax; + private boolean instakill = false; + private boolean rad = false; + Random rand = new Random(); - public GunRevolver(Item ammo, int dmgMin, int dmgMax, boolean instakill, boolean rad) - { - this.maxStackSize = 1; - if(this == ModItems.gun_revolver_iron) - { - this.setMaxDamage(100); - } - if(this == ModItems.gun_revolver) - { - this.setMaxDamage(500); - } - if(this == ModItems.gun_revolver_gold) - { - this.setMaxDamage(1000); - } - if(this == ModItems.gun_revolver_lead) - { - this.setMaxDamage(250); - } - if(this == ModItems.gun_revolver_schrabidium) - { - this.setMaxDamage(100000); - } - if(this == ModItems.gun_revolver_cursed) - { - this.setMaxDamage(5000); - } - - this.ammo = ammo; - this.dmgMin = dmgMin; - this.dmgMax = dmgMax; - this.instakill = instakill; - this.rad = rad; - } + public GunRevolver(Item ammo, int dmgMin, int dmgMax, boolean instakill, boolean rad) { + this.maxStackSize = 1; + if (this == ModItems.gun_revolver_iron) { + this.setMaxDamage(100); + } + if (this == ModItems.gun_revolver) { + this.setMaxDamage(500); + } + if (this == ModItems.gun_revolver_gold) { + this.setMaxDamage(1000); + } + if (this == ModItems.gun_revolver_lead) { + this.setMaxDamage(250); + } + if (this == ModItems.gun_revolver_schrabidium) { + this.setMaxDamage(100000); + } + if (this == ModItems.gun_revolver_cursed) { + this.setMaxDamage(5000); + } - @Override + this.ammo = ammo; + this.dmgMin = dmgMin; + this.dmgMax = dmgMax; + this.instakill = instakill; + this.rad = rad; + } + + @Override public EnumRarity getRarity(ItemStack p_77613_1_) { - - if(this == ModItems.gun_revolver_schrabidium) - { - return EnumRarity.rare; - } - - if(this == ModItems.gun_revolver_cursed) - { - return EnumRarity.uncommon; - } - - return EnumRarity.common; - } - /** - * called when the player releases the use item button. Args: itemstack, world, entityplayer, itemInUseCount - */ - @Override - public void onPlayerStoppedUsing(ItemStack p_77615_1_, World p_77615_2_, EntityPlayer p_77615_3_, int p_77615_4_) - { - int j = this.getMaxItemUseDuration(p_77615_1_) - p_77615_4_; + if (this == ModItems.gun_revolver_schrabidium) { + return EnumRarity.rare; + } - ArrowLooseEvent event = new ArrowLooseEvent(p_77615_3_, p_77615_1_, j); - MinecraftForge.EVENT_BUS.post(event); - j = event.charge; + if (this == ModItems.gun_revolver_cursed) { + return EnumRarity.uncommon; + } - boolean flag = p_77615_3_.capabilities.isCreativeMode || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, p_77615_1_) > 0; + return EnumRarity.common; + } + /** + * called when the player releases the use item button. Args: itemstack, + * world, entityplayer, itemInUseCount + */ + @Override + public void onPlayerStoppedUsing(ItemStack p_77615_1_, World p_77615_2_, EntityPlayer p_77615_3_, int p_77615_4_) { + int j = this.getMaxItemUseDuration(p_77615_1_) - p_77615_4_; - if (flag || p_77615_3_.inventory.hasItem(ammo)) - { - float f = j / 20.0F; - f = (f * f + f * 2.0F) / 3.0F; + ArrowLooseEvent event = new ArrowLooseEvent(p_77615_3_, p_77615_1_, j); + MinecraftForge.EVENT_BUS.post(event); + j = event.charge; - if (j < 10.0D) - { - return; - } + boolean flag = p_77615_3_.capabilities.isCreativeMode + || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, p_77615_1_) > 0; - if (j > 10.0F) - { - f = 10.0F; - } + if (flag || p_77615_3_.inventory.hasItem(ammo)) { + float f = j / 20.0F; + f = (f * f + f * 2.0F) / 3.0F; - EntityBullet entityarrow = new EntityBullet(p_77615_2_, p_77615_3_, 3.0F, dmgMin, dmgMax, instakill, rad); - entityarrow.setDamage(dmgMin + rand.nextInt(dmgMax - dmgMin)); + if (j < 10.0D) { + return; + } - p_77615_1_.damageItem(1, p_77615_3_); - if(this == ModItems.gun_revolver || this == ModItems.gun_revolver_iron || this == ModItems.gun_revolver_gold || this == ModItems.gun_revolver_lead || this == ModItems.gun_revolver_schrabidium) - { - p_77615_2_.playSoundAtEntity(p_77615_3_, "random.explode", 1.0F, 3.0F); - } - if(this == ModItems.gun_revolver_cursed) - { - p_77615_2_.playSoundAtEntity(p_77615_3_, "random.explode", 3.0F, 1.5F); - } - - if (flag) - { - entityarrow.canBePickedUp = 2; - } - else - { - p_77615_3_.inventory.consumeInventoryItem(ammo); - } + if (j > 10.0F) { + f = 10.0F; + } - if (!p_77615_2_.isRemote) - { - p_77615_2_.spawnEntityInWorld(entityarrow); - - if(this == ModItems.gun_revolver_cursed && rand.nextInt(3) == 0) - { - p_77615_3_.addPotionEffect(new PotionEffect(Potion.wither.id, 5 * 20, 0)); - } - } - } - } + EntityBullet entityarrow = new EntityBullet(p_77615_2_, p_77615_3_, 3.0F, dmgMin, dmgMax, instakill, rad); + entityarrow.setDamage(dmgMin + rand.nextInt(dmgMax - dmgMin)); - @Override - public ItemStack onEaten(ItemStack p_77654_1_, World p_77654_2_, EntityPlayer p_77654_3_) - { - return p_77654_1_; - } + p_77615_1_.damageItem(1, p_77615_3_); + if (this == ModItems.gun_revolver || this == ModItems.gun_revolver_iron + || this == ModItems.gun_revolver_gold || this == ModItems.gun_revolver_lead) { + // p_77615_2_.playSoundAtEntity(p_77615_3_, "random.explode", + // 1.0F, 3.0F); + p_77615_2_.playSoundAtEntity(p_77615_3_, "hbm:weapon.revolverShoot", 1.0F, 1.0F); + } + if (this == ModItems.gun_revolver_cursed) { + // p_77615_2_.playSoundAtEntity(p_77615_3_, "random.explode", + // 3.0F, 1.5F); + p_77615_2_.playSoundAtEntity(p_77615_3_, "hbm:weapon.heavyShoot", 3.0F, 1.0F); + } + if (this == ModItems.gun_revolver_schrabidium) { + // p_77615_2_.playSoundAtEntity(p_77615_3_, "random.explode", + // 1.0F, 3.0F); + p_77615_2_.playSoundAtEntity(p_77615_3_, "hbm:weapon.schrabidiumShoot", 1.0F, 1.0F); + } - /** - * How long it takes to use or consume an item - */ - @Override - public int getMaxItemUseDuration(ItemStack p_77626_1_) - { - return 72000; - } + if (flag) { + entityarrow.canBePickedUp = 2; + } else { + p_77615_3_.inventory.consumeInventoryItem(ammo); + } - /** - * returns the action that specifies what animation to play when the items is being used - */ - @Override - public EnumAction getItemUseAction(ItemStack p_77661_1_) - { - return EnumAction.bow; - } + if (!p_77615_2_.isRemote) { + p_77615_2_.spawnEntityInWorld(entityarrow); - /** - * Called whenever this item is equipped and the right mouse button is pressed. Args: itemStack, world, entityPlayer - */ - @Override - public ItemStack onItemRightClick(ItemStack p_77659_1_, World p_77659_2_, EntityPlayer p_77659_3_) - { - ArrowNockEvent event = new ArrowNockEvent(p_77659_3_, p_77659_1_); - MinecraftForge.EVENT_BUS.post(event); + if (this == ModItems.gun_revolver_cursed && rand.nextInt(3) == 0) { + p_77615_3_.addPotionEffect(new PotionEffect(Potion.wither.id, 5 * 20, 0)); + } + } + } + } - if (p_77659_3_.capabilities.isCreativeMode || p_77659_3_.inventory.hasItem(ammo)) - { - p_77659_3_.setItemInUse(p_77659_1_, this.getMaxItemUseDuration(p_77659_1_)); - } + @Override + public ItemStack onEaten(ItemStack p_77654_1_, World p_77654_2_, EntityPlayer p_77654_3_) { + return p_77654_1_; + } - return p_77659_1_; - } + /** + * How long it takes to use or consume an item + */ + @Override + public int getMaxItemUseDuration(ItemStack p_77626_1_) { + return 72000; + } - /** - * Return the enchantability factor of the item, most of the time is based on material. - */ - @Override - public int getItemEnchantability() - { - return 1; - } + /** + * returns the action that specifies what animation to play when the items + * is being used + */ + @Override + public EnumAction getItemUseAction(ItemStack p_77661_1_) { + return EnumAction.bow; + } + + /** + * Called whenever this item is equipped and the right mouse button is + * pressed. Args: itemStack, world, entityPlayer + */ + @Override + public ItemStack onItemRightClick(ItemStack p_77659_1_, World p_77659_2_, EntityPlayer p_77659_3_) { + ArrowNockEvent event = new ArrowNockEvent(p_77659_3_, p_77659_1_); + MinecraftForge.EVENT_BUS.post(event); + + if (p_77659_3_.capabilities.isCreativeMode || p_77659_3_.inventory.hasItem(ammo)) { + p_77659_3_.setItemInUse(p_77659_1_, this.getMaxItemUseDuration(p_77659_1_)); + } + + return p_77659_1_; + } + + /** + * Return the enchantability factor of the item, most of the time is based + * on material. + */ + @Override + public int getItemEnchantability() { + return 1; + } @Override public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { - if(this == ModItems.gun_revolver_iron) - { + if (this == ModItems.gun_revolver_iron) { list.add("Cheap."); list.add(""); list.add("Ammo: Iron Bullets"); list.add("Damage: 5 - 15"); } - if(this == ModItems.gun_revolver) - { + if (this == ModItems.gun_revolver) { list.add("I feel like a cowboy!"); list.add(""); list.add("Ammo: Lead Bullets"); list.add("Damage: 10 - 25"); } - if(this == ModItems.gun_revolver_gold) - { + if (this == ModItems.gun_revolver_gold) { list.add("GoldenEye would be proud!"); list.add(""); list.add("Ammo: Golden Bullets"); list.add("Damage: 20 - 30"); } - if(this == ModItems.gun_revolver_lead) - { + if (this == ModItems.gun_revolver_lead) { list.add("Made from lead for your safety!"); list.add(""); list.add("Ammo: Atomic Bullets"); list.add("Damage: 5 - 15"); list.add("Bullets are radioactive."); } - if(this == ModItems.gun_revolver_schrabidium) - { + if (this == ModItems.gun_revolver_schrabidium) { list.add("Kills everyone and everything."); list.add(""); list.add("Ammo: Schrabidium Bullets"); list.add("Damage: 10000 - 100000"); list.add("Sets enemy's health to zero."); } - if(this == ModItems.gun_revolver_cursed) - { + if (this == ModItems.gun_revolver_cursed) { list.add("You're dead."); list.add(""); list.add("Ammo: Steel Bullets"); diff --git a/com/hbm/items/GunRpg.java b/com/hbm/items/GunRpg.java index 57553c4ac..e2896541e 100644 --- a/com/hbm/items/GunRpg.java +++ b/com/hbm/items/GunRpg.java @@ -73,7 +73,7 @@ public class GunRpg extends Item } p_77615_1_.damageItem(1, p_77615_3_); - p_77615_2_.playSoundAtEntity(p_77615_3_, "fireworks.launch", 1.0F, 0.25F); + p_77615_2_.playSoundAtEntity(p_77615_3_, "hbm:weapon.rpgShoot", 1.0F, 0.25F); if (flag) { diff --git a/com/hbm/items/GunSuicide.java b/com/hbm/items/GunSuicide.java new file mode 100644 index 000000000..ecf7fb4cc --- /dev/null +++ b/com/hbm/items/GunSuicide.java @@ -0,0 +1,165 @@ +package com.hbm.items; + +import java.util.List; +import java.util.Random; + +import com.hbm.entity.EntityBullet; +import com.hbm.lib.ModDamageSource; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.enchantment.Enchantment; +import net.minecraft.enchantment.EnchantmentHelper; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.EnumAction; +import net.minecraft.item.EnumRarity; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.potion.Potion; +import net.minecraft.potion.PotionEffect; +import net.minecraft.util.IIcon; +import net.minecraft.world.World; +import net.minecraftforge.common.MinecraftForge; +import net.minecraftforge.event.entity.player.ArrowLooseEvent; +import net.minecraftforge.event.entity.player.ArrowNockEvent; + +public class GunSuicide extends Item { + + public static final String[] bowPullIconNameArray = new String[] {"pulling_0", "pulling_1", "pulling_2"}; + @SideOnly(Side.CLIENT) + private IIcon[] iconArray; + private static final String __OBFID = "CL_00001777"; + private Item ammo; + Random rand = new Random(); + + public GunSuicide() + { + this.maxStackSize = 1; + //if(this == ModItems.gun_revolver) + { + this.setMaxDamage(500); + } + + this.ammo = ModItems.gun_revolver_ammo; + } + + @Override + public EnumRarity getRarity(ItemStack p_77613_1_) { + + return EnumRarity.uncommon; + } + + /** + * called when the player releases the use item button. Args: itemstack, world, entityplayer, itemInUseCount + */ + @Override + public void onPlayerStoppedUsing(ItemStack p_77615_1_, World p_77615_2_, EntityPlayer p_77615_3_, int p_77615_4_) + { + int j = this.getMaxItemUseDuration(p_77615_1_) - p_77615_4_; + + ArrowLooseEvent event = new ArrowLooseEvent(p_77615_3_, p_77615_1_, j); + MinecraftForge.EVENT_BUS.post(event); + j = event.charge; + + boolean flag = p_77615_3_.capabilities.isCreativeMode || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, p_77615_1_) > 0; + + + if (flag || p_77615_3_.inventory.hasItem(ammo)) + { + float f = j / 20.0F; + f = (f * f + f * 2.0F) / 3.0F; + + if (j < 10.0D) + { + return; + } + + if (j > 10.0F) + { + f = 10.0F; + } + + p_77615_1_.damageItem(1, p_77615_3_); + //if(this == ModItems.gun_revolver || this == ModItems.gun_revolver_iron || this == ModItems.gun_revolver_gold || this == ModItems.gun_revolver_lead) + { + //p_77615_2_.playSoundAtEntity(p_77615_3_, "random.explode", 1.0F, 3.0F); + p_77615_2_.playSoundAtEntity(p_77615_3_, "hbm:weapon.revolverShoot", 1.0F, 1.0F); + } + + if (flag) + { } + else + { + p_77615_3_.inventory.consumeInventoryItem(ammo); + } + + if (!p_77615_2_.isRemote) + { + p_77615_3_.attackEntityFrom(ModDamageSource.suicide, Float.POSITIVE_INFINITY); + } + } + } + + @Override + public ItemStack onEaten(ItemStack p_77654_1_, World p_77654_2_, EntityPlayer p_77654_3_) + { + return p_77654_1_; + } + + /** + * How long it takes to use or consume an item + */ + @Override + public int getMaxItemUseDuration(ItemStack p_77626_1_) + { + return 72000; + } + + /** + * returns the action that specifies what animation to play when the items is being used + */ + @Override + public EnumAction getItemUseAction(ItemStack p_77661_1_) + { + return EnumAction.bow; + } + + /** + * Called whenever this item is equipped and the right mouse button is pressed. Args: itemStack, world, entityPlayer + */ + @Override + public ItemStack onItemRightClick(ItemStack p_77659_1_, World p_77659_2_, EntityPlayer p_77659_3_) + { + ArrowNockEvent event = new ArrowNockEvent(p_77659_3_, p_77659_1_); + MinecraftForge.EVENT_BUS.post(event); + + if (p_77659_3_.capabilities.isCreativeMode || p_77659_3_.inventory.hasItem(ammo)) + { + p_77659_3_.setItemInUse(p_77659_1_, this.getMaxItemUseDuration(p_77659_1_)); + } + + return p_77659_1_; + } + + /** + * Return the enchantability factor of the item, most of the time is based on material. + */ + @Override + public int getItemEnchantability() + { + return 1; + } + + @Override + public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { + + //if(this == ModItems.gun_revolver) + { + list.add("I've seen things..."); + list.add("...I shouldn't have seen."); + list.add(""); + list.add("Ammo: Lead Bullets"); + list.add("Damage: ∞"); + } + } +} diff --git a/com/hbm/items/GunXVL1456.java b/com/hbm/items/GunXVL1456.java index 2f211746d..0f4b946d3 100644 --- a/com/hbm/items/GunXVL1456.java +++ b/com/hbm/items/GunXVL1456.java @@ -6,6 +6,9 @@ import java.util.Random; import com.hbm.entity.EntityBullet; import com.hbm.entity.EntityMiniNuke; import com.hbm.lib.ModDamageSource; +import com.hbm.sound.MovingSoundPlayerLoop; +import com.hbm.sound.MovingSoundPlayerLoop.EnumHbmSound; +import com.hbm.sound.MovingSoundXVL1456; import net.minecraft.enchantment.Enchantment; import net.minecraft.enchantment.EnchantmentHelper; @@ -16,6 +19,7 @@ import net.minecraft.item.EnumAction; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.ResourceLocation; import net.minecraft.world.World; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.entity.player.ArrowLooseEvent; @@ -55,8 +59,7 @@ public class GunXVL1456 extends Item { entitybullet.setDamage(j + rand.nextInt(6)); - world.playSoundAtEntity(player, "fireworks.blast", 1.0F, - 1.0F / (itemRand.nextFloat() * 0.4F + 1.2F) * 0.75F); + world.playSoundAtEntity(player, "hbm:weapon.tauShoot", 1.0F, 0.5F); if (flag) { entitybullet.canBePickedUp = 2; @@ -104,10 +107,10 @@ public class GunXVL1456 extends Item { || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, stack) > 0; if ((player.capabilities.isCreativeMode || player.inventory.hasItem(ModItems.gun_xvl1456_ammo)) && count % 4 == 0) { - EntityBullet entityarrow = new EntityBullet(world, player, 3.0F, 35, 45, false, "eyyOk"); - entityarrow.setDamage(35 + rand.nextInt(45 - 35)); + EntityBullet entityarrow = new EntityBullet(world, player, 3.0F, 25, 65, false, "eyyOk"); + entityarrow.setDamage(25 + rand.nextInt(65 - 25)); - world.playSoundAtEntity(player, "fireworks.blast", 1.0F, 1.0F / (itemRand.nextFloat() * 0.4F + 1.2F) + 0.5F); + world.playSoundAtEntity(player, "hbm:weapon.tauShoot", 1.0F, 0.8F + (rand.nextFloat() * 0.4F)); if (flag) { entityarrow.canBePickedUp = 2; @@ -129,17 +132,13 @@ public class GunXVL1456 extends Item { } } } - if(count % 2 == 0) - { - //world.playSoundAtEntity(player, "dig.stone", 1.0F, 1.0F / (itemRand.nextFloat() * 0.4F + 1.2F) + 1F); - //world.playSoundAtEntity(player, "random.click", 1.0F, 1.0F / (itemRand.nextFloat() * 0.4F + 1.2F) + 1F); - world.playSoundAtEntity(player, "random.click", 1.0F, (this.getMaxItemUseDuration(stack) - count) * 0.01F); - } + + world.playSoundAtEntity(player, "hbm:misc.nullTau", 0.1F, 1.0F); } if(player instanceof EntityPlayer) { - if(((EntityPlayer)player).getItemInUseCount() < getMaxItemUseDuration(stack) - 200 && player.isSneaking() && ((EntityPlayer)player).getItemInUseCount() != 0) + if(count < getMaxItemUseDuration(stack) - 200 && player.isSneaking() && count != 0) { if(!world.isRemote) { @@ -167,7 +166,7 @@ public class GunXVL1456 extends Item { list.add("stronger shots!"); list.add(""); list.add("Ammo: Depleted Uranium"); - list.add("Damage: 35 - 45"); + list.add("Damage: 25 - 65"); list.add("Charged Damage: 40 - 400"); list.add("Projectiles penetrate walls."); } diff --git a/com/hbm/items/GunZOMG.java b/com/hbm/items/GunZOMG.java index 6ae964ea9..505f8bda2 100644 --- a/com/hbm/items/GunZOMG.java +++ b/com/hbm/items/GunZOMG.java @@ -133,7 +133,7 @@ public class GunZOMG extends Item { entityarrow4.setDamage(35 + rand.nextInt(45 - 35)); entityarrow5.setDamage(35 + rand.nextInt(45 - 35)); - world.playSoundAtEntity(player, "random.explode", 1.0F, 1.5F + (rand.nextFloat() / 4)); + world.playSoundAtEntity(player, "hbm:weapon.osiprShoot", 1.0F, 0.6F + (rand.nextFloat() * 0.4F)); if (!world.isRemote) { world.spawnEntityInWorld(entityarrow); @@ -156,7 +156,7 @@ public class GunZOMG extends Item { entityarrow4.setDamage(10000 + rand.nextInt(90000)); //world.playSoundAtEntity(player, "random.explode", 1.0F, 1.5F + (rand.nextFloat() / 4)); - world.playSoundAtEntity(player, "ambient.weather.thunder", 1.0F, 2); + world.playSoundAtEntity(player, "hbm:weapon.zomgShoot", 1.0F, 0.8F + (rand.nextFloat() * 0.4F)); if (!world.isRemote) { world.spawnEntityInWorld(entityarrow); diff --git a/com/hbm/items/ItemChopper.java b/com/hbm/items/ItemChopper.java new file mode 100644 index 000000000..70df45195 --- /dev/null +++ b/com/hbm/items/ItemChopper.java @@ -0,0 +1,147 @@ +package com.hbm.items; + +import com.hbm.entity.EntityHunterChopper; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockLiquid; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityList; +import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.IEntityLivingData; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.Facing; +import net.minecraft.util.MathHelper; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.world.World; + +public class ItemChopper extends Item { + + public boolean onItemUse(ItemStack p_77648_1_, EntityPlayer p_77648_2_, World p_77648_3_, int p_77648_4_, int p_77648_5_, int p_77648_6_, int p_77648_7_, float p_77648_8_, float p_77648_9_, float p_77648_10_) + { + if (p_77648_3_.isRemote) + { + return true; + } + else + { + Block block = p_77648_3_.getBlock(p_77648_4_, p_77648_5_, p_77648_6_); + p_77648_4_ += Facing.offsetsXForSide[p_77648_7_]; + p_77648_5_ += Facing.offsetsYForSide[p_77648_7_]; + p_77648_6_ += Facing.offsetsZForSide[p_77648_7_]; + double d0 = 0.0D; + + if (p_77648_7_ == 1 && block.getRenderType() == 11) + { + d0 = 0.5D; + } + + Entity entity = spawnCreature(p_77648_3_, p_77648_1_.getItemDamage(), (double)p_77648_4_ + 0.5D, (double)p_77648_5_ + d0, (double)p_77648_6_ + 0.5D); + + if (entity != null) + { + if (entity instanceof EntityLivingBase && p_77648_1_.hasDisplayName()) + { + ((EntityLiving)entity).setCustomNameTag(p_77648_1_.getDisplayName()); + } + + if (!p_77648_2_.capabilities.isCreativeMode) + { + --p_77648_1_.stackSize; + } + } + + return true; + } + } + + /** + * Called whenever this item is equipped and the right mouse button is pressed. Args: itemStack, world, entityPlayer + */ + public ItemStack onItemRightClick(ItemStack p_77659_1_, World p_77659_2_, EntityPlayer p_77659_3_) + { + if (p_77659_2_.isRemote) + { + return p_77659_1_; + } + else + { + MovingObjectPosition movingobjectposition = this.getMovingObjectPositionFromPlayer(p_77659_2_, p_77659_3_, true); + + if (movingobjectposition == null) + { + return p_77659_1_; + } + else + { + if (movingobjectposition.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK) + { + int i = movingobjectposition.blockX; + int j = movingobjectposition.blockY; + int k = movingobjectposition.blockZ; + + if (!p_77659_2_.canMineBlock(p_77659_3_, i, j, k)) + { + return p_77659_1_; + } + + if (!p_77659_3_.canPlayerEdit(i, j, k, movingobjectposition.sideHit, p_77659_1_)) + { + return p_77659_1_; + } + + if (p_77659_2_.getBlock(i, j, k) instanceof BlockLiquid) + { + Entity entity = spawnCreature(p_77659_2_, p_77659_1_.getItemDamage(), (double)i, (double)j, (double)k); + + if (entity != null) + { + if (entity instanceof EntityLivingBase && p_77659_1_.hasDisplayName()) + { + ((EntityLiving)entity).setCustomNameTag(p_77659_1_.getDisplayName()); + } + + if (!p_77659_3_.capabilities.isCreativeMode) + { + --p_77659_1_.stackSize; + } + } + } + } + + return p_77659_1_; + } + } + } + + /** + * Spawns the creature specified by the egg's type in the location specified by the last three parameters. + * Parameters: world, entityID, x, y, z. + */ + public static Entity spawnCreature(World p_77840_0_, int p_77840_1_, double p_77840_2_, double p_77840_4_, double p_77840_6_) + { + { + Entity entity = null; + + for (int j = 0; j < 1; ++j) + { + entity = new EntityHunterChopper(p_77840_0_); + + if (entity != null && entity instanceof EntityLivingBase) + { + EntityLiving entityliving = (EntityLiving)entity; + entity.setLocationAndAngles(p_77840_2_, p_77840_4_, p_77840_6_, MathHelper.wrapAngleTo180_float(p_77840_0_.rand.nextFloat() * 360.0F), 0.0F); + entityliving.rotationYawHead = entityliving.rotationYaw; + entityliving.renderYawOffset = entityliving.rotationYaw; + entityliving.onSpawnWithEgg((IEntityLivingData)null); + p_77840_0_.spawnEntityInWorld(entity); + } + } + + return entity; + } + } + +} diff --git a/com/hbm/items/ItemDrop.java b/com/hbm/items/ItemDrop.java index 21d48e702..598c6a99d 100644 --- a/com/hbm/items/ItemDrop.java +++ b/com/hbm/items/ItemDrop.java @@ -144,7 +144,7 @@ public class ItemDrop extends Item { } if (itemstack.getItem() != null && itemstack.getItem() == ModItems.cell_anti_schrabidium) { list.add("Warning: Exposure to matter will"); - list.add("create a fólkvangr field!"); + list.add("create a f�lkvangr field!"); } if (itemstack.getItem() != null && itemstack.getItem() == ModItems.singularity) { list.add("You may be asking:"); @@ -158,7 +158,7 @@ public class ItemDrop extends Item { list.add("non-euclidean space, creates variable"); list.add("gravity well. Spontaneously spawns"); list.add("tesseracts. If a tesseract happens to"); - list.add("appear near you, do not directly look"); + list.add("appear near you, do not look directly"); list.add("at it."); } if (itemstack.getItem() != null && itemstack.getItem() == ModItems.singularity_super_heated) { diff --git a/com/hbm/items/ItemGrenade.java b/com/hbm/items/ItemGrenade.java index 3376ebb12..7624977c6 100644 --- a/com/hbm/items/ItemGrenade.java +++ b/com/hbm/items/ItemGrenade.java @@ -1,5 +1,6 @@ package com.hbm.items; +import com.hbm.entity.EntityGrenadeASchrab; import com.hbm.entity.EntityGrenadeCluster; import com.hbm.entity.EntityGrenadeElectric; import com.hbm.entity.EntityGrenadeFire; @@ -16,6 +17,7 @@ import com.hbm.entity.EntityGrenadePoison; import com.hbm.entity.EntityGrenadeSchrabidium; import com.hbm.entity.EntityGrenadeStrong; import com.hbm.entity.EntityGrenadeTau; +import com.hbm.entity.EntityGrenadeZOMG; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumRarity; @@ -90,6 +92,12 @@ public class ItemGrenade extends Item { 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_)); + } } return p_77659_1_; @@ -98,15 +106,15 @@ public class ItemGrenade extends Item { @Override public EnumRarity getRarity(ItemStack p_77613_1_) { - if (this == ModItems.grenade_schrabidium) { + if (this == ModItems.grenade_schrabidium || this == ModItems.grenade_aschrab) { return EnumRarity.rare; } - if (this == ModItems.grenade_plasma) { + if (this == ModItems.grenade_plasma || this == ModItems.grenade_zomg) { return EnumRarity.epic; } - if (this == ModItems.grenade_nuke || this == ModItems.grenade_nuclear || this == ModItems.grenade_tau || this == ModItems.grenade_lemon) { + if (this == ModItems.grenade_nuke || this == ModItems.grenade_nuclear || this == ModItems.grenade_tau || this == ModItems.grenade_lemon || this == ModItems.grenade_mk2) { return EnumRarity.uncommon; } diff --git a/com/hbm/items/ItemModRecord.java b/com/hbm/items/ItemModRecord.java new file mode 100644 index 000000000..32d6514cf --- /dev/null +++ b/com/hbm/items/ItemModRecord.java @@ -0,0 +1,112 @@ +package com.hbm.items; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import com.hbm.lib.RefStrings; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.BlockJukebox; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.entity.EntityList; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.item.EnumRarity; +import net.minecraft.item.Item; +import net.minecraft.item.ItemRecord; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.util.ResourceLocation; +import net.minecraft.util.StatCollector; +import net.minecraft.world.World; + +public class ItemModRecord extends ItemRecord { + + private static final Map modRecords = new HashMap(); + public final String recordName; + + public ItemModRecord(String string) { + super(string); + recordName = string; + modRecords.put(string, this); + } + + public boolean onItemUse(ItemStack p_77648_1_, EntityPlayer p_77648_2_, World p_77648_3_, int p_77648_4_, + int p_77648_5_, int p_77648_6_, int p_77648_7_, float p_77648_8_, float p_77648_9_, float p_77648_10_) { + if (p_77648_3_.getBlock(p_77648_4_, p_77648_5_, p_77648_6_) == Blocks.jukebox + && p_77648_3_.getBlockMetadata(p_77648_4_, p_77648_5_, p_77648_6_) == 0) { + if (p_77648_3_.isRemote) { + return true; + } else { + ((BlockJukebox) Blocks.jukebox).func_149926_b(p_77648_3_, p_77648_4_, p_77648_5_, p_77648_6_, + p_77648_1_); + p_77648_3_.playAuxSFXAtEntity((EntityPlayer) null, 1005, p_77648_4_, p_77648_5_, p_77648_6_, + Item.getIdFromItem(this)); + --p_77648_1_.stackSize; + return true; + } + } else { + return false; + } + } + + /** + * allows items to add custom lines of information to the mouseover + * description + */ + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack p_77624_1_, EntityPlayer p_77624_2_, List p_77624_3_, boolean p_77624_4_) { + p_77624_3_.add(this.getRecordNameLocal()); + } + + @SideOnly(Side.CLIENT) + public String getRecordNameLocal() { + return StatCollector.translateToLocal("item.record." + this.recordName + ".desc"); + } + + /** + * Return an item rarity from EnumRarity + */ + public EnumRarity getRarity(ItemStack p_77613_1_) { + return EnumRarity.rare; + } + + /** + * Return the record item corresponding to the given name. + */ + @SideOnly(Side.CLIENT) + public static ItemRecord getRecord(String p_150926_0_) { + return (ItemRecord) modRecords.get(p_150926_0_); + } + + /** + * Retrieves the resource location of the sound to play for this record. + * + * @param name + * The name of the record to play + * @return The resource location for the audio, null to use default. + */ + public ResourceLocation getRecordResource(String name) { + + String s = ""; + + if(name.equals("records.lc")) + s = RefStrings.MODID + ":music.recordLambdaCore"; + if(name.equals("records.ss")) + s = RefStrings.MODID + ":music.recordSectorSweep"; + if(name.equals("records.vc")) + s = RefStrings.MODID + ":music.recordVortalCombat"; + + return new ResourceLocation(s); + } + + public String getItemStackDisplayName(ItemStack p_77653_1_) + { + String s = (StatCollector.translateToLocal(Items.record_11.getUnlocalizedName() + ".name")).trim(); + + return s; + } +} diff --git a/com/hbm/items/ItemRadioactive.java b/com/hbm/items/ItemRadioactive.java index 910e76a8d..2d1988ad9 100644 --- a/com/hbm/items/ItemRadioactive.java +++ b/com/hbm/items/ItemRadioactive.java @@ -75,7 +75,8 @@ public class ItemRadioactive extends Item { this == ModItems.boy_bullet || this == ModItems.boy_target || this == ModItems.gadget_core || - this == ModItems.man_core) { + this == ModItems.man_core || + this == ModItems.nuclear_waste) { living.addPotionEffect(new PotionEffect(Potion.poison.id, 45 * 20, 4)); living.addPotionEffect(new PotionEffect(Potion.wither.id, 5 * 20, 2)); living.attackEntityFrom(ModDamageSource.radiation, 3); @@ -116,7 +117,8 @@ public class ItemRadioactive extends Item { this == ModItems.rod_quad_plutonium || this == ModItems.rod_dual_plutonium || this == ModItems.mike_core || - this == ModItems.tsar_core) { + this == ModItems.tsar_core || + this == ModItems.trinitite) { living.addPotionEffect(new PotionEffect(Potion.poison.id, 25 * 20, 4)); living.attackEntityFrom(ModDamageSource.radiation, 1); } @@ -160,7 +162,8 @@ public class ItemRadioactive extends Item { //Powder - if (this == ModItems.powder_neptunium) { + if (this == ModItems.powder_neptunium || + this == ModItems.powder_plutonium) { living.addPotionEffect(new PotionEffect(Potion.poison.id, 25 * 20, 4)); living.attackEntityFrom(ModDamageSource.radiation, 1); living.setFire(5); @@ -178,7 +181,14 @@ public class ItemRadioactive extends Item { this == ModItems.ingot_hes || this == ModItems.ingot_les || this == ModItems.cell_sas3 || - this == ModItems.fleija_propellant) { + this == ModItems.fleija_propellant || + this == ModItems.gun_revolver_schrabidium_ammo || + this == ModItems.rod_schrabidium || + this == ModItems.rod_dual_schrabidium || + this == ModItems.rod_quad_schrabidium || + this == ModItems.rod_schrabidium_fuel || + this == ModItems.rod_dual_schrabidium_fuel || + this == ModItems.rod_quad_schrabidium_fuel) { living.addPotionEffect(new PotionEffect(Potion.blindness.id, 2 * 60 * 20, 0)); living.attackEntityFrom(ModDamageSource.radiation, 30); } @@ -191,7 +201,8 @@ public class ItemRadioactive extends Item { living.attackEntityFrom(ModDamageSource.radiation, 10); } - if (this == ModItems.plate_schrabidium) { + if (this == ModItems.plate_schrabidium || + this == ModItems.wire_schrabidium) { living.addPotionEffect(new PotionEffect(Potion.blindness.id, 2 * 60 * 20, 0)); living.attackEntityFrom(ModDamageSource.radiation, 15); } diff --git a/com/hbm/items/ItemStarterKit.java b/com/hbm/items/ItemStarterKit.java index 66d65ecd0..a1b3e243f 100644 --- a/com/hbm/items/ItemStarterKit.java +++ b/com/hbm/items/ItemStarterKit.java @@ -1,6 +1,7 @@ package com.hbm.items; import com.hbm.blocks.ModBlocks; +import com.hbm.lib.Library; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; @@ -9,6 +10,7 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; +import net.minecraft.util.ChatComponentText; import net.minecraft.world.World; public class ItemStarterKit extends Item { @@ -343,6 +345,15 @@ public class ItemStarterKit extends Item { player.inventory.addItemStackToInventory(new ItemStack(ModItems.watch, 1)); } + if(this == ModItems.letter && world.isRemote) + { + if(player.getUniqueID().toString().equals(Library.a20)) { + player.addChatMessage(new ChatComponentText("Error: null reference @ com.hbm.items.ItemStarterKit.class, please report this to the modder!")); + } else { + player.addChatMessage(new ChatComponentText("You rip the letter in half; nothing happens.")); + } + } + return stack; } diff --git a/com/hbm/items/ModArmor.java b/com/hbm/items/ModArmor.java index c5ab2f508..7d1719a18 100644 --- a/com/hbm/items/ModArmor.java +++ b/com/hbm/items/ModArmor.java @@ -32,6 +32,18 @@ public class ModArmor extends ItemArmor { if(stack.getItem().equals(ModItems.alloy_legs)) { return (RefStrings.MODID + ":textures/armor/alloy_2.png"); } + if(stack.getItem().equals(ModItems.cmb_helmet) || stack.getItem().equals(ModItems.cmb_plate) || stack.getItem().equals(ModItems.cmb_boots)) { + return (RefStrings.MODID + ":textures/armor/cmb_1.png"); + } + if(stack.getItem().equals(ModItems.cmb_legs)) { + return (RefStrings.MODID + ":textures/armor/cmb_2.png"); + } + if(stack.getItem().equals(ModItems.paa_plate) || stack.getItem().equals(ModItems.paa_boots)) { + return (RefStrings.MODID + ":textures/armor/paa_1.png"); + } + if(stack.getItem().equals(ModItems.paa_legs)) { + return (RefStrings.MODID + ":textures/armor/paa_2.png"); + } else return null; } diff --git a/com/hbm/items/ModItems.java b/com/hbm/items/ModItems.java index 02f774db1..19aa5b279 100644 --- a/com/hbm/items/ModItems.java +++ b/com/hbm/items/ModItems.java @@ -95,6 +95,7 @@ public class ModItems { public static Item nugget_beryllium; public static Item plate_gold; public static Item hazmat_cloth; + public static Item filter_coal; public static Item plate_advanced_alloy; public static Item plate_combine_steel; public static Item plate_mixed; @@ -112,6 +113,7 @@ public class ModItems { public static Item powder_titanium; public static Item powder_tungsten; public static Item powder_uranium; + public static Item powder_plutonium; public static Item dust; public static Item powder_power; @@ -256,6 +258,7 @@ public class ModItems { public static Item canister_empty; public static Item canister_fuel; public static Item canister_napalm; + public static Item canister_NITAN; public static Item syringe_empty; public static Item syringe_antidote; @@ -416,6 +419,7 @@ public class ModItems { public static Item gun_zomg; public static Item gun_super_shotgun; public static Item gun_moist_nugget; + public static Item gun_revolver_inverted; public static Item gun_waluigi; public static Item grenade_generic; @@ -432,8 +436,10 @@ public class ModItems { public static Item grenade_schrabidium; public static Item grenade_lemon; public static Item grenade_mk2; + public static Item grenade_aschrab; public static Item grenade_nuke; public static Item grenade_nuclear; + public static Item grenade_zomg; public static Item bomb_waffle; public static Item schnitzel_vegan; @@ -529,6 +535,13 @@ public class ModItems { public static Item alloy_plate; public static Item alloy_legs; public static Item alloy_boots; + public static Item cmb_helmet; + public static Item cmb_plate; + public static Item cmb_legs; + public static Item cmb_boots; + public static Item paa_plate; + public static Item paa_legs; + public static Item paa_boots; public static Item schrabidium_sword; public static Item schrabidium_pickaxe; @@ -550,6 +563,11 @@ public class ModItems { public static Item alloy_axe; public static Item alloy_shovel; public static Item alloy_hoe; + public static Item cmb_sword; + public static Item cmb_pickaxe; + public static Item cmb_axe; + public static Item cmb_shovel; + public static Item cmb_hoe; public static Item matchstick; @@ -564,6 +582,11 @@ public class ModItems { public static Item hazmat_legs; public static Item hazmat_boots; + public static Item hazmat_paa_helmet; + public static Item hazmat_paa_plate; + public static Item hazmat_paa_legs; + public static Item hazmat_paa_boots; + public static Item wand; public static Item wand_s; public static Item wand_d; @@ -609,10 +632,17 @@ public class ModItems { public static Item detonator; public static Item crate_caller; public static Item remote; + public static Item chopper; public static Item bucket_mud; public static Item bucket_acid; public static Item bucket_toxic; + + public static Item record_lc; + public static Item record_ss; + public static Item record_vc; + + public static Item letter; public static Item smoke1; public static Item smoke2; @@ -715,6 +745,7 @@ public class ModItems { nugget_schrabidium = new ItemCustomLore().setUnlocalizedName("nugget_schrabidium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_schrabidium"); nugget_beryllium = new Item().setUnlocalizedName("nugget_beryllium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_beryllium"); hazmat_cloth = new Item().setUnlocalizedName("hazmat_cloth").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":hazmat_cloth"); + filter_coal = new Item().setUnlocalizedName("filter_coal").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":filter_coal"); ingot_hes = new ItemRadioactive().setUnlocalizedName("ingot_hes").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_hes"); ingot_les = new ItemRadioactive().setUnlocalizedName("ingot_les").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_les"); nugget_hes = new ItemRadioactive().setUnlocalizedName("nugget_hes").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_hes"); @@ -723,7 +754,7 @@ public class ModItems { powder_lead = new Item().setUnlocalizedName("powder_lead").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":powder_lead"); powder_neptunium = new ItemCustomLore().setUnlocalizedName("powder_neptunium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":powder_neptunium"); - powder_schrabidium = new ItemRadioactive().setUnlocalizedName("powder_schrabidium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":powder_schrabidium"); + powder_schrabidium = new ItemCustomLore().setUnlocalizedName("powder_schrabidium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":powder_schrabidium"); powder_aluminium = new Item().setUnlocalizedName("powder_aluminium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":powder_aluminium"); powder_beryllium = new Item().setUnlocalizedName("powder_beryllium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":powder_beryllium"); powder_copper = new Item().setUnlocalizedName("powder_copper").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":powder_copper"); @@ -732,6 +763,7 @@ public class ModItems { powder_titanium = new Item().setUnlocalizedName("powder_titanium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":powder_titanium"); powder_tungsten = new Item().setUnlocalizedName("powder_tungsten").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":powder_tungsten"); powder_uranium = new ItemRadioactive().setUnlocalizedName("powder_uranium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":powder_uranium"); + powder_plutonium = new ItemRadioactive().setUnlocalizedName("powder_plutonium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":powder_plutonium"); dust = new ItemCustomLore().setUnlocalizedName("dust").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":dust"); powder_advanced_alloy = new Item().setUnlocalizedName("powder_advanced_alloy").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":powder_advanced_alloy"); powder_coal = new Item().setUnlocalizedName("powder_coal").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":powder_coal"); @@ -862,6 +894,7 @@ public class ModItems { canister_empty = new ItemCustomLore().setUnlocalizedName("canister_empty").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":canister_empty"); canister_fuel = new ItemCustomLore().setUnlocalizedName("canister_fuel").setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.canister_empty).setTextureName(RefStrings.MODID + ":canister_fuel"); canister_napalm = new ItemCustomLore().setUnlocalizedName("canister_napalm").setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.canister_empty).setTextureName(RefStrings.MODID + ":canister_napalm"); + canister_NITAN = new ItemCustomLore().setUnlocalizedName("canister_NITAN").setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.canister_empty).setTextureName(RefStrings.MODID + ":canister_superfuel"); tank_waste = new ItemTankWaste().setUnlocalizedName("tank_waste").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts); @@ -946,24 +979,24 @@ public class ModItems { rod_dual_tritium = new ItemCustomLore().setUnlocalizedName("rod_dual_tritium").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.rod_dual_empty).setTextureName(RefStrings.MODID + ":rod_dual_tritium"); rod_quad_tritium = new ItemCustomLore().setUnlocalizedName("rod_quad_tritium").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.rod_quad_empty).setTextureName(RefStrings.MODID + ":rod_quad_tritium"); - trinitite = new Item().setUnlocalizedName("trinitite").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":trinitite_new"); - nuclear_waste = new Item().setUnlocalizedName("nuclear_waste").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nuclear_waste"); + trinitite = new ItemCustomLore().setUnlocalizedName("trinitite").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":trinitite_new"); + nuclear_waste = new ItemCustomLore().setUnlocalizedName("nuclear_waste").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nuclear_waste"); scrap = new Item().setUnlocalizedName("scrap").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":scrap"); - rod_uranium_fuel_depleted = new Item().setUnlocalizedName("rod_uranium_fuel_depleted").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.rod_empty).setTextureName(RefStrings.MODID + ":rod_uranium_fuel_depleted"); - rod_dual_uranium_fuel_depleted = new Item().setUnlocalizedName("rod_dual_uranium_fuel_depleted").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.rod_dual_empty).setTextureName(RefStrings.MODID + ":rod_dual_uranium_fuel_depleted"); - rod_quad_uranium_fuel_depleted = new Item().setUnlocalizedName("rod_quad_uranium_fuel_depleted").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.rod_quad_empty).setTextureName(RefStrings.MODID + ":rod_quad_uranium_fuel_depleted"); - rod_plutonium_fuel_depleted = new Item().setUnlocalizedName("rod_plutonium_fuel_depleted").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.rod_empty).setTextureName(RefStrings.MODID + ":rod_plutonium_fuel_depleted"); - rod_dual_plutonium_fuel_depleted = new Item().setUnlocalizedName("rod_dual_plutonium_fuel_depleted").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.rod_dual_empty).setTextureName(RefStrings.MODID + ":rod_dual_plutonium_fuel_depleted"); - rod_quad_plutonium_fuel_depleted = new Item().setUnlocalizedName("rod_quad_plutonium_fuel_depleted").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.rod_quad_empty).setTextureName(RefStrings.MODID + ":rod_quad_plutonium_fuel_depleted"); - rod_mox_fuel_depleted = new Item().setUnlocalizedName("rod_mox_fuel_depleted").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.rod_empty).setTextureName(RefStrings.MODID + ":rod_mox_fuel_depleted"); - rod_dual_mox_fuel_depleted = new Item().setUnlocalizedName("rod_dual_mox_fuel_depleted").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.rod_dual_empty).setTextureName(RefStrings.MODID + ":rod_dual_mox_fuel_depleted"); - rod_quad_mox_fuel_depleted = new Item().setUnlocalizedName("rod_quad_mox_fuel_depleted").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.rod_quad_empty).setTextureName(RefStrings.MODID + ":rod_quad_mox_fuel_depleted"); - rod_schrabidium_fuel_depleted = new Item().setUnlocalizedName("rod_schrabidium_fuel_depleted").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.rod_empty).setTextureName(RefStrings.MODID + ":rod_schrabidium_fuel_depleted"); - rod_dual_schrabidium_fuel_depleted = new Item().setUnlocalizedName("rod_dual_schrabidium_fuel_depleted").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.rod_dual_empty).setTextureName(RefStrings.MODID + ":rod_dual_schrabidium_fuel_depleted"); - rod_quad_schrabidium_fuel_depleted = new Item().setUnlocalizedName("rod_quad_schrabidium_fuel_depleted").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.rod_quad_empty).setTextureName(RefStrings.MODID + ":rod_quad_schrabidium_fuel_depleted"); - rod_waste = new Item().setUnlocalizedName("rod_waste").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.rod_empty).setTextureName(RefStrings.MODID + ":rod_waste"); - rod_dual_waste = new Item().setUnlocalizedName("rod_dual_waste").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.rod_dual_empty).setTextureName(RefStrings.MODID + ":rod_dual_waste"); - rod_quad_waste = new Item().setUnlocalizedName("rod_quad_waste").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.rod_quad_empty).setTextureName(RefStrings.MODID + ":rod_quad_waste"); + rod_uranium_fuel_depleted = new ItemCustomLore().setUnlocalizedName("rod_uranium_fuel_depleted").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.rod_empty).setTextureName(RefStrings.MODID + ":rod_uranium_fuel_depleted"); + rod_dual_uranium_fuel_depleted = new ItemCustomLore().setUnlocalizedName("rod_dual_uranium_fuel_depleted").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.rod_dual_empty).setTextureName(RefStrings.MODID + ":rod_dual_uranium_fuel_depleted"); + rod_quad_uranium_fuel_depleted = new ItemCustomLore().setUnlocalizedName("rod_quad_uranium_fuel_depleted").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.rod_quad_empty).setTextureName(RefStrings.MODID + ":rod_quad_uranium_fuel_depleted"); + rod_plutonium_fuel_depleted = new ItemCustomLore().setUnlocalizedName("rod_plutonium_fuel_depleted").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.rod_empty).setTextureName(RefStrings.MODID + ":rod_plutonium_fuel_depleted"); + rod_dual_plutonium_fuel_depleted = new ItemCustomLore().setUnlocalizedName("rod_dual_plutonium_fuel_depleted").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.rod_dual_empty).setTextureName(RefStrings.MODID + ":rod_dual_plutonium_fuel_depleted"); + rod_quad_plutonium_fuel_depleted = new ItemCustomLore().setUnlocalizedName("rod_quad_plutonium_fuel_depleted").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.rod_quad_empty).setTextureName(RefStrings.MODID + ":rod_quad_plutonium_fuel_depleted"); + rod_mox_fuel_depleted = new ItemCustomLore().setUnlocalizedName("rod_mox_fuel_depleted").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.rod_empty).setTextureName(RefStrings.MODID + ":rod_mox_fuel_depleted"); + rod_dual_mox_fuel_depleted = new ItemCustomLore().setUnlocalizedName("rod_dual_mox_fuel_depleted").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.rod_dual_empty).setTextureName(RefStrings.MODID + ":rod_dual_mox_fuel_depleted"); + rod_quad_mox_fuel_depleted = new ItemCustomLore().setUnlocalizedName("rod_quad_mox_fuel_depleted").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.rod_quad_empty).setTextureName(RefStrings.MODID + ":rod_quad_mox_fuel_depleted"); + rod_schrabidium_fuel_depleted = new ItemCustomLore().setUnlocalizedName("rod_schrabidium_fuel_depleted").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.rod_empty).setTextureName(RefStrings.MODID + ":rod_schrabidium_fuel_depleted"); + rod_dual_schrabidium_fuel_depleted = new ItemCustomLore().setUnlocalizedName("rod_dual_schrabidium_fuel_depleted").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.rod_dual_empty).setTextureName(RefStrings.MODID + ":rod_dual_schrabidium_fuel_depleted"); + rod_quad_schrabidium_fuel_depleted = new ItemCustomLore().setUnlocalizedName("rod_quad_schrabidium_fuel_depleted").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.rod_quad_empty).setTextureName(RefStrings.MODID + ":rod_quad_schrabidium_fuel_depleted"); + rod_waste = new ItemCustomLore().setUnlocalizedName("rod_waste").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.rod_empty).setTextureName(RefStrings.MODID + ":rod_waste"); + rod_dual_waste = new ItemCustomLore().setUnlocalizedName("rod_dual_waste").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.rod_dual_empty).setTextureName(RefStrings.MODID + ":rod_dual_waste"); + rod_quad_waste = new ItemCustomLore().setUnlocalizedName("rod_quad_waste").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.rod_quad_empty).setTextureName(RefStrings.MODID + ":rod_quad_waste"); pellet_cluster = new ItemCustomLore().setUnlocalizedName("pellet_cluster").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":pellet_cluster"); powder_fire = new ItemCustomLore().setUnlocalizedName("powder_fire").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":powder_fire"); @@ -1022,25 +1055,28 @@ public class ModItems { gun_mp_ammo = new ItemCustomLore().setUnlocalizedName("gun_mp_ammo").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":gun_pm_ammo"); gun_mp = new GunMP().setUnlocalizedName("gun_mp").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":gun_pm"); gun_zomg = new GunZOMG().setUnlocalizedName("gun_zomg").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":gun_zomg"); + gun_revolver_inverted = new GunSuicide().setUnlocalizedName("gun_revolver_inverted").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":gun_revolver_inverted"); gun_super_shotgun = new ItemCustomLore().setUnlocalizedName("gun_super_shotgun").setMaxStackSize(1).setFull3D().setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":gun_super_shotgun"); gun_moist_nugget = new ItemNugget(3, false).setUnlocalizedName("gun_moist_nugget").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":gun_moist_nugget"); grenade_generic = new ItemGrenade().setUnlocalizedName("grenade_generic").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":grenade_generic"); grenade_strong = new ItemGrenade().setUnlocalizedName("grenade_strong").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":grenade_strong"); - grenade_frag = new ItemGrenade().setUnlocalizedName("grenade_frag").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":grenade_frag"); - grenade_fire = new ItemGrenade().setUnlocalizedName("grenade_fire").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":grenade_fire"); - grenade_cluster = new ItemGrenade().setUnlocalizedName("grenade_cluster").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":grenade_cluster"); - grenade_flare = new ItemGrenade().setUnlocalizedName("grenade_flare").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":grenade_flare"); - grenade_electric = new ItemGrenade().setUnlocalizedName("grenade_electric").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":grenade_electric"); - grenade_poison = new ItemGrenade().setUnlocalizedName("grenade_poison").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":grenade_poison"); - grenade_gas = new ItemGrenade().setUnlocalizedName("grenade_gas").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":grenade_gas"); - grenade_plasma = new ItemGrenade().setUnlocalizedName("grenade_plasma").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":grenade_plasma"); - grenade_tau = new ItemGrenade().setUnlocalizedName("grenade_tau").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":grenade_tau"); - grenade_schrabidium = new ItemGrenade().setUnlocalizedName("grenade_schrabidium").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":grenade_schrabidium"); + grenade_frag = new ItemGrenade().setUnlocalizedName("grenade_frag").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":grenade_frag_alt"); + grenade_fire = new ItemGrenade().setUnlocalizedName("grenade_fire").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":grenade_fire_alt"); + grenade_cluster = new ItemGrenade().setUnlocalizedName("grenade_cluster").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":grenade_cluster_alt"); + grenade_flare = new ItemGrenade().setUnlocalizedName("grenade_flare").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":grenade_flare_alt"); + grenade_electric = new ItemGrenade().setUnlocalizedName("grenade_electric").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":grenade_electric_alt"); + grenade_poison = new ItemGrenade().setUnlocalizedName("grenade_poison").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":grenade_poison_alt"); + grenade_gas = new ItemGrenade().setUnlocalizedName("grenade_gas").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":grenade_gas_alt"); + grenade_plasma = new ItemGrenade().setUnlocalizedName("grenade_plasma").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":grenade_plasma_alt"); + grenade_tau = new ItemGrenade().setUnlocalizedName("grenade_tau").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":grenade_tau_alt"); + grenade_schrabidium = new ItemGrenade().setUnlocalizedName("grenade_schrabidium").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":grenade_schrabidium_alt"); grenade_lemon = new ItemGrenade().setUnlocalizedName("grenade_lemon").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":grenade_lemon"); grenade_mk2 = new ItemGrenade().setUnlocalizedName("grenade_mk2").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":grenade_mk2_alt"); - grenade_nuke = new ItemGrenade().setUnlocalizedName("grenade_nuke").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":grenade_nuke"); + grenade_aschrab = new ItemGrenade().setUnlocalizedName("grenade_aschrab").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":grenade_aschrab"); + grenade_nuke = new ItemGrenade().setUnlocalizedName("grenade_nuke").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":grenade_nuke_alt"); grenade_nuclear = new ItemGrenade().setUnlocalizedName("grenade_nuclear").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":grenade_nuclear"); + grenade_zomg = new ItemGrenade().setUnlocalizedName("grenade_zomg").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":grenade_zomg"); bomb_waffle = new ItemWaffle(20, false).setUnlocalizedName("bomb_waffle").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":bomb_waffle"); schnitzel_vegan = new ItemSchnitzelVegan(0, true).setUnlocalizedName("schnitzel_vegan").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":schnitzel_vegan"); @@ -1140,6 +1176,7 @@ public class ModItems { detonator = new ItemDetonator().setUnlocalizedName("detonator").setMaxStackSize(1).setFull3D().setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":detonator"); crate_caller = new ItemCrateCaller().setUnlocalizedName("crate_caller").setMaxStackSize(1).setFull3D().setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":crate_caller"); remote = new ItemRamManipulator().setUnlocalizedName("remote").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":remote"); + chopper = new ItemChopper().setUnlocalizedName("chopper").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":chopper"); euphemium_helmet = new ArmorEuphemium(MainRegistry.enumArmorMaterialEuphemium, 6, 0).setUnlocalizedName("euphemium_helmet").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":euphemium_helmet"); euphemium_plate = new ArmorEuphemium(MainRegistry.enumArmorMaterialEuphemium, 6, 1).setUnlocalizedName("euphemium_plate").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":euphemium_plate"); @@ -1160,18 +1197,25 @@ public class ModItems { schrabidium_plate = new ArmorSchrabidium(MainRegistry.enumArmorMaterialSchrabidium, 7, 1).setUnlocalizedName("schrabidium_plate").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":schrabidium_plate"); schrabidium_legs = new ArmorSchrabidium(MainRegistry.enumArmorMaterialSchrabidium, 7, 2).setUnlocalizedName("schrabidium_legs").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":schrabidium_legs"); schrabidium_boots = new ArmorSchrabidium(MainRegistry.enumArmorMaterialSchrabidium, 7, 3).setUnlocalizedName("schrabidium_boots").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":schrabidium_boots"); - titanium_helmet = new ModArmor(MainRegistry.enumArmorMaterialSchrabidium, 7, 0).setUnlocalizedName("titanium_helmet").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":titanium_helmet"); - titanium_plate = new ModArmor(MainRegistry.enumArmorMaterialSchrabidium, 7, 1).setUnlocalizedName("titanium_plate").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":titanium_plate"); - titanium_legs = new ModArmor(MainRegistry.enumArmorMaterialSchrabidium, 7, 2).setUnlocalizedName("titanium_legs").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":titanium_legs"); - titanium_boots = new ModArmor(MainRegistry.enumArmorMaterialSchrabidium, 7, 3).setUnlocalizedName("titanium_boots").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":titanium_boots"); - steel_helmet = new ModArmor(MainRegistry.enumArmorMaterialSchrabidium, 7, 0).setUnlocalizedName("steel_helmet").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":steel_helmet"); - steel_plate = new ModArmor(MainRegistry.enumArmorMaterialSchrabidium, 7, 1).setUnlocalizedName("steel_plate").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":steel_plate"); - steel_legs = new ModArmor(MainRegistry.enumArmorMaterialSchrabidium, 7, 2).setUnlocalizedName("steel_legs").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":steel_legs"); - steel_boots = new ModArmor(MainRegistry.enumArmorMaterialSchrabidium, 7, 3).setUnlocalizedName("steel_boots").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":steel_boots"); - alloy_helmet = new ModArmor(MainRegistry.enumArmorMaterialSchrabidium, 7, 0).setUnlocalizedName("alloy_helmet").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":alloy_helmet"); - alloy_plate = new ModArmor(MainRegistry.enumArmorMaterialSchrabidium, 7, 1).setUnlocalizedName("alloy_plate").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":alloy_plate"); - alloy_legs = new ModArmor(MainRegistry.enumArmorMaterialSchrabidium, 7, 2).setUnlocalizedName("alloy_legs").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":alloy_legs"); - alloy_boots = new ModArmor(MainRegistry.enumArmorMaterialSchrabidium, 7, 3).setUnlocalizedName("alloy_boots").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":alloy_boots"); + titanium_helmet = new ModArmor(MainRegistry.enumArmorMaterialTitanium, 7, 0).setUnlocalizedName("titanium_helmet").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":titanium_helmet"); + titanium_plate = new ModArmor(MainRegistry.enumArmorMaterialTitanium, 7, 1).setUnlocalizedName("titanium_plate").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":titanium_plate"); + titanium_legs = new ModArmor(MainRegistry.enumArmorMaterialTitanium, 7, 2).setUnlocalizedName("titanium_legs").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":titanium_legs"); + titanium_boots = new ModArmor(MainRegistry.enumArmorMaterialTitanium, 7, 3).setUnlocalizedName("titanium_boots").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":titanium_boots"); + steel_helmet = new ModArmor(MainRegistry.enumArmorMaterialSteel, 7, 0).setUnlocalizedName("steel_helmet").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":steel_helmet"); + steel_plate = new ModArmor(MainRegistry.enumArmorMaterialSteel, 7, 1).setUnlocalizedName("steel_plate").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":steel_plate"); + steel_legs = new ModArmor(MainRegistry.enumArmorMaterialSteel, 7, 2).setUnlocalizedName("steel_legs").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":steel_legs"); + steel_boots = new ModArmor(MainRegistry.enumArmorMaterialSteel, 7, 3).setUnlocalizedName("steel_boots").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":steel_boots"); + alloy_helmet = new ModArmor(MainRegistry.enumArmorMaterialAlloy, 7, 0).setUnlocalizedName("alloy_helmet").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":alloy_helmet"); + alloy_plate = new ModArmor(MainRegistry.enumArmorMaterialAlloy, 7, 1).setUnlocalizedName("alloy_plate").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":alloy_plate"); + alloy_legs = new ModArmor(MainRegistry.enumArmorMaterialAlloy, 7, 2).setUnlocalizedName("alloy_legs").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":alloy_legs"); + alloy_boots = new ModArmor(MainRegistry.enumArmorMaterialAlloy, 7, 3).setUnlocalizedName("alloy_boots").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":alloy_boots"); + cmb_helmet = new ModArmor(MainRegistry.enumArmorMaterialCmb, 7, 0).setUnlocalizedName("cmb_helmet").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":cmb_helmet"); + cmb_plate = new ModArmor(MainRegistry.enumArmorMaterialCmb, 7, 1).setUnlocalizedName("cmb_plate").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":cmb_plate"); + cmb_legs = new ModArmor(MainRegistry.enumArmorMaterialCmb, 7, 2).setUnlocalizedName("cmb_legs").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":cmb_legs"); + cmb_boots = new ModArmor(MainRegistry.enumArmorMaterialCmb, 7, 3).setUnlocalizedName("cmb_boots").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":cmb_boots"); + paa_plate = new ModArmor(MainRegistry.enumArmorMaterialPaa, 7, 1).setUnlocalizedName("paa_plate").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":paa_plate"); + paa_legs = new ModArmor(MainRegistry.enumArmorMaterialPaa, 7, 2).setUnlocalizedName("paa_legs").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":paa_legs"); + paa_boots = new ModArmor(MainRegistry.enumArmorMaterialPaa, 7, 3).setUnlocalizedName("paa_boots").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":paa_boots"); schrabidium_sword = new SwordSchrabidium(MainRegistry.enumToolMaterialSchrabidium).setUnlocalizedName("schrabidium_sword").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":schrabidium_sword"); schrabidium_pickaxe = new PickaxeSchrabidium(MainRegistry.enumToolMaterialSchrabidium).setUnlocalizedName("schrabidium_pickaxe").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":schrabidium_pickaxe"); @@ -1193,6 +1237,11 @@ public class ModItems { alloy_axe = new ModAxe(MainRegistry.enumToolMaterialAlloy).setUnlocalizedName("alloy_axe").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":alloy_axe"); alloy_shovel = new ModSpade(MainRegistry.enumToolMaterialAlloy).setUnlocalizedName("alloy_shovel").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":alloy_shovel"); alloy_hoe = new ModHoe(MainRegistry.enumToolMaterialAlloy).setUnlocalizedName("alloy_hoe").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":alloy_hoe"); + cmb_sword = new ModSword(MainRegistry.enumToolMaterialCmb).setUnlocalizedName("cmb_sword").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":cmb_sword"); + cmb_pickaxe = new ModPickaxe(MainRegistry.enumToolMaterialCmb).setUnlocalizedName("cmb_pickaxe").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":cmb_pickaxe"); + cmb_axe = new ModAxe(MainRegistry.enumToolMaterialCmb).setUnlocalizedName("cmb_axe").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":cmb_axe"); + cmb_shovel = new ModSpade(MainRegistry.enumToolMaterialCmb).setUnlocalizedName("cmb_shovel").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":cmb_shovel"); + cmb_hoe = new ModHoe(MainRegistry.enumToolMaterialCmb).setUnlocalizedName("cmb_hoe").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":cmb_hoe"); mask_of_infamy = new MaskOfInfamy(ArmorMaterial.IRON, 8, 0).setUnlocalizedName("mask_of_infamy").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":mask_of_infamy"); @@ -1200,6 +1249,10 @@ public class ModItems { hazmat_plate = new ArmorHazmat(MainRegistry.enumArmorMaterialHazmat, 9, 1).setUnlocalizedName("hazmat_plate").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":hazmat_plate"); hazmat_legs = new ArmorHazmat(MainRegistry.enumArmorMaterialHazmat, 9, 2).setUnlocalizedName("hazmat_legs").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":hazmat_legs"); hazmat_boots = new ArmorHazmat(MainRegistry.enumArmorMaterialHazmat, 9, 3).setUnlocalizedName("hazmat_boots").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":hazmat_boots"); + hazmat_paa_helmet = new ArmorHazmat(MainRegistry.enumArmorMaterialPaa, 9, 0).setUnlocalizedName("hazmat_paa_helmet").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":hazmat_paa_helmet"); + hazmat_paa_plate = new ArmorHazmat(MainRegistry.enumArmorMaterialPaa, 9, 1).setUnlocalizedName("hazmat_paa_plate").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":hazmat_paa_plate"); + hazmat_paa_legs = new ArmorHazmat(MainRegistry.enumArmorMaterialPaa, 9, 2).setUnlocalizedName("hazmat_paa_legs").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":hazmat_paa_legs"); + hazmat_paa_boots = new ArmorHazmat(MainRegistry.enumArmorMaterialPaa, 9, 3).setUnlocalizedName("hazmat_paa_boots").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":hazmat_paa_boots"); cape_test = new ArmorModel(MainRegistry.enumArmorMaterialEmerald, 9, 1).setUnlocalizedName("cape_test").setCreativeTab(MainRegistry.tabTest).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":cape_test"); cape_radiation = new ArmorModel(ArmorMaterial.CHAIN, 9, 1).setUnlocalizedName("cape_radiation").setCreativeTab(MainRegistry.tabNuke).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":cape_radiation"); @@ -1218,6 +1271,12 @@ public class ModItems { bucket_acid = new ItemModBucket(ModBlocks.acid_block).setUnlocalizedName("bucket_acid").setContainerItem(Items.bucket).setCreativeTab(MainRegistry.tabBlock).setTextureName(RefStrings.MODID + ":bucket_acid"); bucket_toxic = new ItemModBucket(ModBlocks.toxic_block).setUnlocalizedName("bucket_toxic").setContainerItem(Items.bucket).setCreativeTab(MainRegistry.tabBlock).setTextureName(RefStrings.MODID + ":bucket_toxic"); + record_lc = new ItemModRecord("lc").setUnlocalizedName("record_lc").setCreativeTab(CreativeTabs.tabMisc).setTextureName(RefStrings.MODID + ":record_lc"); + record_ss = new ItemModRecord("ss").setUnlocalizedName("record_ss").setCreativeTab(CreativeTabs.tabMisc).setTextureName(RefStrings.MODID + ":record_ss"); + record_vc = new ItemModRecord("vc").setUnlocalizedName("record_vc").setCreativeTab(CreativeTabs.tabMisc).setTextureName(RefStrings.MODID + ":record_vc"); + + letter = new ItemStarterKit().setUnlocalizedName("letter").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":letter"); + smoke1 = new Item().setUnlocalizedName("smoke1").setTextureName(RefStrings.MODID + ":smoke1"); smoke2 = new Item().setUnlocalizedName("smoke2").setTextureName(RefStrings.MODID + ":smoke2"); smoke3 = new Item().setUnlocalizedName("smoke3").setTextureName(RefStrings.MODID + ":smoke3"); @@ -1308,6 +1367,7 @@ public class ModItems { GameRegistry.registerItem(powder_diamond, powder_diamond.getUnlocalizedName()); GameRegistry.registerItem(powder_emerald, powder_emerald.getUnlocalizedName()); GameRegistry.registerItem(powder_uranium, powder_uranium.getUnlocalizedName()); + GameRegistry.registerItem(powder_plutonium, powder_plutonium.getUnlocalizedName()); GameRegistry.registerItem(powder_neptunium, powder_neptunium.getUnlocalizedName()); GameRegistry.registerItem(powder_titanium, powder_titanium.getUnlocalizedName()); GameRegistry.registerItem(powder_copper, powder_copper.getUnlocalizedName()); @@ -1367,6 +1427,7 @@ public class ModItems { GameRegistry.registerItem(plate_mixed, plate_mixed.getUnlocalizedName()); GameRegistry.registerItem(plate_paa, plate_paa.getUnlocalizedName()); GameRegistry.registerItem(hazmat_cloth, hazmat_cloth.getUnlocalizedName()); + GameRegistry.registerItem(filter_coal, filter_coal.getUnlocalizedName()); //Wires GameRegistry.registerItem(wire_aluminium, wire_aluminium.getUnlocalizedName()); @@ -1507,6 +1568,7 @@ public class ModItems { GameRegistry.registerItem(canister_empty, canister_empty.getUnlocalizedName()); GameRegistry.registerItem(canister_fuel, canister_fuel.getUnlocalizedName()); GameRegistry.registerItem(canister_napalm, canister_napalm.getUnlocalizedName()); + GameRegistry.registerItem(canister_NITAN, canister_NITAN.getUnlocalizedName()); //Batteries GameRegistry.registerItem(battery_generic, battery_generic.getUnlocalizedName()); @@ -1635,6 +1697,9 @@ public class ModItems { GameRegistry.registerItem(trinitite, trinitite.getUnlocalizedName()); GameRegistry.registerItem(nuclear_waste, nuclear_waste.getUnlocalizedName()); + //Da Chopper + GameRegistry.registerItem(chopper, chopper.getUnlocalizedName()); + //Missiles GameRegistry.registerItem(designator, designator.getUnlocalizedName()); GameRegistry.registerItem(missile_generic, missile_generic.getUnlocalizedName()); @@ -1668,6 +1733,7 @@ public class ModItems { GameRegistry.registerItem(gun_osipr, gun_osipr.getUnlocalizedName()); GameRegistry.registerItem(gun_mp, gun_mp.getUnlocalizedName()); GameRegistry.registerItem(gun_zomg, gun_zomg.getUnlocalizedName()); + GameRegistry.registerItem(gun_revolver_inverted, gun_revolver_inverted.getUnlocalizedName()); GameRegistry.registerItem(gun_super_shotgun, gun_super_shotgun.getUnlocalizedName()); GameRegistry.registerItem(gun_moist_nugget, gun_moist_nugget.getUnlocalizedName()); @@ -1685,7 +1751,7 @@ public class ModItems { GameRegistry.registerItem(gun_osipr_ammo2, gun_osipr_ammo2.getUnlocalizedName()); GameRegistry.registerItem(gun_mp_ammo, gun_mp_ammo.getUnlocalizedName()); - //Clips + //-C-l-i-p-s- Magazines GameRegistry.registerItem(clip_revolver_iron, clip_revolver_iron.getUnlocalizedName()); GameRegistry.registerItem(clip_revolver, clip_revolver.getUnlocalizedName()); GameRegistry.registerItem(clip_revolver_gold, clip_revolver_gold.getUnlocalizedName()); @@ -1711,10 +1777,12 @@ public class ModItems { 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_mk2, grenade_mk2.getUnlocalizedName()); - GameRegistry.registerItem(grenade_nuke, grenade_nuke.getUnlocalizedName()); + GameRegistry.registerItem(grenade_aschrab, grenade_aschrab.getUnlocalizedName()); GameRegistry.registerItem(grenade_nuclear, grenade_nuclear.getUnlocalizedName()); + GameRegistry.registerItem(grenade_zomg, grenade_zomg.getUnlocalizedName()); //Capes GameRegistry.registerItem(cape_radiation, cape_radiation.getUnlocalizedName()); @@ -1746,6 +1814,11 @@ public class ModItems { GameRegistry.registerItem(alloy_axe, alloy_axe.getUnlocalizedName()); GameRegistry.registerItem(alloy_shovel, alloy_shovel.getUnlocalizedName()); GameRegistry.registerItem(alloy_hoe, alloy_hoe.getUnlocalizedName()); + GameRegistry.registerItem(cmb_sword, cmb_sword.getUnlocalizedName()); + GameRegistry.registerItem(cmb_pickaxe, cmb_pickaxe.getUnlocalizedName()); + GameRegistry.registerItem(cmb_axe, cmb_axe.getUnlocalizedName()); + GameRegistry.registerItem(cmb_shovel, cmb_shovel.getUnlocalizedName()); + GameRegistry.registerItem(cmb_hoe, cmb_hoe.getUnlocalizedName()); GameRegistry.registerItem(matchstick, matchstick.getUnlocalizedName()); GameRegistry.registerItem(crowbar, crowbar.getUnlocalizedName()); @@ -1840,6 +1913,17 @@ public class ModItems { GameRegistry.registerItem(hazmat_plate, hazmat_plate.getUnlocalizedName()); GameRegistry.registerItem(hazmat_legs, hazmat_legs.getUnlocalizedName()); GameRegistry.registerItem(hazmat_boots, hazmat_boots.getUnlocalizedName()); + GameRegistry.registerItem(hazmat_paa_helmet, hazmat_paa_helmet.getUnlocalizedName()); + GameRegistry.registerItem(hazmat_paa_plate, hazmat_paa_plate.getUnlocalizedName()); + GameRegistry.registerItem(hazmat_paa_legs, hazmat_paa_legs.getUnlocalizedName()); + GameRegistry.registerItem(hazmat_paa_boots, hazmat_paa_boots.getUnlocalizedName()); + GameRegistry.registerItem(cmb_helmet, cmb_helmet.getUnlocalizedName()); + GameRegistry.registerItem(cmb_plate, cmb_plate.getUnlocalizedName()); + GameRegistry.registerItem(cmb_legs, cmb_legs.getUnlocalizedName()); + GameRegistry.registerItem(cmb_boots, cmb_boots.getUnlocalizedName()); + GameRegistry.registerItem(paa_plate, paa_plate.getUnlocalizedName()); + GameRegistry.registerItem(paa_legs, paa_legs.getUnlocalizedName()); + GameRegistry.registerItem(paa_boots, paa_boots.getUnlocalizedName()); GameRegistry.registerItem(schrabidium_helmet, schrabidium_helmet.getUnlocalizedName()); GameRegistry.registerItem(schrabidium_plate, schrabidium_plate.getUnlocalizedName()); GameRegistry.registerItem(schrabidium_legs, schrabidium_legs.getUnlocalizedName()); @@ -1879,12 +1963,18 @@ public class ModItems { GameRegistry.registerItem(grenade_kit, grenade_kit.getUnlocalizedName()); GameRegistry.registerItem(t45_kit, t45_kit.getUnlocalizedName()); GameRegistry.registerItem(euphemium_kit, euphemium_kit.getUnlocalizedName()); + GameRegistry.registerItem(letter, letter.getUnlocalizedName()); //THIS is a bucket. GameRegistry.registerItem(bucket_mud, bucket_mud.getUnlocalizedName()); GameRegistry.registerItem(bucket_acid, bucket_acid.getUnlocalizedName()); GameRegistry.registerItem(bucket_toxic, bucket_toxic.getUnlocalizedName()); + //Records + GameRegistry.registerItem(record_lc, record_lc.getUnlocalizedName()); + GameRegistry.registerItem(record_ss, record_ss.getUnlocalizedName()); + GameRegistry.registerItem(record_vc, record_vc.getUnlocalizedName()); + //Technical Items GameRegistry.registerItem(smoke1, smoke1.getUnlocalizedName()); GameRegistry.registerItem(smoke2, smoke2.getUnlocalizedName()); diff --git a/com/hbm/lib/HbmChestContents.java b/com/hbm/lib/HbmChestContents.java index 34a3497ce..2f93d62b0 100644 --- a/com/hbm/lib/HbmChestContents.java +++ b/com/hbm/lib/HbmChestContents.java @@ -19,6 +19,7 @@ public class HbmChestContents { new WeightedRandomChestContent(ModItems.ingot_beryllium, 0, 1, 5, 2), new WeightedRandomChestContent(ModItems.ingot_titanium, 0, 7, 10, 4), new WeightedRandomChestContent(ModItems.gun_revolver, 0, 1, 1, 1), + new WeightedRandomChestContent(ModItems.gun_revolver_ammo, 0, 2, 6, 2), new WeightedRandomChestContent(ModItems.battery_generic, 50, 1, 1, 4), new WeightedRandomChestContent(ModItems.battery_advanced, 200, 1, 1, 1), new WeightedRandomChestContent(Item.getItemFromBlock(ModBlocks.block_titanium), 0, 0, 3, 1)}; @@ -33,8 +34,10 @@ public class HbmChestContents { new WeightedRandomChestContent(ModItems.circuit_red_copper, 0, 1, 2, 1), new WeightedRandomChestContent(ModItems.battery_generic, 50, 1, 1, 5), new WeightedRandomChestContent(ModItems.battery_advanced, 200, 1, 1, 3), + new WeightedRandomChestContent(ModItems.powder_iodine, 0, 1, 1, 1), new WeightedRandomChestContent(Item.getItemFromBlock(ModBlocks.block_titanium), 0, 1, 2, 2), new WeightedRandomChestContent(Item.getItemFromBlock(ModBlocks.steel_poles), 0, 4, 9, 5), + new WeightedRandomChestContent(Item.getItemFromBlock(ModBlocks.steel_scaffold), 0, 4, 6, 3), new WeightedRandomChestContent(Item.getItemFromBlock(ModBlocks.pole_top), 0, 2, 4, 4), new WeightedRandomChestContent(Item.getItemFromBlock(ModBlocks.pole_satellite_receiver), 0, 3, 5, 3)}; @@ -47,6 +50,8 @@ public class HbmChestContents { new WeightedRandomChestContent(ModItems.nuke_electric_kit, 0, 1, 1, 1), new WeightedRandomChestContent(ModItems.gun_revolver_gold, 0, 1, 1, 4), new WeightedRandomChestContent(ModItems.gun_revolver_gold_ammo, 0, 1, 6, 5), + new WeightedRandomChestContent(ModItems.gun_revolver_lead, 0, 1, 1, 4), + new WeightedRandomChestContent(ModItems.gun_revolver_lead_ammo, 0, 1, 6, 5), new WeightedRandomChestContent(ModItems.gun_rpg, 0, 1, 1, 4), new WeightedRandomChestContent(ModItems.gun_rpg_ammo, 0, 1, 32, 5), new WeightedRandomChestContent(ModItems.gun_fatman, 0, 1, 1, 1), @@ -58,6 +63,7 @@ public class HbmChestContents { new WeightedRandomChestContent(ModItems.battery_advanced, 200, 1, 1, 3), new WeightedRandomChestContent(ModItems.battery_schrabidium, 1000, 1, 1, 1), new WeightedRandomChestContent(ModItems.syringe_awesome, 0, 1, 1, 1), + new WeightedRandomChestContent(ModItems.crate_caller, 0, 1, 1, 1), new WeightedRandomChestContent(ModItems.fusion_core, 0, 1, 1, 4), new WeightedRandomChestContent(Item.getItemFromBlock(ModBlocks.red_barrel), 0, 1, 3, 1)}; @@ -94,7 +100,7 @@ public class HbmChestContents { new WeightedRandomChestContent(ModItems.rod_quad_plutonium_fuel, 0, 1, 1, 1), new WeightedRandomChestContent(ModItems.rod_quad_mox_fuel, 0, 1, 1, 1), new WeightedRandomChestContent(ModItems.pellet_rtg, 0, 1, 1, 3), - new WeightedRandomChestContent(ModItems.nugget_schrabidium, 0, 1, 1, 1), + new WeightedRandomChestContent(ModItems.powder_thorium, 0, 1, 1, 1), new WeightedRandomChestContent(Item.getItemFromBlock(ModBlocks.yellow_barrel), 0, 1, 3, 3)}; private static WeightedRandomChestContent[] vertibird = new WeightedRandomChestContent[] @@ -113,7 +119,9 @@ public class HbmChestContents { new WeightedRandomChestContent(ModItems.rod_dual_uranium_fuel, 0, 1, 1, 2), new WeightedRandomChestContent(ModItems.rod_quad_uranium_fuel, 0, 1, 1, 2), new WeightedRandomChestContent(ModItems.gun_fatman_ammo, 0, 1, 2, 2), - new WeightedRandomChestContent(ModItems.gun_fatman, 0, 1, 1, 1)}; + new WeightedRandomChestContent(ModItems.gun_fatman, 0, 1, 1, 1), + new WeightedRandomChestContent(ModItems.crate_caller, 0, 1, 1, 1), + new WeightedRandomChestContent(ModItems.grenade_nuclear, 0, 1, 2, 2)}; private static WeightedRandomChestContent[] missile = new WeightedRandomChestContent[] {new WeightedRandomChestContent(ModItems.missile_generic, 0, 1, 1, 4), @@ -135,6 +143,7 @@ public class HbmChestContents { new WeightedRandomChestContent(Item.getItemFromBlock(ModBlocks.launch_pad), 0, 1, 1, 5), new WeightedRandomChestContent(ModItems.battery_advanced, 0, 1, 1, 5), new WeightedRandomChestContent(ModItems.designator, 0, 1, 1, 5), + new WeightedRandomChestContent(ModItems.crate_caller, 0, 1, 1, 1), new WeightedRandomChestContent(ModItems.thruster_small, 0, 1, 1, 5), new WeightedRandomChestContent(ModItems.thruster_medium, 0, 1, 1, 5), new WeightedRandomChestContent(ModItems.thruster_large, 0, 1, 1, 5), @@ -151,12 +160,20 @@ public class HbmChestContents { new WeightedRandomChestContent(ModItems.cell_tritium, 0, 1, 8, 5), new WeightedRandomChestContent(ModItems.cell_antimatter, 0, 1, 4, 5), new WeightedRandomChestContent(ModItems.cell_anti_schrabidium, 0, 1, 2, 5), + new WeightedRandomChestContent(ModItems.powder_neodymium, 0, 1, 1, 1), new WeightedRandomChestContent(Item.getItemFromBlock(ModBlocks.fusion_conductor), 0, 4, 8, 5), new WeightedRandomChestContent(Item.getItemFromBlock(ModBlocks.fusion_heater), 0, 1, 6, 5), new WeightedRandomChestContent(Item.getItemFromBlock(ModBlocks.reactor_element), 0, 1, 2, 5), new WeightedRandomChestContent(Item.getItemFromBlock(ModBlocks.block_tungsten), 0, 8, 32, 5), new WeightedRandomChestContent(Item.getItemFromBlock(ModBlocks.red_wire_coated), 0, 4, 16, 5), new WeightedRandomChestContent(Item.getItemFromBlock(ModBlocks.red_cable), 0, 8, 32, 5)}; + + private static WeightedRandomChestContent[] powder = new WeightedRandomChestContent[] + {new WeightedRandomChestContent(ModItems.powder_neptunium, 0, 1, 32, 1), + new WeightedRandomChestContent(ModItems.powder_iodine, 0, 1, 32, 1), + new WeightedRandomChestContent(ModItems.powder_thorium, 0, 1, 32, 1), + new WeightedRandomChestContent(ModItems.powder_astatine, 0, 1, 32, 1), + new WeightedRandomChestContent(ModItems.powder_neodymium, 0, 1, 32, 1)}; /** * @param i @@ -168,8 +185,9 @@ public class HbmChestContents { * case 4: nukeTrash loot (U238 and Pu240 nuggets and rods) * case 5: nuclear loot (U235 and Pu239 nuggets and rods, fuel rods) * case 6: vertibrid loot (T45 power armor, fusion cores, circuits, nuclear material) - * case 7: missile loot (Missiles, designators, missile parts) + * case 7: missile loot (missiles, designators, missile parts) * case 8: spaceship loot (reactor elements, super conductors) + * case 9: powder loot (secret chest with the five powders for NITAN) **/ public static WeightedRandomChestContent[] getLoot(int i) @@ -192,6 +210,8 @@ public class HbmChestContents { return missile; case 8: return spaceship; + case 9: + return powder; } return null; diff --git a/com/hbm/lib/HbmWorldGen.java b/com/hbm/lib/HbmWorldGen.java index 6a6a9b6f4..690679dca 100644 --- a/com/hbm/lib/HbmWorldGen.java +++ b/com/hbm/lib/HbmWorldGen.java @@ -18,6 +18,9 @@ import com.hbm.world.Silo; import com.hbm.world.Spaceship; import com.hbm.world.Vertibird; +import net.minecraft.init.Blocks; +import net.minecraft.tileentity.TileEntityChest; +import net.minecraft.util.WeightedRandomChestContent; import net.minecraft.world.World; import net.minecraft.world.biome.BiomeGenBase; import net.minecraft.world.chunk.IChunkProvider; @@ -27,281 +30,364 @@ import cpw.mods.fml.common.IWorldGenerator; public class HbmWorldGen implements IWorldGenerator { @Override - public void generate(Random rand, int chunkX, int chunkZ, World world, IChunkProvider chunkGenerator, IChunkProvider chunkProvider) { - switch (world.provider.dimensionId) - { - case -1: - generateNether(world, rand, chunkX * 16, chunkZ * 16); - case 0: - generateSurface(world, rand, chunkX * 16, chunkZ * 16); + public void generate(Random rand, int chunkX, int chunkZ, World world, IChunkProvider chunkGenerator, + IChunkProvider chunkProvider) { + switch (world.provider.dimensionId) { + case -1: + generateNether(world, rand, chunkX * 16, chunkZ * 16); + case 0: + generateSurface(world, rand, chunkX * 16, chunkZ * 16); } } private void generateSurface(World world, Random rand, int i, int j) { - //Ore stains per chunk - for (int k = 0; k < MainRegistry.uraniumSpawn; k++) - { + // Ore stains per chunk + for (int k = 0; k < MainRegistry.uraniumSpawn; k++) { int randPosX = i + rand.nextInt(16); - //Max height of generation + // Max height of generation int randPosY = rand.nextInt(25); int randPosZ = j + rand.nextInt(16); - - //Ore, amount of ore in one stain + + // Ore, amount of ore in one stain (new WorldGenMinable(ModBlocks.ore_uranium, 5)).generate(world, rand, randPosX, randPosY, randPosZ); } - - for (int k = 0; k < MainRegistry.titaniumSpawn; k++) - { + + for (int k = 0; k < MainRegistry.titaniumSpawn; k++) { int randPosX = i + rand.nextInt(16); int randPosY = rand.nextInt(35); int randPosZ = j + rand.nextInt(16); - + (new WorldGenMinable(ModBlocks.ore_titanium, 6)).generate(world, rand, randPosX, randPosY, randPosZ); } - - for (int k = 0; k < MainRegistry.sulfurSpawn; k++) - { + + for (int k = 0; k < MainRegistry.sulfurSpawn; k++) { int randPosX = i + rand.nextInt(16); int randPosY = rand.nextInt(35); int randPosZ = j + rand.nextInt(16); - + (new WorldGenMinable(ModBlocks.ore_sulfur, 8)).generate(world, rand, randPosX, randPosY, randPosZ); } - - for (int k = 0; k < MainRegistry.aluminiumSpawn; k++) - { + + for (int k = 0; k < MainRegistry.aluminiumSpawn; k++) { int randPosX = i + rand.nextInt(16); int randPosY = rand.nextInt(45); int randPosZ = j + rand.nextInt(16); - + (new WorldGenMinable(ModBlocks.ore_aluminium, 6)).generate(world, rand, randPosX, randPosY, randPosZ); } - - for (int k = 0; k < MainRegistry.copperSpawn; k++) - { + + for (int k = 0; k < MainRegistry.copperSpawn; k++) { int randPosX = i + rand.nextInt(16); int randPosY = rand.nextInt(50); int randPosZ = j + rand.nextInt(16); - + (new WorldGenMinable(ModBlocks.ore_copper, 6)).generate(world, rand, randPosX, randPosY, randPosZ); } - - for (int k = 0; k < MainRegistry.fluoriteSpawn; k++) - { + + for (int k = 0; k < MainRegistry.fluoriteSpawn; k++) { int randPosX = i + rand.nextInt(16); int randPosY = rand.nextInt(40); int randPosZ = j + rand.nextInt(16); - + (new WorldGenMinable(ModBlocks.ore_fluorite, 4)).generate(world, rand, randPosX, randPosY, randPosZ); } - - for (int k = 0; k < MainRegistry.niterSpawn; k++) - { + + for (int k = 0; k < MainRegistry.niterSpawn; k++) { int randPosX = i + rand.nextInt(16); int randPosY = rand.nextInt(35); int randPosZ = j + rand.nextInt(16); - + (new WorldGenMinable(ModBlocks.ore_niter, 4)).generate(world, rand, randPosX, randPosY, randPosZ); } - - for (int k = 0; k < MainRegistry.tungstenSpawn; k++) - { + + for (int k = 0; k < MainRegistry.tungstenSpawn; k++) { int randPosX = i + rand.nextInt(16); int randPosY = rand.nextInt(35); int randPosZ = j + rand.nextInt(16); - + (new WorldGenMinable(ModBlocks.ore_tungsten, 8)).generate(world, rand, randPosX, randPosY, randPosZ); } - - for (int k = 0; k < MainRegistry.leadSpawn; k++) - { + + for (int k = 0; k < MainRegistry.leadSpawn; k++) { int randPosX = i + rand.nextInt(16); int randPosY = rand.nextInt(35); int randPosZ = j + rand.nextInt(16); - + (new WorldGenMinable(ModBlocks.ore_lead, 9)).generate(world, rand, randPosX, randPosY, randPosZ); } - - for (int k = 0; k < MainRegistry.berylliumSpawn; k++) - { + + for (int k = 0; k < MainRegistry.berylliumSpawn; k++) { int randPosX = i + rand.nextInt(16); int randPosY = rand.nextInt(35); int randPosZ = j + rand.nextInt(16); - + (new WorldGenMinable(ModBlocks.ore_beryllium, 4)).generate(world, rand, randPosX, randPosY, randPosZ); } - - if(MainRegistry.enableBarrels) - { - for (int k = 0; k < 1; k++) - { + + if (MainRegistry.enableBarrels) { + for (int k = 0; k < 1; k++) { int randPosX = i + rand.nextInt(16); int randPosY = rand.nextInt(35); int randPosZ = j + rand.nextInt(16); - + (new WorldGenMinable(ModBlocks.yellow_barrel, 20)).generate(world, rand, randPosX, randPosY, randPosZ); } } - - if(MainRegistry.enableDungeons) { - - BiomeGenBase biome = world.getWorldChunkManager().getBiomeGenAt(i, j); - - if(biome == BiomeGenBase.plains || biome == BiomeGenBase.desert) - { - if(rand.nextInt(MainRegistry.radioStructure) == 0) - { - for(int a = 0; a < 1; a++) - { - int x = i + rand.nextInt(16); - int z = j + rand.nextInt(16); - int y = world.getHeightValue(x, z); - - new Radio01().generate(world, rand, x, y, z); - } - } - } - - if(biome == BiomeGenBase.plains || biome == BiomeGenBase.forest || biome == BiomeGenBase.desert || biome == BiomeGenBase.swampland || biome == BiomeGenBase.extremeHills) - { - if(rand.nextInt(MainRegistry.antennaStructure) == 0) - { - for(int a = 0; a < 1; a++) - { - int x = i + rand.nextInt(16); - int z = j + rand.nextInt(16); - int y = world.getHeightValue(x, z); - - new Antenna().generate(world, rand, x, y, z); - } - } - } - - if(biome == BiomeGenBase.desert || biome == BiomeGenBase.beach || biome == BiomeGenBase.mesa || biome == BiomeGenBase.mesaPlateau) - { - if(rand.nextInt(MainRegistry.atomStructure) == 0) - { - for(int a = 0; a < 1; a++) - { - int x = i + rand.nextInt(16); - int z = j + rand.nextInt(16); - int y = world.getHeightValue(x, z); - - new DesertAtom001().generate(world, rand, x, y, z); - } - } - } - - if(biome == BiomeGenBase.desert) - { - if(rand.nextInt(MainRegistry.vertibirdStructure) == 0) - { - for(int a = 0; a < 1; a++) - { - int x = i + rand.nextInt(16); - int z = j + rand.nextInt(16); - int y = world.getHeightValue(x, z); - - if(rand.nextInt(2) == 0) - { - new Vertibird().generate(world, rand, x, y, z); - } else { - new CrashedVertibird().generate(world, rand, x, y, z); + + if (MainRegistry.enableDungeons) { + + BiomeGenBase biome = world.getWorldChunkManager().getBiomeGenAt(i, j); + + if (biome == BiomeGenBase.plains || biome == BiomeGenBase.desert) { + if (rand.nextInt(MainRegistry.radioStructure) == 0) { + for (int a = 0; a < 1; a++) { + int x = i + rand.nextInt(16); + int z = j + rand.nextInt(16); + int y = world.getHeightValue(x, z); + + new Radio01().generate(world, rand, x, y, z); } - } } - } - - if(rand.nextInt(MainRegistry.dungeonStructure) == 0) - { - int x = i + rand.nextInt(16); - int y = rand.nextInt(256); - int z = j + rand.nextInt(16); - new LibraryDungeon().generate(world, rand, x, y, z); - } - - if(biome == BiomeGenBase.plains || biome == BiomeGenBase.desert) - { - if(rand.nextInt(MainRegistry.relayStructure) == 0) - { - for(int a = 0; a < 1; a++) - { + + if (biome == BiomeGenBase.plains || biome == BiomeGenBase.forest || biome == BiomeGenBase.desert + || biome == BiomeGenBase.swampland || biome == BiomeGenBase.extremeHills) { + if (rand.nextInt(MainRegistry.antennaStructure) == 0) { + for (int a = 0; a < 1; a++) { + int x = i + rand.nextInt(16); + int z = j + rand.nextInt(16); + int y = world.getHeightValue(x, z); + + new Antenna().generate(world, rand, x, y, z); + } + } + } + + if (biome == BiomeGenBase.desert || biome == BiomeGenBase.beach || biome == BiomeGenBase.mesa + || biome == BiomeGenBase.mesaPlateau) { + if (rand.nextInt(MainRegistry.atomStructure) == 0) { + for (int a = 0; a < 1; a++) { + int x = i + rand.nextInt(16); + int z = j + rand.nextInt(16); + int y = world.getHeightValue(x, z); + + new DesertAtom001().generate(world, rand, x, y, z); + } + } + } + + if (biome == BiomeGenBase.desert) { + if (rand.nextInt(MainRegistry.vertibirdStructure) == 0) { + for (int a = 0; a < 1; a++) { + int x = i + rand.nextInt(16); + int z = j + rand.nextInt(16); + int y = world.getHeightValue(x, z); + + if (rand.nextInt(2) == 0) { + new Vertibird().generate(world, rand, x, y, z); + } else { + new CrashedVertibird().generate(world, rand, x, y, z); + } + + } + } + } + + if (rand.nextInt(MainRegistry.dungeonStructure) == 0) { + int x = i + rand.nextInt(16); + int y = rand.nextInt(256); + int z = j + rand.nextInt(16); + new LibraryDungeon().generate(world, rand, x, y, z); + } + + if (biome == BiomeGenBase.plains || biome == BiomeGenBase.desert) { + if (rand.nextInt(MainRegistry.relayStructure) == 0) { + for (int a = 0; a < 1; a++) { + int x = i + rand.nextInt(16); + int z = j + rand.nextInt(16); + int y = world.getHeightValue(x, z); + + new Relay().generate(world, rand, x, y, z); + } + } + } + if (biome == BiomeGenBase.plains || biome == BiomeGenBase.desert) { + if (rand.nextInt(MainRegistry.satelliteStructure) == 0) { + for (int a = 0; a < 1; a++) { + int x = i + rand.nextInt(16); + int z = j + rand.nextInt(16); + int y = world.getHeightValue(x, z); + + new Satellite().generate(world, rand, x, y, z); + } + } + } + + if (rand.nextInt(MainRegistry.bunkerStructure) == 0) { int x = i + rand.nextInt(16); int z = j + rand.nextInt(16); int y = world.getHeightValue(x, z); - - new Relay().generate(world, rand, x, y, z); + + new Bunker().generate(world, rand, x, y, z); } - } - } - if(biome == BiomeGenBase.plains || biome == BiomeGenBase.desert) - { - if(rand.nextInt(MainRegistry.satelliteStructure) == 0) - { - for(int a = 0; a < 1; a++) - { + + if (rand.nextInt(MainRegistry.siloStructure) == 0) { int x = i + rand.nextInt(16); int z = j + rand.nextInt(16); int y = world.getHeightValue(x, z); - - new Satellite().generate(world, rand, x, y, z); + + new Silo().generate(world, rand, x, y, z); } + + if (rand.nextInt(MainRegistry.factoryStructure) == 0) { + int x = i + rand.nextInt(16); + int z = j + rand.nextInt(16); + int y = world.getHeightValue(x, z); + + new Factory().generate(world, rand, x, y, z); + } + + if (rand.nextInt(MainRegistry.dudStructure) == 0) { + int x = i + rand.nextInt(16); + int z = j + rand.nextInt(16); + int y = world.getHeightValue(x, z); + + new Dud().generate(world, rand, x, y, z); + } + + if (rand.nextInt(MainRegistry.spaceshipStructure) == 0) { + int x = i + rand.nextInt(16); + int z = j + rand.nextInt(16); + int y = world.getHeightValue(x, z); + + new Spaceship().generate(world, rand, x, y, z); } } - - if(rand.nextInt(MainRegistry.bunkerStructure) == 0) - { - int x = i + rand.nextInt(16); - int z = j + rand.nextInt(16); - int y = world.getHeightValue(x, z); - new Bunker().generate(world, rand, x, y, z); - } - - if(rand.nextInt(MainRegistry.siloStructure) == 0) - { - int x = i + rand.nextInt(16); - int z = j + rand.nextInt(16); - int y = world.getHeightValue(x, z); + if (MainRegistry.enableNITAN) { - new Silo().generate(world, rand, x, y, z); - } - - if(rand.nextInt(MainRegistry.factoryStructure) == 0) - { - int x = i + rand.nextInt(16); - int z = j + rand.nextInt(16); - int y = world.getHeightValue(x, z); - - new Factory().generate(world, rand, x, y, z); - } - - if(rand.nextInt(MainRegistry.dudStructure) == 0) - { - int x = i + rand.nextInt(16); - int z = j + rand.nextInt(16); - int y = world.getHeightValue(x, z); - - new Dud().generate(world, rand, x, y, z); - } - - if(rand.nextInt(MainRegistry.spaceshipStructure) == 0) - { - int x = i + rand.nextInt(16); - int z = j + rand.nextInt(16); - int y = world.getHeightValue(x, z); - - new Spaceship().generate(world, rand, x, y, z); - } - + if (i <= 10000 && i + 16 >= 10000 && j <= 10000 && j + 16 >= 10000) { + if (world.getBlock(10000, 250, 10000) == Blocks.air) { + world.setBlock(10000, 250, 10000, Blocks.chest); + if (world.getBlock(10000, 250, 10000) == Blocks.chest) { + WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.getLoot(9), + (TileEntityChest) world.getTileEntity(10000, 250, 10000), 29); + } + } + } + if (i <= 0 && i + 16 >= 0 && j <= 10000 && j + 16 >= 10000) { + if (world.getBlock(0, 250, 10000) == Blocks.air) { + world.setBlock(0, 250, 10000, Blocks.chest); + if (world.getBlock(0, 250, 10000) == Blocks.chest) { + WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.getLoot(9), + (TileEntityChest) world.getTileEntity(0, 250, 10000), 29); + } + } + } + if (i <= -10000 && i + 16 >= -10000 && j <= 10000 && j + 16 >= 10000) { + if (world.getBlock(-10000, 250, 10000) == Blocks.air) { + world.setBlock(-10000, 250, 10000, Blocks.chest); + if (world.getBlock(-10000, 250, 10000) == Blocks.chest) { + WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.getLoot(9), + (TileEntityChest) world.getTileEntity(-10000, 250, 10000), 29); + } + } + } + if (i <= 10000 && i + 16 >= 10000 && j <= 0 && j + 16 >= 0) { + if (world.getBlock(10000, 250, 0) == Blocks.air) { + world.setBlock(10000, 250, 0, Blocks.chest); + if (world.getBlock(10000, 250, 0) == Blocks.chest) { + WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.getLoot(9), + (TileEntityChest) world.getTileEntity(10000, 250, 0), 29); + } + } + } + if (i <= -10000 && i + 16 >= -10000 && j <= 0 && j + 16 >= 0) { + if (world.getBlock(-10000, 250, 0) == Blocks.air) { + world.setBlock(-10000, 250, 0, Blocks.chest); + if (world.getBlock(-10000, 250, 0) == Blocks.chest) { + WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.getLoot(9), + (TileEntityChest) world.getTileEntity(-10000, 250, 0), 29); + } + } + } + if (i <= 10000 && i + 16 >= 10000 && j <= -10000 && j + 16 >= -10000) { + if (world.getBlock(10000, 250, -10000) == Blocks.air) { + world.setBlock(10000, 250, -10000, Blocks.chest); + if (world.getBlock(10000, 250, -10000) == Blocks.chest) { + WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.getLoot(9), + (TileEntityChest) world.getTileEntity(10000, 250, -10000), 29); + } + } + } + if (i <= 0 && i + 16 >= 0 && j <= -10000 && j + 16 >= -10000) { + if (world.getBlock(0, 250, -10000) == Blocks.air) { + world.setBlock(0, 250, -10000, Blocks.chest); + if (world.getBlock(0, 250, -10000) == Blocks.chest) { + WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.getLoot(9), + (TileEntityChest) world.getTileEntity(0, 250, -10000), 29); + } + } + } + if (i <= -10000 && i + 16 >= -10000 && j <= -10000 && j + 16 >= -10000) { + if (world.getBlock(-10000, 250, -10000) == Blocks.air) { + world.setBlock(-10000, 250, -10000, Blocks.chest); + if (world.getBlock(-10000, 250, -10000) == Blocks.chest) { + WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.getLoot(9), + (TileEntityChest) world.getTileEntity(-10000, 250, -10000), 29); + } + } + } } } private void generateNether(World world, Random rand, int i, int j) { - + + for (int k = 0; k < 8; k++) + { + int randPosX = i + rand.nextInt(16); + int randPosY = rand.nextInt(127); + int randPosZ = j + rand.nextInt(16); + + (new WorldGenMinable(ModBlocks.ore_nether_uranium, 6, Blocks.netherrack)).generate(world, rand, randPosX, randPosY, randPosZ); + } + if(MainRegistry.enablePlutoniumOre) + { + for (int k = 0; k < 6; k++) + { + int randPosX = i + rand.nextInt(16); + int randPosY = rand.nextInt(127); + int randPosZ = j + rand.nextInt(16); + + (new WorldGenMinable(ModBlocks.ore_nether_plutonium, 4, Blocks.netherrack)).generate(world, rand, randPosX, randPosY, randPosZ); + } + } + for (int k = 0; k < 10; k++) + { + int randPosX = i + rand.nextInt(16); + int randPosY = rand.nextInt(127); + int randPosZ = j + rand.nextInt(16); + + (new WorldGenMinable(ModBlocks.ore_nether_tungsten, 10, Blocks.netherrack)).generate(world, rand, randPosX, randPosY, randPosZ); + } + for (int k = 0; k < 26; k++) + { + int randPosX = i + rand.nextInt(16); + int randPosY = rand.nextInt(127); + int randPosZ = j + rand.nextInt(16); + + (new WorldGenMinable(ModBlocks.ore_nether_sulfur, 12, Blocks.netherrack)).generate(world, rand, randPosX, randPosY, randPosZ); + } + for (int k = 0; k < 24; k++) + { + int randPosX = i + rand.nextInt(16); + int randPosY = rand.nextInt(127); + int randPosZ = j + rand.nextInt(16); + + (new WorldGenMinable(ModBlocks.ore_nether_fire, 3, Blocks.netherrack)).generate(world, rand, randPosX, randPosY, randPosZ); + } } } diff --git a/com/hbm/lib/Library.java b/com/hbm/lib/Library.java index 4fb6e82b1..f4c288e59 100644 --- a/com/hbm/lib/Library.java +++ b/com/hbm/lib/Library.java @@ -6,11 +6,13 @@ import java.util.UUID; import com.hbm.blocks.ModBlocks; import com.hbm.calc.UnionOfTileEntitiesAndBooleans; +import com.hbm.entity.EntityChopperMine; import com.hbm.entity.EntityHunterChopper; import com.hbm.interfaces.IConductor; import com.hbm.interfaces.IConsumer; import com.hbm.interfaces.ISource; import com.hbm.items.ModItems; +import com.hbm.main.MainRegistry; import com.hbm.tileentity.TileEntityLaunchPad; import com.hbm.tileentity.TileEntityMachineBattery; import com.hbm.tileentity.TileEntityMachineDeuterium; @@ -18,6 +20,8 @@ import com.hbm.tileentity.TileEntityMachineElectricFurnace; import com.hbm.tileentity.TileEntityWireCoated; import net.minecraft.block.Block; +import net.minecraft.client.multiplayer.WorldClient; +import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; @@ -25,90 +29,119 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; public class Library { - - public static String book11 = "Resources\nHbm's Nuclear Tech Mod features eleven different ores and 13 materials which are used to craft machines and bombs. Most of them can be obtained from ores or various machines. This book will provide information about all of them."; - public static String book12 = "Uranium\nUranium is a rather rare ore found deep underground. Smelting the ore will give you a raw uranium ingot which can later be processed into fissile material that can be used for energy production or nuclear weapons."; - public static String book13 = "Titanium\nTitanium is a material mainly used for crafting machines and bomb hulls. You can get it from smelting titanium ore."; - public static String book14 = "Steel\nSteel is a commonly used material for building bombs, machines and decorative elements. It can be obtained by combining a lump of coal and an iron ingot in the alloy furnace."; - public static String book15 = "Sulfur\nSulfur is a powder which will directly drop from it's ore. Sulfur is used for extracting deuterium with the deuterium extractor, crafting gunpowder or Schrabidiumtrisulfite."; - public static String book16 = "Niter\nNiter also drops directly from the ore, it's only uses are for crafting det cords and gunpowder."; - public static String book17 = "Industrial Grade Copper\nIndustrial Grade Copper (mainly just referred to as Copper) is an importand ingot used for crafting electronic components and creating Minecraft Grade Copper. It can be obtained by simply smelting copper ore."; - public static String book18 = "Minecraft Grade Copper\nMinecraft Grade Copper (aka Red Copper) can be created by combining copper ingots and redstone in the alloy furnace. It is used for crafting advanced electronics and batteries."; - public static String book19 = "Tungsten\nTungsten can be used to make neutron reflectors by combining it in the alloy furnace with coal. It is also needed for heating coils, which are importand for storing uranium and plutonium hexafluorite."; - public static String book110 = "Aluminium\nAluminium is a commonly found metal that is used for crafting hulls and machines. Basic circuits are also made out of aluminium wires."; - public static String book111 = "Fuorite\nFluorite is a powder which can be found in form of ores. It is used to make uranium and plutonium hexafluorite, gasses which can be enriched in a gas centrifuge."; - public static String book112 = "Beryllium\nBeryllium is an ingot which can be simply obtained from it's ore. Beryllium is used for Schrabidium fuel and plutonium cores."; - public static String book113 = "Lead\nLead is a very common ore that can be smelted into an ingot. It can be used to craft breeding reactors, RTG-Units and if combined with copper in the alloy furnace, it can be processed into neutron reflectors."; - public static String book114 = "Schrabidium\nSchrabidium is a very odd element only found near nuclear testing sites. It has violent behaviours if used the right way, making it perfect for bombs. If a big ammount is hit by neutrons, it will create other elements."; - public static String book115 = "Advanced Alloy\nThe advanced alloy is a very durable and useful material, only used for the best factories which can handle four operations at once. It is composed of Minecraft grade copper and steel, combined by an alloy furnace."; - public static String book116 = "Fuel\nFuel is obtained by combining an empty canister and a piece of coal in the alloy furnace. It is used for crafting explosive barrels and missiles."; - - public static String book21 = "Machines\nAs an essential part of technic mods, Hbm's Nuclear Tech Mod also features many machines. They are either used to smelt or refine items or to store hazardous materials or even generate electricity."; - public static String book22 = "Alloy Furnace\nThe alloy furnace is the most importand machine as it is used to create alloys like red copper or neutron reflectors. It uses different kinds of fuel such as coal, netherrack, lava or even redstone."; - public static String book23 = "Gas Centrifuge\nThe gas centrifuge is a requirement for any advanced nuclear tech as it can be used to enrich uranium and plutonium. It uses the same fuel as the alloy furnace. It can process uranium and plutonium hexafluorite."; - public static String book24 = "Hexafluorite Tanks\nThese tanks can store uranium or plutonium hexafluorite. By placing a filled cell into the upper-left slot, the gas will be transfered into the tank. Placing empty cells into the upper-right slot will drain the tank's content."; - public static String book25 = "Breeding Reactor\nThe breeding reactor is used to breed uranium into plutonium. By filling the lower slot with a radioactive rod it will supply it with power, the rod which shall be breeded goes into the upper slot."; - public static String book26 = "Nuclear Powered Furnace\nThis furnace works like the regular furnace, but uses fissile material as fuel instead. Each smelting process only takes arround 1.5 seconds."; - public static String book27 = "RTG-Furnace\nThe RGT-Furnace also works like a normal furnace, but uses three plutonium 238 pellets as fuel. Those pellets never deplete, making this furnace last forever. Smelting an item takes 2.5 seconds."; - public static String book28 = "Coal Generator\nThe coal generator can generate electricity by burning coal. It needs a constant water supply for successfully providing energy, it can use water buckets or cells. You can transport it's energy either with wires or batteries."; - public static String book29 = "Nuclear Reactor\nThe nuclear reactor uses special fuel cells to generate energy. It needs water to do so and coolant to prevent it from overheating."; - public static String book210 = "Coated Wire\nThis wire is made from red copper and can transfer electricity. It can take energy from various generators and transport it to machines."; - public static String book211 = "Energy Storage Block\nThis battery block will collect electricity from wires. Applying a redstone signal will prevent it from getting more energy and make it release it's electricity again."; - public static String book212 = "Electric Furnace\nThe electric furnace works like a normal furnace, but uses electricity instead of fuel items. It can be powered either with wires or with battery items."; - public static String book213 = "Deuterium Extractor\nThis machine needs electricity, water, sulfur and empty cells to extract deuterium from the water. Water will deplete much faster than sulfur."; - public static String book214 = "Factories\nFactories are big 3x3x3 furnaces on steroids. Depending on what type you use, it can smelt 2 or 4 items at the same time, while having nine additional in and output slots!"; - public static String book215 = "Large Nuclear Reactor\nThese big machines work like regular nuclear reactors, but can store much more energy, water, coolant and up to 30 slots of fuel! Be sure to protect it with a concrete shell, or else it will emit deadly doses of radiation."; - public static String book216 = "Fusion Reactor\nHarness the mighty power of the sun with this high-tech machinery! It will not present any danger as it can not explode or radiate, unlike other reactors. It needs deuterium, tritium, a fuse and four energy cores to start the fusion process."; - public static String book217 = "Schrabidium Transmutator\nThis new innovaion turns regular impure uranium into schrabidium! It needs almost 500MHE and a neutral redcoil capacitor to work. The capacitors can be discharged, but it is very dangerous to do so."; - public static String book31 = "Bombs\nThis mod also features many different bombs, some of them work like regular TNT, others are nukes and need additional items to ignite."; - public static String book32 = "The Gadget\nThe Gadget was the first functional nuclear explosive ever built. It needs four special propellants, a plutonium core and a cable drum. It's crater has a radius up to 150 meters."; - public static String book33 = "Little Boy\nLittle Boy is a gun-type nuke which uses a tungsten-carbide neutron reflector, two different uranium 235 elements, a propellant and it's igniter. It has an explosion radius of 120."; - public static String book34 = "Fat Man\nFat Man is very similar to the Gadged in terms of it's inner parts, even though it uses alternate versions of these items. It's explosion radius is 175 meters."; - public static String book35 = "Ivy Mike\nIvy Mike is a hydrogen bomb which needs Fat Man's parts to work. Additionally, you can add an uranium tank, deuterium and a cooler to increase the radius by a lot. Radius with Fat Man parts: 175 meters, radius with additional items: 250 meters."; - public static String book36 = "Tsar Bomba\nThe Tsar Bomba was the strongest bomb ever built and is a hydrogen bomb much like Ivy Mike. It needs Fat Man's parts to work and with the fusion core, the explosion radius reaches an astounding 500 meters."; - public static String book37 = "The Prototype\nThe Prototype was the first (and strongest) Schrabidium-powered bomb. It was made from a pimped makeshift nuclear reactor using liquid Schrabidiumtrisulfide. Like any other Schrabidium bomb, the Prototype's crater is 100% spherical,"; - public static String book38 = "leaving no blocks untouched, besides Bedrock on Y: 0. It needs four quad rods of regular uranium, four quad rods filled with lead, two quad rods of neptunium and four Schrabidiumtrisulfide cells in order to explode. It has a crater radius of only"; - public static String book39 = "150 meters, but because it's shape, it can destroy a whopping 14 million blocks, the seven million blocks of the bottom half are ten times more than the ammount of blocks the Gadget will destroy below it's Y axis."; - public static String book310 = "F.L.E.I.J.A.\nF.L.E.I.J.A. (pronounced §oFre-ja§r) is a high-tech Schrabidium bomb which consists of two special impulse igniters, three Schrabidium propellants and six magnetized F.L.E.I.J.A. uranium 235 cores. It has a range of 50 meters."; - public static String book311 = "Multi Purpose Bomb\nThe multi purpose bomb is a small customizable explosive which requires four blocks of TNT to work. It has a base explosion value which can be modified with different items. You can either use two of a kind (the small box will show"; - public static String book312 = "you what kind of explosion it will create), only one item (with half the radius/effect of the modifier) or two different items (two different items or one single are part of scambled mode, indicated by a question mark. It will have two different effects.)"; - public static String book313 = "Modifying items:\nBase Value: 8\nGunpowder: +1\nTNT: +4\nExplosive Pellets: +50 bomblets\nFire Powder: +10 fire radius\nPoison Powder: +15 poison radius\nGas Cartridge: +15 gas radius"; - public static String book314 = "Flame War in a Box\nEverything explodes, everything is on fire. Enough desription."; - public static String book315 = "Levitation Bomb\nThis bomb uses a Schrabidium powered modified thermal distribution unit to lift the surrounding area 50 meters up. It will mess with entities caught in it's radius, making them...weird."; - public static String book316 = "Endothermic Bomb\nThis bomb contains an ice-filled thermal distribution unit and will freeze blocks and entities close to it. Entities will get a slowness effect and freeze to a big ice cube."; - public static String book317 = "Exothermic Bomb\nThe exothermic bomb needs a thermal distribution unit filled with lava in order to burn and/or melt nearby blocks. Living creatures will get a slowness and weakness effect."; - public static String book318 = "Det Cord\nThe det cord is a TNT like block with a much smaller explosion radius. It will explode right after ignition. It can be triggered by redstone or other explosions and is ideal to trigger far away TNT chrages."; - public static String book319 = "Explosive Barrel\nThis is a red barrel filled with fuel. It will explode if it catches fire, explodes or gets shot with a revolver. It will blow up in a big firey explosion, great for demolishing houses or forests."; - public static String book320 = "Radioactive Barrel\nA yellow barrel filled to the top with nuclear waste. It has a much bigger explosion radius than it's non-nuclear counterpart, and can only be triggered by explosions. It will give creatures bad effects when they stay to close."; - - public static String book41 = "Missiles\nThere are four different tiers and four major groups of missiles. They need a launch pad to work and will fly to a maked target where they will explode. Most missiles are easily recognizable by their shape and color."; - public static String book42 = "HE Missiles\nHE missiles (often just referred to as generic missiles) are the simplest type of missiles. They will fly in an arc shape and explode on impact. There are three different HE missiles, one for each of the first three tiers."; - public static String book43 = "Incendiary Missiles\nIncendiary missiles work just like generic missiles, with the slight difference that the explosion will spawn fire. The higher the tier, the more fire the impact will create. There are three different tiers of incendiary missiles."; - public static String book44 = "Cluster Missiles\nCluster missiles will fly the same arc shape as all the other missiles do, with the exception that it will explode just before impact, releasing hundrets of small bomblets. They are avalible in three different sizes (tiers)"; - public static String book45 = "Bunker Busters\nA bunker buster behaves much like a normal missile, except that it's explosion goes further down, digging holes and revealing underground structures or destroying bunkers. They also come in three different sizes."; - public static String book46 = "Endothermic Missile\nA tier 3 missile which works exactly like an endothermic bomb, but has double the effect radius."; - public static String book47 = "Exothermic Missile\nAnother tier 3 missile with an exothermic warhead and double the radius of it's stationary counterpart."; - public static String book48 = "Nuclear Missile\nIt's basically a small nuke mounted on a missile. It has an explosion radius of 100 meters, making it the smallest nuke (next to the waffle of mass destruction, the nuclear creeper and the MIRV.)"; - public static String book49 = "Nuclear MIRV Missile\nThe nuclear MIRV is the most destructive intercontinental ballistic missile ever created. It combines a cluster bomb with the destructive force of a nuke, splitting into eight small warheads just before impact."; - - public static String book51 = "Misc\nNext to nuclear technology and weapons of mass destruction, this mod also offers some gimmicks, handguns, different armor sets, randomly generated dungeons and more! (Please, do not touch any objects you don't know. You will probably explode and die.)"; - public static String book52 = "Revolvers\nLike in the good old Western films, you can shoot with your own revolver! There are four different tiers of revolvers, dealing about 5 - infinite damage, depending on the tier. Note: A revolver can not hurt mobs like the ender dragon!"; - public static String book53 = "RPG\nTo use the RPG, charge it like a bow and release the charge when it reached it's maximum. The rocket will cause a small explosion about half the size of a creeper's explosion."; - public static String book54 = "Nuke Launcher\nThe M42 Nuclear Catapult \"Fat Man\" is the perfect christmas present for every small child! It shoots small tactical nuclear warheads causing chaos and destrucion. (What did you expect?)"; - public static String book55 = "Grenades\nA grenade is a very easy-to-use type of explosive. Simply throw it like a snowball and watch the explosion. Remember: Never, NEVER throw a Schrabidium Grenade."; - public static String book56 = "Syringes\nDon't do drugs! (except in Minecraft) Need some health? Take a Stimpak. You demand damage resistance? Inject a Med-X. Want to go nuts? Take AWESOME (only one dose per hour will help) Warning: Hitting enemies with syinges will give them the effect!"; - public static String book57 = "Mobile Stealth Device\nThis useful machine will make you invisibile, even without the annoying particles! Just remember that the effect will wear off in 30 seconds, so don't rely too much on it."; - public static String book58 = "Food\nSurprisingly enough, this mod offers a great variety of different food. Be sure not to eat anything, you may explode/combust/die of radiation poisoning/starve to death/experience a rare case of waffles taking over the world."; - - public static String book61; + public static List book1 = new ArrayList(); + public static List book2 = new ArrayList(); + public static List book3 = new ArrayList(); + public static List book4 = new ArrayList(); + public static List book5 = new ArrayList(); public static String HbMinecraft = "192af5d7-ed0f-48d8-bd89-9d41af8524f8"; public static String LPkukin = "937c9804-e11f-4ad2-a5b1-42e62ac73077"; public static String Dafnik = "3af1c262-61c0-4b12-a4cb-424cc3a9c8c0"; + public static String a20 = "4729b498-a81c-42fd-8acd-20d6d9f759e0"; public static List superuser = new ArrayList(); + public static void initBooks() { + + book1.add("This book contains detailed information about the resources in Hbm's Nuclear Tech Mod. Some can be found underground, some have to be processed in special machines before becoming useful."); + book1.add("Uranium\nRare metal which spawns below Y:25. Impure uranium which is not useful by itself. Can be crafted into uranium hexafluoride, which can be seperated by the centrifuge."); + book1.add("Uranium 235\nRare uranium isotope obtained from processing uranium hexafluoride in the centrifuge. This isotope is fissile, it can be used for reactor fuel and bombs. Np237 can be bred from U235."); + book1.add("Uranium 238\nVery abundant isotope which is not as useful as it's fissile counterpart. Used in reactor fuel and for breeding fissile Pu239."); + book1.add("Plutonium\nTransuranic element which cannot be found underground. It can be found in the nether (config option required) or bred from impure uranium."); + book1.add("Plutonium 238\nAlpha emitter that can be bred from Np237, useful for making RTG pellets which is needed for the RTG furnace."); + book1.add("Plutonium 239\nFissile plutonium isotope that can be crafted into reactor fuel. Implosion-type nukes also need this isotope."); + book1.add("Plutonium 240\nIsotope with a high spontaneous fission rate. Not very useful."); + book1.add("Neptunium\nNeptunium 237 can only be obtained by breeding U235. Other than being crucial for Pu238 production, it doesn't have many uses."); + book1.add("Titanium\nTough metal which can be found underground below Y:35. Titanium is important for crafting machines and stong tools."); + book1.add("Copper\nMetal found below Y:50. Very important metal for machines, mostly used for alloys."); + book1.add("Minecraft Grade Copper\nMinecraft Grade Copper (or red copper) is used for all machines that use electricity. Every conductor is made from red copper."); + book1.add("Advanced Alloy\nAlloy made from red copper and steel. Very tough, used for super conductors, late game machines and heavy duty tools."); + book1.add("Tungsten\nFound below Y:35 or in the nether, needed for heating elements, neutron reflectors and late game alloys."); + book1.add("Aluminium\nSoft metal found below Y:45. Can be used to craft shells and canisters."); + book1.add("Steel\nAlloy made from coal and iron. Almost everything needs steel, shells, frames, machines, tools, etc."); + book1.add("Lead\n.Found below Y:35. Used for nuclear reactors, hazmat equpiment and bullets."); + book1.add("Beryllium\n.Brittle metal found below Y:35, used for deco elements and atom bombs."); + book1.add("Schrabidium\n.Weird. Can be created using the schrabidium transmutation device or by setting off nukes near uranium ore. Can be crafted into extremely powerful equipment and machines."); + book1.add("Magnetized Tungsten\nTungsten with traces of schrabidium. Strong super conductor which withstands very high temparatures. Used for 4000K magnets and calculation matrices."); + book1.add("Lithium\nCan be extracted from quartz using the centrifuge, used for breeding tritium."); + book1.add("Sulfur\nDust found underground below Y:35. Useful for matchsticks, deuterium production and crafting gunpowder."); + book1.add("Niter\nDust found below Y:35. Can be used to craft gunpowder and det cord."); + book1.add("Fluorite\nCan be found below Y:40. Only used for crafting uranium and plutonium hexafluoride."); + book1.add("Uranium Hexafluoride\nCan be seperated in the centrifuge. Storable in the UF6 tank."); + book1.add("Plutonium Hexafluoride\nCan be seperated in the centrifuge. Storable in the PuF6 tank."); + + book2.add("This book contains detailed information about the machines in Hbm's Nuclear Tech Mod. Most machines use electricity in the form of HE."); + book2.add("Alloy Furnace\nType: Processor\nUses fuels like redstone, coal and netherrack to combine two items. Accepts RTG pellets."); + book2.add("Centrifuge\nType: Processor\nUses the same fuels as the alloy furnace to seperate an imput to up to four outputs. Used for uranium enrichment."); + book2.add("Hexafluoride Tanks\nType: Storage\nComes in two different variations, for uranium and plutonium."); + book2.add("Breeding Reactor\nType: Processor\nUses nuclear rods as fuel to breed other rods. Used to process isotopes."); + book2.add("Nuclear Furnace\nType: Processor\nUses nuclear rods as fuel to smelt items like a normal furnace does, but much faster."); + book2.add("RTG-Furnace\nType: Processor\nUtilizes three plutonium 238 pellets which never run out to smelt items very fast."); + book2.add("Coal Generator\nType: Generator\nUses coal and water in order to create little amounts of HE."); + book2.add("Diesel Generator\nType: Generator\nUses diesel fuel to create HE, does not need water in order to run."); + book2.add("Small Nuclear Reactor\nType: Generator\nUses reactor fuel, water and coolant to generate HE, the reactor explodes when it overheats."); + book2.add("Red Copper Cable\nType: Conductor\nConnects to other cables and machines, transfers HE."); + book2.add("Coated Red Copper Cable\nType: Conductor\nFull block conductors which are more resistant than normal cables."); + book2.add("Energy Storage Block\nType: Storage\nStores energy when connected to a power source, releases it if it's powered with a redstone signal."); + book2.add("HE to RF Converter\nType: Power Converter\nCollects HE and converts it to RF, which can be used by machines from other mods which are RF compatible."); + book2.add("RF to HE Converter\nType: Power Converter\nCollects RF and converts it to HE."); + book2.add("Electric Furnace\nType: Processor\nNeeds HE in order to smelt items much faster than a normal furnace."); + book2.add("Shredder\nType: Processor\nNeeds HE and two blades in order to run. Ingots and ores are turned into dust, other blocks get processed into scrap. Useful to make fuel out of junk."); + book2.add("Deuterium Extractor\nType: Processor\nNeeds HE, water and sulfur in order to extract deuterium out of the water. Sulfur is used up slower than water."); + book2.add("Schrabidium Transmutation Device\nType: Processor\nWith 500 million HE, a special capacitor and uranium, this machine creates schrabidium ingots."); + book2.add("CMB Steel Factory\nType: Processor\nCombines magnetized tungsten, advanced alloy and poisonous mud into CMB steel."); + book2.add("Basic Factory\nType: Processor\nLarge furnace with in- and output queue that smelts two items at a time. Needs a specific energy core to run, though it also accepts external energy if it has an electricity port."); + book2.add("Advanced Factory\nType: Processor\nThis factory smelts four items at a time, twice as fast, making it four times better than the basic factory."); + book2.add("Large Nuclear Reactor\nType: Generator\nA much larger version of the nuclear reactor which works similarly, but needs a fuse to run. The optional concrete coating will prevent radiation from leaking out."); + book2.add("Fusion Reactor\nType: Generator\nA very large reactor which fuses deuterium and tritium to create power. It needs startup energy in form of four energy cores (and or fusion cores) and a fuse."); + book2.add("Watz Power Plant\nType: Generator\nA special fission reactor whcih needs a titanium filter and fuel pellets to run. Pellets have different modifiers changing lifetime and efficiency of all other components. Mind the waste."); + book2.add("Fusionary Watz Plant\nType: Generator\nThe strongest reactor which fuses antimatter with antischrabidium with the help of a singularity. Different singularities have different effects. Beware the screwdriver."); + + book3.add("This book contains detailed information about the explosives in Hbm's Nuclear Tech Mod. All explosives can also be used with the detonator."); + book3.add("The Gadget\nType: Nuke\nStrength: " + MainRegistry.gadgetRadius + "\nItems required: 4x bundled propellant, 1x Gadget plutonium core, 1x Wiring"); + book3.add("Little Boy\nType: Nuke\nStrength: " + MainRegistry.boyRadius + "\nItems required: 1x neutron shielding, 1x U235 target, 1x U235 bullet, 1x Little Boy propellant, 1x Little Boy igniter"); + book3.add("Fat Man\nType: Nuke\nStrength: " + MainRegistry.manRadius + "\nItems required: 4x bundled propellant, 1x Fat Man plutonium core, 1x Fatman fuse"); + book3.add("Ivy Mike\nType: H-Bomb\nStrength (nuke): " + MainRegistry.manRadius + "\nStrength (h-bomb): " + MainRegistry.mikeRadius + "\nItems required: 4x bundled propellant, 1x Fat Man plutonium core\nOptional: 1x deuterium supercooler, 1x uranium covered deuterium tank, 1x deuterium tank"); + book3.add("Tsar Bomba\nType: H-Bomb\nStrength (nuke): " + MainRegistry.manRadius + "\nStrength (h-bomb): " + MainRegistry.tsarRadius + "\nItems required: 4x bundled propellant, 1x Fat Man plutonium core\nOptional: Tsar Bomba core"); + book3.add("The Prototype\nType: Schrabidium-Bomb\nStrength:" + MainRegistry.prototypeRadius + "\nItems required: 4x schrabidium-trisulfide, 4x uranium quad rod, 4x lead quad rod, 2x neptunium quad rod"); + book3.add("F.L.E.I.J.A.\nType: Schrabidium-Bomb\nStrength:" + MainRegistry.fleijaRadius + "\nItems required: 2x pulse igniter, 3x schrabidium propellant, 6x F.L.E.I.J.A. uranium charge"); + book3.add("Multi Purpose Bomb\nType: Generic\nStrength: Variable\nNeeds four blocks of TNT in the marked slots, special items can be added in the right two slots. Equal items have their own icon, unequal items show a ?-icon, though they still work together."); + book3.add("Multi Purpose Bomb (cont.)\nGunpowder: +1 explosion strength, TNT: +4 explosion strength, explosive pellets: +50 bomblets, fire powder: +10 fire radius, poison powder: +15 poison radius, gas cartridge: +15 gas radius"); + book3.add("Dud\nType: ???\nStrength:" + MainRegistry.fatmanRadius + "\nUncraftable, right-click with empty cells to extract antimatter. Can explode via detonator."); + book3.add("Flame War in a Box\nType: Box\nSpawns random explosions, sets everything on fire."); + book3.add("Levitation Bomb\nRadius: 15\nHeight: 50\nLifts all blocks and entites caught in it's area of effect."); + book3.add("Endothermic Bomb\nRadius: 15\nTurns blocks into ice, freezes entities solid."); + book3.add("Exothermic Bomb\nRadius: 15\nBurns/melts blocks, sets all entities on fire."); + book3.add("Explosive Barrel\nType: Barrel\nExplodes when shot/set on fire."); + book3.add("Radioactive Barrel\nType: Barrel\nOnly set off by explosions, contaminates area."); + + book4.add("This book contains detailed information about the missiles in Hbm's Nuclear Tech Mod. All missiles are launched from the launch pad, the coordinates are set using the short range target designator."); + book4.add("HE Missiles\nNormal missile which explodes on impact.\nSmall: 10\nMedium: 25\nLarge: 50 x 5"); + book4.add("Incendiary Missiles\nSpecial missile which explodes and sets the surrounding area on fire.\nSmall: 10 + F\nMedium: 25 + F\nLarge: 35 + F"); + book4.add("Cluster Missiles\nMissile which explodes mid-air and releases small bomblets.\nSmall: 5 + 25B\nMedium: 15 + 50B\nLarge: 25 + 100B"); + book4.add("Bunker Buster\nMissile which creates vertical explosions.\nSmall: 5 x 15\nMedium: 7.5 x 20\nLarge: 10 x 30B"); + book4.add("Thermal Missiles\nEndo or exothermic, area of effect is twice as large as for their stationary counterparts."); + book4.add("Nuclear Missile\nLarge missile equipped with a nuclear warhead.\nRadius: " + MainRegistry.missileRadius); + book4.add("Nuclear MIRV\nCrossbreed of a nuclear missile and a cluster missile...splits into eight smaller nukes.\nRadius per MIRV: " + MainRegistry.mirvRadius); + + book5.add("This book contains detailed information about the miscellaneous items in Hbm's Nuclear Tech Mod. All missiles are launched from the launch pad, the coordinates are set using the short range target designator."); + book5.add("Revolvers\nThese guns come in different variants, each one has it's own ammo. Charge them like a bow for half a second and release to shoot."); + book5.add("Rocket Launcher\nWorks much like a revolver, but it needs to be completely charged up to fire. Shoots explosive rockets instead of bullets. Duh."); + book5.add("M42 Nuclear Catapult\nIs basically just an RPG. That shoots nukes. In an arch. Which kill everybody. Full stop."); + book5.add("Waffle of Mass Destruction\nEat & explode."); + book5.add("Vegan Schnitzel\nEat & die."); + book5.add("Radioactive Cotton Candy\nEat & enjoy."); + book5.add("Schrabidium Apples\nGives you an epic bizeps in 1.2 seconds."); + book5.add("Tem Flakes\nfood of tem. com in 3 flavurs, on sale, nurmal & PREMIUM!!! (expensiv) heals 2HP. construction paper."); + book5.add("Oversugared Unhealthy Beverages\nHalf of them taste like urine, all of them are unhealthy."); + book5.add("Grenades\nMany different types with effects, do not use the schrabidium/drill ones."); + book5.add("Detonator\nRight click a block to set the position, shift-right click to detonate."); + book5.add("Supply Drop Requester\nRight click to call in a supply drop, has five uses in survival mode."); + book5.add("Magazines\nRight click to retrieve ammo for a specific gun."); + } + public static boolean checkArmor(EntityPlayer player, Item helmet, Item plate, Item legs, Item boots) { if(player.inventory.armorInventory[0] != null && @@ -160,7 +193,10 @@ public class Library { public static boolean checkForHazmat(EntityPlayer player) { - if(checkArmor(player, ModItems.hazmat_helmet, ModItems.hazmat_plate, ModItems.hazmat_legs, ModItems.hazmat_boots) || checkArmor(player, ModItems.t45_helmet, ModItems.t45_plate, ModItems.t45_legs, ModItems.t45_boots) || checkArmor(player, ModItems.euphemium_helmet, ModItems.euphemium_plate, ModItems.euphemium_legs, ModItems.euphemium_boots)) + if(checkArmor(player, ModItems.hazmat_helmet, ModItems.hazmat_plate, ModItems.hazmat_legs, ModItems.hazmat_boots) || + checkArmor(player, ModItems.t45_helmet, ModItems.t45_plate, ModItems.t45_legs, ModItems.t45_boots) || + checkArmor(player, ModItems.euphemium_helmet, ModItems.euphemium_plate, ModItems.euphemium_legs, ModItems.euphemium_boots) || + checkArmor(player, ModItems.hazmat_paa_helmet, ModItems.hazmat_paa_plate, ModItems.hazmat_paa_legs, ModItems.hazmat_paa_boots)) { return true; } @@ -169,11 +205,15 @@ public class Library { } public static boolean checkForGasMask(EntityPlayer player) { - + if(checkArmorPiece(player, ModItems.hazmat_helmet, 3)) { return true; } + if(checkArmorPiece(player, ModItems.hazmat_paa_helmet, 3)) + { + return true; + } if(checkArmorPiece(player, ModItems.gas_mask, 3)) { return true; @@ -265,4 +305,67 @@ public class Library { return null; } + + public static EntityPlayer getClosestPlayerForSound(World world, double x, double y, double z, double radius) { + double d4 = -1.0D; + EntityPlayer entity = null; + + for (int i = 0; i < world.loadedEntityList.size(); ++i) { + Entity entityplayer1 = (Entity)world.loadedEntityList.get(i); + + if (entityplayer1.isEntityAlive() && entityplayer1 instanceof EntityPlayer) { + double d5 = entityplayer1.getDistanceSq(x, y, z); + double d6 = radius; + + if ((radius < 0.0D || d5 < d6 * d6) && (d4 == -1.0D || d5 < d4)) { + d4 = d5; + entity = (EntityPlayer)entityplayer1; + } + } + } + + return entity; + } + + public static EntityHunterChopper getClosestChopperForSound(World world, double x, double y, double z, double radius) { + double d4 = -1.0D; + EntityHunterChopper entity = null; + + for (int i = 0; i < world.loadedEntityList.size(); ++i) { + Entity entityplayer1 = (Entity)world.loadedEntityList.get(i); + + if (entityplayer1.isEntityAlive() && entityplayer1 instanceof EntityHunterChopper) { + double d5 = entityplayer1.getDistanceSq(x, y, z); + double d6 = radius; + + if ((radius < 0.0D || d5 < d6 * d6) && (d4 == -1.0D || d5 < d4)) { + d4 = d5; + entity = (EntityHunterChopper)entityplayer1; + } + } + } + + return entity; + } + + public static EntityChopperMine getClosestMineForSound(World world, double x, double y, double z, double radius) { + double d4 = -1.0D; + EntityChopperMine entity = null; + + for (int i = 0; i < world.loadedEntityList.size(); ++i) { + Entity entityplayer1 = (Entity)world.loadedEntityList.get(i); + + if (entityplayer1.isEntityAlive() && entityplayer1 instanceof EntityChopperMine) { + double d5 = entityplayer1.getDistanceSq(x, y, z); + double d6 = radius; + + if ((radius < 0.0D || d5 < d6 * d6) && (d4 == -1.0D || d5 < d4)) { + d4 = d5; + entity = (EntityChopperMine)entityplayer1; + } + } + } + + return entity; + } } diff --git a/com/hbm/lib/ModDamageSource.java b/com/hbm/lib/ModDamageSource.java index 2ae9fa017..d71bcbd3c 100644 --- a/com/hbm/lib/ModDamageSource.java +++ b/com/hbm/lib/ModDamageSource.java @@ -18,6 +18,7 @@ public class ModDamageSource extends DamageSource { public static DamageSource euthanizedSelf2 = (new DamageSource("euthanizedSelf2")).setDamageBypassesArmor(); public static DamageSource tauBlast = (new DamageSource("tauBlast")).setDamageBypassesArmor(); public static DamageSource radiation = (new DamageSource("radiation")).setDamageBypassesArmor(); + public static DamageSource suicide = (new DamageSource("suicide")).setProjectile(); public ModDamageSource(String p_i1566_1_) { super(p_i1566_1_); @@ -42,6 +43,22 @@ public class ModDamageSource extends DamageSource { { return (new EntityDamageSourceIndirect("subAtomic", p_76353_0_, p_76353_1_)).setProjectile().setDamageBypassesArmor(); } + public static DamageSource causeSubatomicDamage2(EntityRainbow p_76353_0_, Entity p_76353_1_) + { + return (new EntityDamageSourceIndirect("subAtomic2", p_76353_0_, p_76353_1_)).setProjectile().setDamageBypassesArmor(); + } + public static DamageSource causeSubatomicDamage3(EntityRainbow p_76353_0_, Entity p_76353_1_) + { + return (new EntityDamageSourceIndirect("subAtomic3", p_76353_0_, p_76353_1_)).setProjectile().setDamageBypassesArmor(); + } + public static DamageSource causeSubatomicDamage4(EntityRainbow p_76353_0_, Entity p_76353_1_) + { + return (new EntityDamageSourceIndirect("subAtomic4", p_76353_0_, p_76353_1_)).setProjectile().setDamageBypassesArmor(); + } + public static DamageSource causeSubatomicDamage5(EntityRainbow p_76353_0_, Entity p_76353_1_) + { + return (new EntityDamageSourceIndirect("subAtomic5", p_76353_0_, p_76353_1_)).setProjectile().setDamageBypassesArmor(); + } public static DamageSource euthanized(Entity p_76353_0_, Entity p_76353_1_) { return (new EntityDamageSourceIndirect("euthanized", p_76353_0_, p_76353_1_)).setDamageBypassesArmor(); @@ -90,7 +107,8 @@ public class ModDamageSource extends DamageSource { public static boolean getIsSubatomic(DamageSource source) { if(source instanceof EntityDamageSourceIndirect) { - return ((EntityDamageSourceIndirect)source).damageType.equals("subAtomic"); + String s = ((EntityDamageSourceIndirect)source).damageType; + return s.equals("subAtomic") || s.equals("subAtomic2") || s.equals("subAtomic3") || s.equals("subAtomic4") || s.equals("subAtomic5"); } return false; } diff --git a/com/hbm/lib/RefStrings.java b/com/hbm/lib/RefStrings.java index 93289e9da..b3c5ad8f6 100644 --- a/com/hbm/lib/RefStrings.java +++ b/com/hbm/lib/RefStrings.java @@ -3,7 +3,7 @@ package com.hbm.lib; public class RefStrings { public static final String MODID = "hbm"; public static final String NAME = "Hbm's Nuclear Tech Mod"; - public static final String VERSION = "1.0.21"; + public static final String VERSION = "1.0.23"; public static final String CLIENTSIDE = "com.hbm.main.ClientProxy"; public static final String SERVERSIDE = "com.hbm.main.ServerProxy"; } diff --git a/com/hbm/main/ClientProxy.java b/com/hbm/main/ClientProxy.java index 22eeb0ac9..f4c7e5365 100644 --- a/com/hbm/main/ClientProxy.java +++ b/com/hbm/main/ClientProxy.java @@ -3,12 +3,15 @@ package com.hbm.main; import net.minecraft.client.renderer.entity.RenderSnowball; import net.minecraft.item.Item; import net.minecraftforge.client.MinecraftForgeClient; +import net.minecraftforge.common.MinecraftForge; import com.hbm.blocks.ModBlocks; import com.hbm.entity.EntityBullet; import com.hbm.entity.EntityChopperMine; import com.hbm.entity.EntityCloudFleija; import com.hbm.entity.EntityCombineBall; +import com.hbm.entity.EntityFalloutRain; +import com.hbm.entity.EntityGrenadeASchrab; import com.hbm.entity.EntityGrenadeCluster; import com.hbm.entity.EntityGrenadeElectric; import com.hbm.entity.EntityGrenadeFire; @@ -25,6 +28,7 @@ import com.hbm.entity.EntityGrenadePoison; import com.hbm.entity.EntityGrenadeSchrabidium; import com.hbm.entity.EntityGrenadeStrong; import com.hbm.entity.EntityGrenadeTau; +import com.hbm.entity.EntityGrenadeZOMG; import com.hbm.entity.EntityHunterChopper; import com.hbm.entity.EntityMiniNuke; import com.hbm.entity.EntityMirv; @@ -47,6 +51,7 @@ import com.hbm.entity.EntityMissileRain; import com.hbm.entity.EntityMissileStrong; import com.hbm.entity.EntityNuclearCreeper; import com.hbm.entity.EntityNukeCloudBig; +import com.hbm.entity.EntityNukeCloudNoShroom; import com.hbm.entity.EntityNukeCloudSmall; import com.hbm.entity.EntityRainbow; import com.hbm.entity.EntityRocket; @@ -69,6 +74,7 @@ import com.hbm.render.ItemRenderPoleTop; import com.hbm.render.ItemRenderRedstoneSword; import com.hbm.render.ItemRenderRevolver; import com.hbm.render.ItemRenderRevolverGold; +import com.hbm.render.ItemRenderRevolverInverted; import com.hbm.render.ItemRenderRevolverSchrabidium; import com.hbm.render.ItemRenderRocket; import com.hbm.render.ItemRenderRpg; @@ -89,6 +95,7 @@ import com.hbm.render.RenderCloudFleija; import com.hbm.render.RenderCrashedBomb; import com.hbm.render.RenderDecoBlock; import com.hbm.render.RenderDecoBlockAlt; +import com.hbm.render.RenderFallout; import com.hbm.render.RenderFlare; import com.hbm.render.RenderHunterChopper; import com.hbm.render.RenderLaunchPadTier1; @@ -100,6 +107,7 @@ import com.hbm.render.RenderMissileMirv; import com.hbm.render.RenderMissileNuclear; import com.hbm.render.RenderMissileStrong; import com.hbm.render.RenderMissileThermo; +import com.hbm.render.RenderNoCloud; import com.hbm.render.RenderNuclearCreeper; import com.hbm.render.RenderNukeBoy; import com.hbm.render.RenderNukeFleija; @@ -164,6 +172,8 @@ public class ClientProxy extends ServerProxy @Override public void registerRenderInfo() { + MinecraftForge.EVENT_BUS.register(new ModEventHandlerClient()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTestRender.class, new RenderTestRender()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTestContainer.class, new RenderTestContainer()); @@ -213,6 +223,8 @@ public class ClientProxy extends ServerProxy RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeTau.class, new RenderSnowball(ModItems.grenade_tau)); RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeLemon.class, new RenderSnowball(ModItems.grenade_lemon)); RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeMk2.class, new RenderSnowball(ModItems.grenade_mk2)); + RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeZOMG.class, new RenderSnowball(ModItems.grenade_zomg)); + RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeASchrab.class, new RenderSnowball(ModItems.grenade_aschrab)); RenderingRegistry.registerEntityRenderingHandler(EntitySchrab.class, new RenderFlare()); @@ -225,6 +237,8 @@ public class ClientProxy extends ServerProxy RenderingRegistry.registerEntityRenderingHandler(EntityNukeCloudSmall.class, new RenderSmallNukeAlt()); RenderingRegistry.registerEntityRenderingHandler(EntityNukeCloudBig.class, new RenderBigNuke()); RenderingRegistry.registerEntityRenderingHandler(EntityCloudFleija.class, new RenderCloudFleija()); + RenderingRegistry.registerEntityRenderingHandler(EntityNukeCloudNoShroom.class, new RenderNoCloud()); + RenderingRegistry.registerEntityRenderingHandler(EntityFalloutRain.class, new RenderFallout()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityDecoTapeRecorder.class, new RenderTapeRecorder()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityDecoSteelPoles.class, new RenderSteelPoles()); @@ -247,6 +261,7 @@ public class ClientProxy extends ServerProxy MinecraftForgeClient.registerItemRenderer(ModItems.gun_zomg, new ItemRenderZOMG()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_osipr, new ItemRenderOSIPR()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_mp, new ItemRenderMP()); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_revolver_inverted, new ItemRenderRevolverInverted()); RenderingRegistry.registerEntityRenderingHandler(EntityBullet.class, new RenderRocket()); RenderingRegistry.registerEntityRenderingHandler(EntityMiniNuke.class, new RenderMiniNuke()); diff --git a/com/hbm/main/CraftingManager.java b/com/hbm/main/CraftingManager.java index e7d452a32..51cfb6d01 100644 --- a/com/hbm/main/CraftingManager.java +++ b/com/hbm/main/CraftingManager.java @@ -33,6 +33,7 @@ public class CraftingManager { GameRegistry.addRecipe(new ItemStack(ModItems.plate_schrabidium, 16), new Object[] { "TT", "TT", 'T', ModItems.ingot_schrabidium}); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.plate_gold, 16), new Object[] { "TT", "TT", 'T', "ingotGold" })); GameRegistry.addRecipe(new ItemStack(ModItems.plate_advanced_alloy, 16), new Object[] { "TT", "TT", 'T', ModItems.ingot_advanced_alloy}); + GameRegistry.addRecipe(new ItemStack(ModItems.plate_combine_steel, 16), new Object[] { "TT", "TT", 'T', ModItems.ingot_combine_steel}); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.wire_red_copper, 6), new Object[] { "CCC", 'S', Items.string, 'C', "ingotRedstoneAlloy" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.wire_tungsten, 6), new Object[] { "CCC", 'S', Items.string, 'C', "ingotTungsten" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.wire_aluminium, 6), new Object[] { "CCC", 'S', Items.string, 'C', "ingotAluminum" })); @@ -40,13 +41,17 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.wire_gold, 6), new Object[] { "CCC", 'S', Items.string, 'C', "ingotGold" })); GameRegistry.addRecipe(new ItemStack(ModItems.wire_schrabidium, 6), new Object[] { "CCC", 'S', Items.string, 'C', ModItems.ingot_schrabidium }); GameRegistry.addRecipe(new ItemStack(ModItems.wire_advanced_alloy, 6), new Object[] { "CCC", 'S', Items.string, 'C', ModItems.ingot_advanced_alloy }); + GameRegistry.addRecipe(new ItemStack(ModItems.wire_magnetized_tungsten, 6), new Object[] { "CCC", 'S', Items.string, 'C', ModItems.ingot_magnetized_tungsten }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.hazmat_cloth, 4), new Object[] { "LN", "LN", 'L', Items.leather, 'N', "nuggetLead" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.hazmat_cloth, 8), new Object[] { "SCS", "CPC", "SCS", 'S', Items.string, 'P', Items.leather, 'C', "dustLead" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.filter_coal, 1), new Object[] { "SCS", "CPC", "SCS", 'S', Items.string, 'P', Items.paper, 'C', "dustCoal" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.plate_mixed, 3), new Object[] { "ANA", "NCN", "ANA", 'A', ModItems.plate_advanced_alloy, 'N', "plateDenseLead", 'C', ModItems.plate_combine_steel })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.circuit_aluminium, 1), new Object[] { "RAR", "ASA", "RAR", 'S', "plateSteel", 'R', "dustRedstone", 'A', ModItems.wire_aluminium })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.circuit_copper, 1), new Object[] { "RAR", "ASA", "RAR", 'S', ModItems.circuit_aluminium, 'R', "dustGlowstone", 'A', ModItems.wire_copper })); - GameRegistry.addRecipe(new ItemStack(ModItems.circuit_red_copper, 1), new Object[] { "RAR", "ASA", "RAR", 'S', ModItems.circuit_copper, 'R', new ItemStack(Items.dye, 1, 4), 'A', ModItems.wire_red_copper }); - GameRegistry.addRecipe(new ItemStack(ModItems.circuit_gold, 1), new Object[] { "RAR", "ASA", "RAR", 'S', ModItems.circuit_red_copper, 'R', Items.ender_pearl, 'A', ModItems.wire_gold }); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.circuit_schrabidium, 1), new Object[] { "RAR", "ASA", "RAR", 'S', ModItems.circuit_gold, 'R', "gemDiamond", 'A', ModItems.wire_schrabidium })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.circuit_copper, 1), new Object[] { "RAR", "ASA", "RAR", 'S', ModItems.circuit_aluminium, 'R', "dustNetherQuartz", 'A', ModItems.wire_copper })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.circuit_red_copper, 1), new Object[] { "RAR", "ASA", "RAR", 'S', ModItems.circuit_copper, 'R', "dustGold", 'A', ModItems.wire_red_copper })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.circuit_gold, 1), new Object[] { "RAR", "ASA", "RAR", 'S', ModItems.circuit_red_copper, 'R', "dustLapis", 'A', ModItems.wire_gold })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.circuit_schrabidium, 1), new Object[] { "RAR", "ASA", "RAR", 'S', ModItems.circuit_gold, 'R', "dustDiamond", 'A', ModItems.wire_schrabidium })); GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(Items.gunpowder, 3), new Object[] { "sulfur", "salpeter", Items.coal })); GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(Items.gunpowder, 3), new Object[] { "sulfur", "salpeter", new ItemStack(Items.coal, 1, 1) })); @@ -54,8 +59,8 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(Items.gunpowder, 3), new Object[] { "dustSulfur", "dustSalpeter", new ItemStack(Items.coal, 1, 1) })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.cell_empty, 6), new Object[] { "SSS", "G G", "SSS", 'S', "plateSteel", 'G', Item.getItemFromBlock(Blocks.glass_pane) })); - GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.cell_uf6, 1), new Object[] { ModItems.cell_empty, "ingotUranium", "dustFluorite", "dustFluorite", "dustFluorite", Items.water_bucket })); - GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.cell_puf6, 1), new Object[] { ModItems.cell_empty, "ingotPlutonium", "dustFluorite", "dustFluorite", "dustFluorite", Items.water_bucket })); + GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.cell_uf6, 1), new Object[] { ModItems.cell_empty, "dustUranium", "dustFluorite", "dustFluorite", "dustFluorite", Items.water_bucket })); + GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.cell_puf6, 1), new Object[] { ModItems.cell_empty, "dustPlutonium", "dustFluorite", "dustFluorite", "dustFluorite", Items.water_bucket })); GameRegistry.addRecipe(new ItemStack(ModItems.cell_deuterium, 8), new Object[] { "DDD", "DTD", "DDD", 'D', ModItems.cell_empty, 'T', ModItems.mike_deut }); GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.cell_sas3, 1), new Object[] { ModItems.cell_empty, ModItems.powder_schrabidium, "dustSulfur", "dustSulfur" })); GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.cell_sas3, 1), new Object[] { ModItems.cell_empty, ModItems.powder_schrabidium, "sulfur", "sulfur" })); @@ -77,9 +82,13 @@ public class CraftingManager { GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.block_lead), 1), new Object[] { "###", "###", "###", '#', ModItems.ingot_lead }); GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.block_trinitite), 1), new Object[] { "###", "###", "###", '#', ModItems.trinitite }); GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.block_waste), 1), new Object[] { "###", "###", "###", '#', ModItems.nuclear_waste }); + GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.block_scrap), 1), new Object[] { "##", "##", '#', ModItems.scrap }); + GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.block_scrap), 1), new Object[] { "###", "###", "###", '#', ModItems.dust }); GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.block_beryllium), 1), new Object[] { "###", "###", "###", '#', ModItems.ingot_beryllium }); GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.block_schrabidium), 1), new Object[] { "###", "###", "###", '#', ModItems.ingot_schrabidium }); GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.block_advanced_alloy), 1), new Object[] { "###", "###", "###", '#', ModItems.ingot_advanced_alloy }); + GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.block_magnetized_tungsten), 1), new Object[] { "###", "###", "###", '#', ModItems.ingot_magnetized_tungsten }); + GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.block_combine_steel), 1), new Object[] { "###", "###", "###", '#', ModItems.ingot_combine_steel }); GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.ingot_uranium_fuel, 1), new Object[] { "nuggetUranium235", "nuggetUranium235", "nuggetUranium235", "nuggetUranium238", "nuggetUranium238", "nuggetUranium238", "nuggetUranium238", "nuggetUranium238", "nuggetUranium238" })); GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.ingot_plutonium_fuel, 1), new Object[] { "nuggetPlutonium238", "nuggetPlutonium239", "nuggetPlutonium239", "nuggetPlutonium239", "nuggetPlutonium239", "nuggetPlutonium239", "nuggetPlutonium240", "nuggetPlutonium240", "nuggetPlutonium240" })); @@ -107,10 +116,8 @@ public class CraftingManager { GameRegistry.addRecipe(new ItemStack(ModItems.ingot_beryllium, 9), new Object[] { "#", '#', Item.getItemFromBlock(ModBlocks.block_beryllium) }); GameRegistry.addRecipe(new ItemStack(ModItems.ingot_schrabidium, 9), new Object[] { "#", '#', Item.getItemFromBlock(ModBlocks.block_schrabidium) }); GameRegistry.addRecipe(new ItemStack(ModItems.ingot_advanced_alloy, 9), new Object[] { "#", '#', Item.getItemFromBlock(ModBlocks.block_advanced_alloy) }); - - GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.powder_lead, 2), new Object[] { "ingotLead", "ingotLead" })); - GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.powder_neptunium, 2), new Object[] { "ingotNeptunium", "ingotNeptunium" })); - GameRegistry.addShapelessRecipe(new ItemStack(ModItems.powder_schrabidium, 2), new Object[] { ModItems.ingot_schrabidium, ModItems.ingot_schrabidium }); + GameRegistry.addRecipe(new ItemStack(ModItems.ingot_magnetized_tungsten, 9), new Object[] { "#", '#', Item.getItemFromBlock(ModBlocks.block_magnetized_tungsten) }); + GameRegistry.addRecipe(new ItemStack(ModItems.ingot_combine_steel, 9), new Object[] { "#", '#', Item.getItemFromBlock(ModBlocks.block_combine_steel) }); GameRegistry.addRecipe(new ItemStack(ModItems.ingot_plutonium, 1), new Object[] { "###", "###", "###", '#', ModItems.nugget_plutonium }); GameRegistry.addRecipe(new ItemStack(ModItems.nugget_plutonium, 9), new Object[] { "#", '#', ModItems.ingot_plutonium }); @@ -208,9 +215,9 @@ public class CraftingManager { GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_water, 1), new Object[] { ModItems.rod_empty, Items.water_bucket }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_dual_water, 1), new Object[] { ModItems.rod_dual_empty, Items.water_bucket, Items.water_bucket }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_quad_water, 1), new Object[] { ModItems.rod_quad_empty, Items.water_bucket, Items.water_bucket, Items.water_bucket, Items.water_bucket }); - GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_coolant, 1), new Object[] { ModItems.rod_empty, Items.water_bucket, new ItemStack(Items.dye, 1, 4) }); - GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_dual_coolant, 1), new Object[] { ModItems.rod_dual_empty, Items.water_bucket, Items.water_bucket, new ItemStack(Items.dye, 1, 4), new ItemStack(Items.dye, 1, 4) }); - GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_quad_coolant, 1), new Object[] { ModItems.rod_quad_empty, Items.water_bucket, Items.water_bucket, Items.water_bucket, Items.water_bucket, new ItemStack(Items.dye, 1, 4), new ItemStack(Items.dye, 1, 4), new ItemStack(Items.dye, 1, 4), new ItemStack(Items.dye, 1, 4) }); + GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.rod_coolant, 1), new Object[] { ModItems.rod_empty, Items.water_bucket, "dustLapis" })); + GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.rod_dual_coolant, 1), new Object[] { ModItems.rod_dual_empty, Items.water_bucket, Items.water_bucket, "dustLapis", "dustLapis" })); + GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.rod_quad_coolant, 1), new Object[] { ModItems.rod_quad_empty, Items.water_bucket, Items.water_bucket, Items.water_bucket, Items.water_bucket, "dustLapis", "dustLapis", "dustLapis", "dustLapis" })); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_uranium, 6), new Object[] { ModItems.rod_uranium }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_u235, 6), new Object[] { ModItems.rod_u235 }); @@ -295,6 +302,7 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.coil_copper_torus, 2), new Object[] { "PCP", "C C", "PCP", 'P', "plateIron", 'C', ModItems.coil_copper })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.coil_advanced_torus, 2), new Object[] { "PCP", "C C", "PCP", 'P', "plateIron", 'C', ModItems.coil_advanced_alloy })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.coil_tungsten, 1), new Object[] { "WWW", "WIW", "WWW", 'W', ModItems.wire_tungsten, 'I', "ingotIron" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.coil_magnetized_tungsten, 1), new Object[] { "WWW", "WIW", "WWW", 'W', ModItems.wire_magnetized_tungsten, 'I', "ingotIron" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.tank_steel, 1), new Object[] { "STS", "S S", "STS", 'S', "plateSteel", 'T', "plateTitanium" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.motor, 1), new Object[] { " R ", "ICI", "ITI", 'R', ModItems.wire_red_copper, 'T', ModItems.coil_copper_torus, 'I', "plateIron", 'C', ModItems.coil_copper })); GameRegistry.addRecipe(new ItemStack(ModItems.centrifuge_element, 1), new Object[] { " T ", "WTW", "RMR", 'R', ModItems.wire_red_copper, 'T', ModItems.tank_steel, 'M', ModItems.motor, 'W', ModItems.coil_tungsten }); @@ -343,6 +351,13 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.thruster_small, 1), new Object[] { "AS ", "AH ", " L ", 'A', ModItems.wire_aluminium, 'S', "plateSteel", 'H', ModItems.hull_small_steel, 'L', ModItems.hull_small_steel })); GameRegistry.addRecipe(new ItemStack(ModItems.thruster_medium, 1), new Object[] { "AS ", "AH ", " L ", 'A', ModItems.wire_copper, 'S', ModItems.thruster_small, 'H', ModItems.hull_small_steel, 'L', ModItems.hull_big_steel }); GameRegistry.addRecipe(new ItemStack(ModItems.thruster_large, 1), new Object[] { "AS ", "AH ", " L ", 'A', ModItems.wire_red_copper, 'S', ModItems.thruster_medium, 'H', ModItems.hull_big_steel, 'L', ModItems.hull_big_steel }); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.lemon, 1), new Object[] { " D ", "DSD", " D ", 'D', new ItemStack(Items.dye, 1, 11), 'S', "stone" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.chopper_blades, 1), new Object[] { "CCC", "SIS", " I ", 'C', ModItems.plate_combine_steel, 'S', "plateSteel", 'I', ModItems.ingot_combine_steel })); + GameRegistry.addRecipe(new ItemStack(ModItems.chopper_gun, 1), new Object[] { " PI", "WWC", " PM", 'P', ModItems.plate_combine_steel, 'W', ModItems.wire_magnetized_tungsten, 'I', ModItems.ingot_combine_steel, 'C', ModItems.coil_magnetized_tungsten, 'M', ModItems.motor }); + GameRegistry.addRecipe(new ItemStack(ModItems.chopper_head, 1), new Object[] { " GI", "WIB", "WCB", 'G', ModBlocks.reinforced_glass, 'W', ModItems.wire_magnetized_tungsten, 'I', ModItems.ingot_combine_steel, 'C', ModBlocks.fwatz_computer, 'B', ModBlocks.block_combine_steel }); + GameRegistry.addRecipe(new ItemStack(ModItems.chopper_tail, 1), new Object[] { "PPP", "IIM", " PR", 'P', ModItems.plate_combine_steel, 'I', ModItems.ingot_combine_steel, 'M', ModItems.motor, 'R', ModItems.chopper_blades }); + GameRegistry.addRecipe(new ItemStack(ModItems.chopper_torso, 1), new Object[] { "IMI", "MBB", "RCI", 'P', ModItems.plate_combine_steel, 'I', ModItems.ingot_combine_steel, 'M', ModItems.motor, 'B', ModBlocks.block_combine_steel, 'R', ModItems.chopper_blades, 'C', ModBlocks.fwatz_computer }); + GameRegistry.addRecipe(new ItemStack(ModItems.chopper_wing, 1), new Object[] { "III", " PP", " PP", 'P', ModItems.plate_combine_steel, 'I', ModItems.ingot_combine_steel }); GameRegistry.addRecipe(new ItemStack(ModItems.missile_generic, 1), new Object[] { "W", "T", "M", 'W', ModItems.warhead_generic_small, 'T', ModItems.fuel_tank_small, 'M', ModItems.thruster_small }); GameRegistry.addRecipe(new ItemStack(ModItems.missile_incendiary, 1), new Object[] { "W", "T", "M", 'W', ModItems.warhead_incendiary_small, 'T', ModItems.fuel_tank_small, 'M', ModItems.thruster_small }); @@ -380,6 +395,8 @@ public class CraftingManager { GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_converter_rf_he), 1), new Object[] { "SSS", "CRC", "SSS", 'S', ModItems.ingot_beryllium, 'C', ModItems.coil_copper, 'R', ModItems.coil_copper_torus }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_schrabidium_transmutator), 1), new Object[] { "TST", "ARA", "BBB", 'S', ModItems.nugget_schrabidium , 'T', "ingotTitanium", 'A', Item.getItemFromBlock(ModBlocks.factory_advanced_hull), 'R', Item.getItemFromBlock(ModBlocks.machine_reactor), 'B', Item.getItemFromBlock(ModBlocks.machine_battery) })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_diesel), 1), new Object[] { "HTH", "PRP", "SFS", 'S', "ingotSteel", 'T', ModItems.tank_steel, 'H', ModItems.hull_small_steel, 'P', Item.getItemFromBlock(Blocks.piston), 'R', "ingotRedstoneAlloy", 'F', Item.getItemFromBlock(ModBlocks.machine_electric_furnace_off) })); + GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_shredder), 1), new Object[] { "SHS", "MBM", "CFC", 'H', ModItems.hull_big_steel, 'S', ModBlocks.steel_beam, 'M', ModItems.motor, 'B', Blocks.iron_bars, 'C', ModBlocks.red_wire_coated, 'F', Item.getItemFromBlock(ModBlocks.machine_electric_furnace_off) }); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_combine_factory), 1), new Object[] { "HCH", "STS", "RFR", 'H', ModItems.tank_steel, 'C', ModItems.coil_advanced_torus, 'S', "plateSteel", 'T', ModBlocks.block_magnetized_tungsten, 'R', ModItems.wire_red_copper, 'F', Item.getItemFromBlock(ModBlocks.machine_difurnace_off) })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.factory_titanium_hull), 1), new Object[] { "PIP", "I I", "PIP", 'P', "plateTitanium", 'I', "ingotTitanium" })); GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.factory_titanium_furnace), 1), new Object[] { "HMH", "MFM", "HMH", 'H', Item.getItemFromBlock(ModBlocks.factory_titanium_hull), 'M', ModItems.motor, 'F', Item.getItemFromBlock(Blocks.furnace) }); @@ -400,6 +417,21 @@ public class CraftingManager { GameRegistry.addRecipe(new ItemStack(ModItems.singularity, 1), new Object[] { "ESE", "SBS", "ESE", 'E', ModItems.nugget_euphemium, 'S', ModItems.cell_anti_schrabidium, 'B', Item.getItemFromBlock(ModBlocks.block_schrabidium) }); GameRegistry.addRecipe(new ItemStack(ModItems.singularity_counter_resonant, 1), new Object[] { "CTC", "TST", "CTC", 'C', ModItems.plate_combine_steel, 'T', ModItems.ingot_magnetized_tungsten, 'S', ModItems.singularity }); + GameRegistry.addRecipe(new ItemStack(ModItems.singularity_super_heated, 1), new Object[] { "CTC", "TST", "CTC", 'C', ModItems.plate_advanced_alloy, 'T', ModItems.powder_power, 'S', ModItems.singularity }); + GameRegistry.addRecipe(new ItemStack(ModItems.black_hole, 1), new Object[] { "SSS", "SCS", "SSS", 'C', ModItems.singularity, 'S', ModItems.crystal_xen }); + GameRegistry.addRecipe(new ItemStack(ModItems.crystal_xen, 1), new Object[] { "EEE", "EIE", "EEE", 'E', ModItems.powder_power, 'I', ModItems.ingot_euphemium }); + + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.screwdriver, 1), new Object[] { " I", " I ", "S ", 'S', "ingotSteel", 'I', "ingotIron" })); + GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.overfuse, 1), new Object[] { ModItems.screwdriver, "dustNeptunium", ModItems.powder_iodine, ModItems.powder_thorium, ModItems.powder_astatine, ModItems.powder_neodymium, ModItems.flame_pony, ModItems.black_hole, ModItems.blades_schrabidium })); + + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.blades_aluminium, 1), new Object[] { " P ", "PIP", " P ", 'P', "plateAluminum", 'I', "ingotAluminum" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.blades_gold, 1), new Object[] { " P ", "PIP", " P ", 'P', "plateGold", 'I', "ingotGold" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.blades_iron, 1), new Object[] { " P ", "PIP", " P ", 'P', "plateIron", 'I', "ingotIron" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.blades_steel, 1), new Object[] { " P ", "PIP", " P ", 'P', "plateSteel", 'I', "ingotSteel" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.blades_titanium, 1), new Object[] { " P ", "PIP", " P ", 'P', "plateTitanium", 'I', "ingotTitanium" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.blades_advanced_alloy, 1), new Object[] { " P ", "PIP", " P ", 'P', "plateAdvanced", 'I', "ingotAdvanced" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.blades_combine_steel, 1), new Object[] { " P ", "PIP", " P ", 'P', "plateCMBSteel", 'I', "ingotCMBSteel" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.blades_schrabidium, 1), new Object[] { " P ", "PIP", " P ", 'P', "plateSchrabidium", 'I', "ingotSchrabidium" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.reactor_element), 1), new Object[] { "SCS", "CSC", "SCS", 'S', "ingotSteel", 'C', ModItems.rod_quad_empty })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.reactor_control), 1), new Object[] { "SLS", "SLS", "SLS", 'S', "ingotSteel", 'L', "ingotLead" })); @@ -416,15 +448,25 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.watz_element), 2), new Object[] { "TET", "ERE", "TET", 'T', "ingotTungsten", 'R', Item.getItemFromBlock(ModBlocks.fusion_conductor), 'E', Item.getItemFromBlock(ModBlocks.reactor_element) })); GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.watz_control), 2), new Object[] { "TMT", "MWM", "TMT", 'T', ModItems.ingot_advanced_alloy, 'M', Item.getItemFromBlock(ModBlocks.reactor_control), 'W', ModItems.coil_copper_torus }); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.watz_cooler), 1), new Object[] { "SCS", "CNC", "SCS", 'N', "blockSteel", 'C', ModItems.rod_quad_coolant, 'S', ModItems.powder_neptunium })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.watz_cooler), 1), new Object[] { "SCS", "CNC", "SCS", 'N', "blockSteel", 'C', ModItems.rod_quad_coolant, 'S', "dustNetherQuartz" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.watz_end), 1), new Object[] { "TST", "SBS", "TST", 'T', "ingotTungsten", 'S', "ingotSteel", 'B', "blockLead" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.watz_conductor), 1), new Object[] { "TWT", "FNF", "TWT", 'T', "ingotTungsten", 'W', Item.getItemFromBlock(ModBlocks.red_wire_coated), 'F', ModItems.fuse, 'N', "nuggetSchrabidium" })); GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.watz_hatch), 1), new Object[] { "RRR", "RFR", "RRR", 'R', Item.getItemFromBlock(ModBlocks.reinforced_brick), 'F', Item.getItemFromBlock(Blocks.furnace) }); GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.watz_core), 1), new Object[] { "CWC", "CRC", "CWC", 'C', ModItems.circuit_schrabidium, 'W', Item.getItemFromBlock(ModBlocks.watz_conductor), 'R', Item.getItemFromBlock(ModBlocks.block_meteor) }); + + GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.fwatz_conductor), 1), new Object[] { "SSS", "CCC", "SSS", 'S', ModItems.plate_combine_steel, 'C', ModItems.coil_magnetized_tungsten }); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.fwatz_cooler), 1), new Object[] { "IPI", "IPI", "IPI", 'I', "ingotTitanium", 'P', "plateTitanium" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.fwatz_tank), 1), new Object[] { "CGC", "GGG", "CGC", 'C', ModItems.plate_combine_steel, 'G', "paneGlass" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.fwatz_scaffold), 1), new Object[] { "IPI", "P P", "IPI", 'I', "ingotTungsten", 'P', "plateDenseLead" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.fwatz_hatch), 1), new Object[] { "SSS", "SFS", "SSS", 'S', ModBlocks.fwatz_scaffold, 'F', Blocks.furnace })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.fwatz_computer), 1), new Object[] { "DTD", "TMT", "DTD", 'D', "dustDiamond", 'T', "dustMagnetizedTungsten", 'M', ModBlocks.block_meteor })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.fwatz_core), 1), new Object[] { "CMC", "MAM", "CMC", 'C', ModItems.circuit_schrabidium, 'M', ModBlocks.fwatz_computer, 'A', ModBlocks.fwatz_conductor })); - GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.brick_light), 8), new Object[] { "FBF", "BFB", "FBF", 'F', Blocks.fence, 'B', Blocks.brick_block }); - GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.brick_concrete), 8), new Object[] { "FBF", "BFB", "FBF", 'F', Blocks.iron_bars, 'B', Blocks.stone }); - GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.brick_obsidian), 8), new Object[] { "FBF", "BFB", "FBF", 'F', Blocks.iron_bars, 'B', Blocks.obsidian }); + GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.brick_light), 4), new Object[] { "FBF", "BFB", "FBF", 'F', Blocks.fence, 'B', Blocks.brick_block }); + GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.brick_concrete), 4), new Object[] { "FBF", "BFB", "FBF", 'F', Blocks.iron_bars, 'B', Blocks.stone }); + GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.brick_obsidian), 4), new Object[] { "FBF", "BFB", "FBF", 'F', Blocks.iron_bars, 'B', Blocks.obsidian }); + GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.cmb_brick), 4), new Object[] { "PPP", "PIP", "PPP", 'P', ModItems.plate_combine_steel, 'I', ModItems.ingot_combine_steel }); + GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.cmb_brick_reinforced), 8), new Object[] { "TBT", "BCB", "TBT", 'T', ModBlocks.block_magnetized_tungsten, 'B', ModBlocks.brick_concrete, 'C', ModBlocks.cmb_brick }); GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.reinforced_brick), 8), new Object[] { "FBF", "BFB", "FBF", 'F', Blocks.iron_bars, 'B', ModBlocks.brick_concrete }); GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.reinforced_glass), 8), new Object[] { "FBF", "BFB", "FBF", 'F', Blocks.iron_bars, 'B', Blocks.glass }); @@ -442,7 +484,7 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.steel_roof), 2), new Object[] { "SSS", 'S', "ingotSteel" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.steel_scaffold), 8), new Object[] { "SSS", " S ", "SSS", 'S', "ingotSteel" })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_rpg, 1), new Object[] { "SSW", " S ", 'S', "plateSteel", 'W', Item.getItemFromBlock(Blocks.log) })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_rpg, 1), new Object[] { "SSW", " SW", 'S', "plateSteel", 'W', "plateIron" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_rpg_ammo, 8), new Object[] { "SI ", "ITI", " I ", 'S', "plateSteel", 'T', Item.getItemFromBlock(Blocks.tnt), 'I', "plateIron" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_revolver, 1), new Object[] { "SSS", " RW", 'S', "plateSteel", 'W', Item.getItemFromBlock(Blocks.planks), 'R', ModItems.wire_aluminium })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_revolver_ammo, 16), new Object[] { "L", "S", 'L', "plateLead", 'S', Items.gunpowder })); @@ -450,6 +492,11 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_revolver_iron_ammo, 16), new Object[] { "L", "S", 'L', "plateIron", 'S', Items.gunpowder })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_revolver_gold, 1), new Object[] { "SSS", " RW", 'S', "plateGold", 'W', "ingotGold", 'R', ModItems.wire_gold })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_revolver_gold_ammo, 16), new Object[] { "L", "S", 'L', ModItems.plate_gold, 'S', Items.gunpowder })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_revolver_lead, 1), new Object[] { "SSS", " RW", 'S', "plateLead", 'W', "ingotTungsten", 'R', ModItems.wire_tungsten })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_revolver_lead_ammo, 16), new Object[] { "L", "S", 'L', "paneGlass", 'S', ModItems.ingot_u235 })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_revolver_lead_ammo, 16), new Object[] { "L", "S", 'L', "paneGlass", 'S', ModItems.ingot_pu239 })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_revolver_lead_ammo, 16), new Object[] { "L", "S", 'L', "paneGlass", 'S', ModItems.nuclear_waste })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_revolver_lead_ammo, 16), new Object[] { "L", "S", 'L', "paneGlass", 'S', ModItems.trinitite })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_revolver_schrabidium, 1), new Object[] { "SSS", " RW", 'S', ModItems.plate_schrabidium, 'W', "ingotTungsten", 'R', ModItems.wire_schrabidium })); GameRegistry.addRecipe(new ItemStack(ModItems.gun_revolver_schrabidium_ammo, 16), new Object[] { "L", "S", 'L', ModItems.plate_schrabidium, 'S', Items.gunpowder }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_revolver_cursed, 1), new Object[] { "TTM", "SRI", 'S', "plateSteel", 'I', "ingotSteel", 'R', ModItems.wire_red_copper, 'T', "plateTitanium", 'M', ModItems.motor })); @@ -463,6 +510,13 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_xvl1456_ammo, 16), new Object[] { "SRS", 'S', "plateSteel", 'R', ModItems.rod_uranium_fuel_depleted })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_xvl1456_ammo, 16), new Object[] { " S ", " R ", " S ", 'S', "plateSteel", 'R', "U238" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_xvl1456_ammo, 16), new Object[] { "SRS", 'S', "plateSteel", 'R', "U238" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_osipr, 1), new Object[] { "CCT", "WWI", "MCC", 'C', ModItems.plate_combine_steel, 'T', "ingotTungsten", 'W', ModItems.wire_magnetized_tungsten, 'I', ModItems.ingot_magnetized_tungsten, 'M', ModItems.coil_magnetized_tungsten })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_osipr_ammo, 16), new Object[] { "G", "R", "S", 'G', "dustGlowstone", 'R', "dustRedstone", 'S', "plateSteel" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_osipr_ammo, 16), new Object[] { "R", "G", "S", 'G', "dustGlowstone", 'R', "dustRedstone", 'S', "plateSteel" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_osipr_ammo2, 1), new Object[] { " C ", "PPP", " C ", 'C', ModItems.plate_combine_steel, 'P', ModItems.powder_power })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_zomg, 1), new Object[] { "PRR", "CCS", "PXX", 'P', ModItems.plate_paa, 'R', "plateDenseLead", 'S', ModItems.singularity_counter_resonant, 'X', ModItems.crystal_xen, 'C', ModItems.coil_magnetized_tungsten})); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_mp, 1), new Object[] { "EEE", "SSM", "III", 'E', ModItems.ingot_euphemium, 'S', "plateSteel", 'I', "ingotSteel", 'M', ModItems.motor})); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_mp_ammo, 32), new Object[] { "G", "C", 'G', "plateGold", 'C', "plateCopper", 'S', Items.gunpowder })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.grenade_generic, 4), new Object[] { "RS ", "ITI", " I ", 'I', "plateIron", 'R', ModItems.wire_red_copper, 'S', "plateSteel", 'T', Item.getItemFromBlock(Blocks.tnt) })); GameRegistry.addRecipe(new ItemStack(ModItems.grenade_strong, 2), new Object[] { " G ", "SGS", " S ", 'G', ModItems.grenade_generic, 'S', Items.gunpowder }); @@ -475,8 +529,13 @@ public class CraftingManager { GameRegistry.addRecipe(new ItemStack(ModItems.grenade_gas, 2), new Object[] { " G ", "CGC", " C ", 'G', ModItems.grenade_generic, 'C', ModItems.pellet_gas }); GameRegistry.addRecipe(new ItemStack(ModItems.grenade_schrabidium, 2), new Object[] { " G ", "CFC", " C ", 'G', ModItems.grenade_generic, 'C', ModItems.ingot_schrabidium, 'F', ModItems.grenade_flare }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.grenade_nuclear, 1), new Object[] {"RS ", "ITI", " I ", 'I', "plateIron", 'R', ModItems.wire_red_copper, 'S', "plateSteel", 'T', ModItems.gun_fatman_ammo })); - GameRegistry.addRecipe(new ItemStack(ModItems.grenade_plasma, 2), new Object[] { " G ", "SGS", " S ", 'G', ModItems.grenade_generic, 'S', ModItems.wire_advanced_alloy }); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.grenade_plasma, 1), new Object[] {"RS ", "ICI", "TID", 'I', "plateIron", 'R', ModItems.wire_red_copper, 'S', "plateSteel", 'C', ModItems.coil_advanced_torus, 'D', ModItems.cell_deuterium, 'T', ModItems.cell_tritium })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.grenade_tau, 1), new Object[] {"RS ", "ITI", "UIU", 'I', "plateLead", 'R', ModItems.wire_red_copper, 'S', "plateAdvanced", 'T', ModItems.coil_advanced_torus, 'U', ModItems.gun_xvl1456_ammo })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.grenade_zomg, 1), new Object[] {"RC ", "PXP", "NPN", 'P', ModItems.plate_paa, 'R', ModItems.wire_red_copper, 'C', "plateCMBSteel", 'X', ModItems.crystal_xen, 'N', ModItems.powder_power })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.grenade_aschrab, 1), new Object[] {"RS ", "ITI", " S ", 'I', "paneGlassColorless", 'R', ModItems.wire_red_copper, 'S', "plateSteel", 'T', ModItems.cell_anti_schrabidium })); + GameRegistry.addRecipe(new ItemStack(ModItems.grenade_mk2, 2), new Object[] { " G ", "SGS", " S ", 'G', ModItems.grenade_strong, 'S', Items.gunpowder }); + GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.grenade_lemon, 1), new Object[] { ModItems.lemon, ModItems.grenade_strong })); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.gun_moist_nugget, 12), new Object[] { Items.bread, Items.wheat, Items.cooked_chicken, Items.egg }); GameRegistry.addRecipe(new ItemStack(ModItems.bomb_waffle, 1), new Object[] { "WEW", "MPM", "WEW", 'W', Items.wheat, 'E', Items.egg, 'M', Items.milk_bucket, 'P', ModItems.man_core }); GameRegistry.addRecipe(new ItemStack(ModItems.schnitzel_vegan, 3), new Object[] { "RWR", "WPW", "RWR", 'W', ModItems.nuclear_waste, 'R', Items.reeds, 'P', Items.pumpkin_seeds }); @@ -572,8 +631,8 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.battery_advanced, 1, 200), new Object[] { " A ", "PLP", "PSP", 'A', ModItems.wire_red_copper, 'P', "plateCopper", 'S', "sulfur", 'L', "dustLead" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.battery_advanced, 1, 200), new Object[] { " A ", "PSP", "PLP", 'A', ModItems.wire_red_copper, 'P', "plateCopper", 'S', "dustSulfur", 'L', "dustLead" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.battery_advanced, 1, 200), new Object[] { " A ", "PLP", "PSP", 'A', ModItems.wire_red_copper, 'P', "plateCopper", 'S', "dustSulfur", 'L', "dustLead" })); - GameRegistry.addRecipe(new ItemStack(ModItems.battery_schrabidium, 1, 1000), new Object[] { " A ", "PNP", "PSP", 'A', ModItems.wire_schrabidium, 'P', ModItems.plate_schrabidium, 'S', ModItems.powder_schrabidium, 'N', ModItems.powder_neptunium }); - GameRegistry.addRecipe(new ItemStack(ModItems.battery_schrabidium, 1, 1000), new Object[] { " A ", "PSP", "PNP", 'A', ModItems.wire_schrabidium, 'P', ModItems.plate_schrabidium, 'S', ModItems.powder_schrabidium, 'N', ModItems.powder_neptunium }); + GameRegistry.addRecipe(new ItemStack(ModItems.battery_schrabidium, 1, 10000), new Object[] { " A ", "PNP", "PSP", 'A', ModItems.wire_schrabidium, 'P', ModItems.plate_schrabidium, 'S', ModItems.powder_schrabidium, 'N', ModItems.powder_neptunium }); + GameRegistry.addRecipe(new ItemStack(ModItems.battery_schrabidium, 1, 10000), new Object[] { " A ", "PSP", "PNP", 'A', ModItems.wire_schrabidium, 'P', ModItems.plate_schrabidium, 'S', ModItems.powder_schrabidium, 'N', ModItems.powder_neptunium }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.energy_core, 1), new Object[] { "PCW", "TRD", "PCW", 'P', ModItems.plate_advanced_alloy, 'C', ModItems.coil_advanced_alloy, 'W', ModItems.wire_advanced_alloy, 'R', ModItems.cell_tritium, 'D', ModItems.cell_deuterium, 'T', "ingotTungsten" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.energy_core, 1), new Object[] { "PCW", "TDR", "PCW", 'P', ModItems.plate_advanced_alloy, 'C', ModItems.coil_advanced_alloy, 'W', ModItems.wire_advanced_alloy, 'R', ModItems.cell_tritium, 'D', ModItems.cell_deuterium, 'T', "ingotTungsten" })); @@ -612,19 +671,32 @@ public class CraftingManager { GameRegistry.addRecipe(new ItemStack(ModItems.alloy_pickaxe, 1), new Object[] { "III", " S ", " S ", 'I', ModItems.ingot_advanced_alloy, 'S', Items.stick }); GameRegistry.addRecipe(new ItemStack(ModItems.alloy_axe, 1), new Object[] { "II", "IS", " S", 'I', ModItems.ingot_advanced_alloy, 'S', Items.stick }); GameRegistry.addRecipe(new ItemStack(ModItems.alloy_shovel, 1), new Object[] { "I", "S", "S", 'I', ModItems.ingot_advanced_alloy, 'S', Items.stick }); - GameRegistry.addRecipe(new ItemStack(ModItems.alloy_hoe, 1), new Object[] { "II", " S", " S", 'I', ModItems.ingot_advanced_alloy, 'S', Items.stick }); + GameRegistry.addRecipe(new ItemStack(ModItems.alloy_hoe, 1), new Object[] { "II", " S", " S", 'I', ModItems.ingot_combine_steel, 'S', Items.stick }); + GameRegistry.addRecipe(new ItemStack(ModItems.cmb_helmet, 1), new Object[] { "EEE", "E E", 'E', ModItems.ingot_combine_steel }); + GameRegistry.addRecipe(new ItemStack(ModItems.cmb_plate, 1), new Object[] { "E E", "EEE", "EEE", 'E', ModItems.ingot_combine_steel }); + GameRegistry.addRecipe(new ItemStack(ModItems.cmb_legs, 1), new Object[] { "EEE", "E E", "E E", 'E', ModItems.ingot_combine_steel }); + GameRegistry.addRecipe(new ItemStack(ModItems.cmb_boots, 1), new Object[] { "E E", "E E", 'E', ModItems.ingot_combine_steel }); + GameRegistry.addRecipe(new ItemStack(ModItems.cmb_sword, 1), new Object[] { "I", "I", "S", 'I', ModItems.ingot_combine_steel, 'S', Items.stick }); + GameRegistry.addRecipe(new ItemStack(ModItems.cmb_pickaxe, 1), new Object[] { "III", " S ", " S ", 'I', ModItems.ingot_combine_steel, 'S', Items.stick }); + GameRegistry.addRecipe(new ItemStack(ModItems.cmb_axe, 1), new Object[] { "II", "IS", " S", 'I', ModItems.ingot_combine_steel, 'S', Items.stick }); + GameRegistry.addRecipe(new ItemStack(ModItems.cmb_shovel, 1), new Object[] { "I", "S", "S", 'I', ModItems.ingot_combine_steel, 'S', Items.stick }); + GameRegistry.addRecipe(new ItemStack(ModItems.cmb_hoe, 1), new Object[] { "II", " S", " S", 'I', ModItems.ingot_combine_steel, 'S', Items.stick }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.chainsaw, 1), new Object[] { "TTG", "SSM", 'T', "plateIron", 'S', "plateSteel", 'M', ModItems.motor, 'G', ModItems.circuit_gold })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.tank_waste, 1), new Object[] { "PTP", "PTP", "PTP", 'T', ModItems.tank_steel, 'P', "plateSteel" })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.hazmat_helmet, 1), new Object[] { "EEE", "EIE", " P ", 'E', ModItems.hazmat_cloth, 'I', Item.getItemFromBlock(Blocks.glass_pane), 'P', "plateSteel" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.hazmat_helmet, 1), new Object[] { "EEE", "EIE", "FPF", 'E', ModItems.hazmat_cloth, 'I', "paneGlass", 'P', "plateSteel", 'F', ModItems.filter_coal })); GameRegistry.addRecipe(new ItemStack(ModItems.hazmat_plate, 1), new Object[] { "E E", "EEE", "EEE", 'E', ModItems.hazmat_cloth }); GameRegistry.addRecipe(new ItemStack(ModItems.hazmat_legs, 1), new Object[] { "EEE", "E E", "E E", 'E', ModItems.hazmat_cloth }); GameRegistry.addRecipe(new ItemStack(ModItems.hazmat_boots, 1), new Object[] { "E E", "E E", 'E', ModItems.hazmat_cloth }); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.hazmat_paa_helmet, 1), new Object[] { "EEE", "IEI", "FPF", 'E', ModItems.plate_paa, 'I', "paneGlass", 'P', "plateSteel", 'F', ModItems.filter_coal })); + GameRegistry.addRecipe(new ItemStack(ModItems.hazmat_paa_plate, 1), new Object[] { "E E", "EEE", "EEE", 'E', ModItems.plate_paa }); + GameRegistry.addRecipe(new ItemStack(ModItems.hazmat_paa_legs, 1), new Object[] { "EEE", "E E", "E E", 'E', ModItems.plate_paa }); + GameRegistry.addRecipe(new ItemStack(ModItems.hazmat_paa_boots, 1), new Object[] { "E E", "E E", 'E', ModItems.plate_paa }); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.goggles, 1), new Object[] { "P P", "GPG", 'G', Item.getItemFromBlock(Blocks.glass_pane), 'P', "plateSteel" })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gas_mask, 1), new Object[] { "PPP", "GPG", " P ", 'G', Item.getItemFromBlock(Blocks.glass_pane), 'P', "plateSteel" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.goggles, 1), new Object[] { "P P", "GPG", 'G', "paneGlass", 'P', "plateSteel" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gas_mask, 1), new Object[] { "PPP", "GPG", "FPF", 'G', "paneGlass", 'P', "plateSteel", 'F', ModItems.filter_coal })); GameRegistry.addRecipe(new ItemStack(ModItems.cape_radiation, 1), new Object[] { "W W", "WIW", "WDW", 'W', new ItemStack(Item.getItemFromBlock(Blocks.wool), 1, 11), 'D', new ItemStack(Items.dye, 1, 11), 'I', ModItems.nuclear_waste }); GameRegistry.addRecipe(new ItemStack(ModItems.cape_gasmask, 1), new Object[] { "W W", "WIW", "WDW", 'W', new ItemStack(Item.getItemFromBlock(Blocks.wool), 1, 4), 'D', new ItemStack(Items.dye, 1, 0), 'I', ModItems.gas_mask }); @@ -635,7 +707,7 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.igniter, 1), new Object[] { " W", "SC", "CE", 'S', "plateSteel", 'W', ModItems.wire_schrabidium, 'C', ModItems.circuit_schrabidium, 'E', ModItems.ingot_euphemium })); GameRegistry.addRecipe(new ItemStack(ModItems.euphemium_helmet, 1), new Object[] { "EEE", "E E", 'E', ModItems.ingot_euphemium }); - GameRegistry.addRecipe(new ItemStack(ModItems.euphemium_plate, 1), new Object[] { "E E", "EWE", "EEE", 'E', ModItems.ingot_euphemium, 'W', ModItems.watch }); + GameRegistry.addRecipe(new ItemStack(ModItems.euphemium_plate, 1), new Object[] { "EWE", "EEE", "EEE", 'E', ModItems.ingot_euphemium, 'W', ModItems.watch }); GameRegistry.addRecipe(new ItemStack(ModItems.euphemium_legs, 1), new Object[] { "EEE", "E E", "E E", 'E', ModItems.ingot_euphemium }); GameRegistry.addRecipe(new ItemStack(ModItems.euphemium_boots, 1), new Object[] { "E E", "E E", 'E', ModItems.ingot_euphemium }); GameRegistry.addRecipe(new ItemStack(ModItems.watch, 1), new Object[] { "LEL", "EWE", "LEL", 'E', ModItems.ingot_euphemium, 'L', new ItemStack(Items.dye, 1, 4), 'W', Items.clock }); @@ -648,26 +720,73 @@ public class CraftingManager { GameRegistry.addRecipe(new ItemStack(ModItems.euphemium_stopper, 1), new Object[] { "I", "S", "S", 'I', ModItems.ingot_euphemium, 'S', Items.stick }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.matchstick, 16), new Object[] { "I", "S", 'I', "sulfur", 'S', Items.stick })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.matchstick, 16), new Object[] { "I", "S", 'I', "dustSulfur", 'S', Items.stick })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.remote, 1), new Object[] { "I", "S", 'I', "dustRedstone", 'S', "plateIron" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.crowbar, 1), new Object[] { "II", " I", " I", 'I', "ingotSteel" })); + + GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.powder_power, 5), new Object[] { "dustRedstone", "dustGlowstone", "dustDiamond", "dustNeptunium", "dustMagnetizedTungsten" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Items.coal, 1), new Object[] { "#", '#', "dustCoal" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Items.quartz, 1), new Object[] { "#", '#', "dustQuartz" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Items.quartz, 1), new Object[] { "#", '#', "dustNetherQuartz" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Items.dye, 1, 4), new Object[] { "#", '#', "dustLapis" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Items.diamond, 1), new Object[] { "#", '#', "dustDiamond" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Items.emerald, 1), new Object[] { "#", '#', "dustEmerald" })); + if(MainRegistry.enableNITAN) + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.canister_NITAN, 1), new Object[] { ModItems.canister_empty, ModItems.canister_napalm, ModItems.powder_neptunium, ModItems.powder_iodine, ModItems.powder_thorium, ModItems.powder_astatine, ModItems.powder_neodymium }); + + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.record_lc, 1), new Object[] { " S ", "SDS", " S ", 'S', "ingotSteel", 'D', "dustLapis" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.record_ss, 1), new Object[] { " S ", "SDS", " S ", 'S', "ingotSteel", 'D', "dustAdvanced" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.record_vc, 1), new Object[] { " S ", "SDS", " S ", 'S', "ingotSteel", 'D', "dustCMBSteel" })); + + GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.powder_advanced_alloy, 4), new Object[] { "dustRedstone", "dustIron", "dustCoal", "dustCopper" })); + GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.powder_advanced_alloy, 3), new Object[] { "dustIron", "dustCoal", "dustRedstoneAlloy" })); + GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.powder_advanced_alloy, 3), new Object[] { "dustRedstone", "dustSteel", "dustCopper" })); + GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.powder_advanced_alloy, 2), new Object[] { "dustRedstoneAlloy", "dustSteel" })); + GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.powder_magnetized_tungsten, 1), new Object[] { "dustTungsten", "nuggetSchrabidium" })); + GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.powder_red_copper, 2), new Object[] { "dustRedstone", "dustCopper" })); + GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.powder_steel, 2), new Object[] { "dustIron", "dustCoal" })); + GameRegistry.addRecipe(new ItemStack(ModItems.chopper, 1), new Object[] { "BBB", "HTF", "GWW", 'B', ModItems.chopper_blades, 'H', ModItems.chopper_head, 'T', ModItems.chopper_torso, 'F', ModItems.chopper_tail, 'G', ModItems.chopper_gun, 'W', ModItems.chopper_wing }); } public static void AddSmeltingRec() { GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_uranium), new ItemStack(ModItems.ingot_uranium), 6.0F); + GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_nether_uranium), new ItemStack(ModItems.ingot_uranium), 12.0F); + GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_nether_plutonium), new ItemStack(ModItems.ingot_plutonium), 24.0F); GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_titanium), new ItemStack(ModItems.ingot_titanium), 3.0F); GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_copper), new ItemStack(ModItems.ingot_copper), 2.5F); GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_tungsten), new ItemStack(ModItems.ingot_tungsten), 6.0F); + GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_nether_tungsten), new ItemStack(ModItems.ingot_tungsten), 12.0F); GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_aluminium), new ItemStack(ModItems.ingot_aluminium), 2.5F); GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_lead), new ItemStack(ModItems.ingot_lead), 3.0F); GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_beryllium), new ItemStack(ModItems.ingot_beryllium), 2.0F); - GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_schrabidium), new ItemStack(ModItems.ingot_schrabidium), 126.0F); + GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_schrabidium), new ItemStack(ModItems.ingot_schrabidium), 128.0F); + GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_nether_schrabidium), new ItemStack(ModItems.ingot_schrabidium), 256.0F); GameRegistry.addSmelting(ModItems.powder_lead, new ItemStack(ModItems.ingot_lead), 1.0F); GameRegistry.addSmelting(ModItems.powder_neptunium, new ItemStack(ModItems.ingot_neptunium), 1.0F); GameRegistry.addSmelting(ModItems.powder_schrabidium, new ItemStack(ModItems.ingot_schrabidium), 5.0F); + GameRegistry.addSmelting(ModItems.powder_aluminium, new ItemStack(ModItems.ingot_aluminium), 1.0F); + GameRegistry.addSmelting(ModItems.powder_beryllium, new ItemStack(ModItems.ingot_beryllium), 1.0F); + GameRegistry.addSmelting(ModItems.powder_copper, new ItemStack(ModItems.ingot_copper), 1.0F); + GameRegistry.addSmelting(ModItems.powder_gold, new ItemStack(Items.gold_ingot), 1.0F); + GameRegistry.addSmelting(ModItems.powder_iron, new ItemStack(Items.iron_ingot), 1.0F); + GameRegistry.addSmelting(ModItems.powder_titanium, new ItemStack(ModItems.ingot_titanium), 1.0F); + GameRegistry.addSmelting(ModItems.powder_tungsten, new ItemStack(ModItems.ingot_tungsten), 1.0F); + GameRegistry.addSmelting(ModItems.powder_uranium, new ItemStack(ModItems.ingot_uranium), 1.0F); + GameRegistry.addSmelting(ModItems.powder_plutonium, new ItemStack(ModItems.ingot_plutonium), 1.0F); + GameRegistry.addSmelting(ModItems.powder_advanced_alloy, new ItemStack(ModItems.ingot_advanced_alloy), 1.0F); + GameRegistry.addSmelting(ModItems.powder_combine_steel, new ItemStack(ModItems.ingot_combine_steel), 1.0F); + GameRegistry.addSmelting(ModItems.powder_magnetized_tungsten, new ItemStack(ModItems.ingot_magnetized_tungsten), 1.0F); + GameRegistry.addSmelting(ModItems.powder_red_copper, new ItemStack(ModItems.ingot_red_copper), 1.0F); + GameRegistry.addSmelting(ModItems.powder_steel, new ItemStack(ModItems.ingot_steel), 1.0F); + GameRegistry.addSmelting(ModItems.powder_lithium, new ItemStack(ModItems.lithium), 1.0F); + + GameRegistry.addSmelting(ModItems.combine_scrap, new ItemStack(ModItems.ingot_combine_steel), 1.0F); + GameRegistry.addSmelting(ModItems.tank_waste, new ItemStack(ModItems.tank_waste), 0.0F); - GameRegistry.addSmelting(Items.bone, new ItemStack(Items.slime_ball, 3), 1.5F); - GameRegistry.addSmelting(new ItemStack(Items.dye, 1, 15), new ItemStack(Items.slime_ball, 1), 0.5F); - GameRegistry.addSmelting(ModItems.tank_waste, new ItemStack(ModItems.tank_waste), 0); + GameRegistry.addSmelting(Items.bone, new ItemStack(Items.slime_ball, 3), 0.0F); + GameRegistry.addSmelting(new ItemStack(Items.dye, 1, 15), new ItemStack(Items.slime_ball, 1), 0.0F); + GameRegistry.addSmelting(new ItemStack(Blocks.gravel, 1), new ItemStack(Blocks.cobblestone, 1), 0.0F); } } diff --git a/com/hbm/main/MainRegistry.java b/com/hbm/main/MainRegistry.java index c2990d68a..1cae1107a 100644 --- a/com/hbm/main/MainRegistry.java +++ b/com/hbm/main/MainRegistry.java @@ -29,6 +29,8 @@ import com.hbm.entity.EntityBullet; import com.hbm.entity.EntityChopperMine; import com.hbm.entity.EntityCloudFleija; import com.hbm.entity.EntityCombineBall; +import com.hbm.entity.EntityFalloutRain; +import com.hbm.entity.EntityGrenadeASchrab; import com.hbm.entity.EntityGrenadeCluster; import com.hbm.entity.EntityGrenadeElectric; import com.hbm.entity.EntityGrenadeFire; @@ -45,6 +47,7 @@ import com.hbm.entity.EntityGrenadePoison; import com.hbm.entity.EntityGrenadeSchrabidium; import com.hbm.entity.EntityGrenadeStrong; import com.hbm.entity.EntityGrenadeTau; +import com.hbm.entity.EntityGrenadeZOMG; import com.hbm.entity.EntityHunterChopper; import com.hbm.entity.EntityMiniNuke; import com.hbm.entity.EntityMirv; @@ -67,6 +70,7 @@ import com.hbm.entity.EntityMissileRain; import com.hbm.entity.EntityMissileStrong; import com.hbm.entity.EntityNuclearCreeper; import com.hbm.entity.EntityNukeCloudBig; +import com.hbm.entity.EntityNukeCloudNoShroom; import com.hbm.entity.EntityNukeCloudSmall; import com.hbm.entity.EntityNukeExplosion; import com.hbm.entity.EntityNukeExplosionAdvanced; @@ -161,6 +165,7 @@ public class MainRegistry public static ToolMaterial enumToolMaterialSteel = EnumHelper.addToolMaterial("STEEL", 2, 500, 7.5F, 2.0F, 10); public static ToolMaterial enumToolMaterialTitanium = EnumHelper.addToolMaterial("TITANIUM", 3, 750, 9.0F, 2.5F, 15); public static ToolMaterial enumToolMaterialAlloy= EnumHelper.addToolMaterial("ALLOY", 3, 2000, 15.0F, 5.0F, 5); + public static ToolMaterial enumToolMaterialCmb = EnumHelper.addToolMaterial("CMB", 3, 8500, 40.0F, 50F, 100); //Armor Materials public static ArmorMaterial enumArmorMaterialEmerald = EnumHelper.addArmorMaterial("TEST", 2500, new int[] {3, 8, 6, 3}, 30); @@ -170,7 +175,9 @@ public class MainRegistry public static ArmorMaterial enumArmorMaterialT45 = EnumHelper.addArmorMaterial("T45", 1000, new int[] {2, 5, 4, 1}, 0); public static ArmorMaterial enumArmorMaterialSteel = EnumHelper.addArmorMaterial("STEEL", 20, new int[] {2, 6, 5, 2}, 5); public static ArmorMaterial enumArmorMaterialTitanium = EnumHelper.addArmorMaterial("TITANIUM", 25, new int[] {3, 8, 6, 3}, 9); - public static ArmorMaterial enumArmorMaterialAlloy = EnumHelper.addArmorMaterial("ALLOY", 50, new int[] {3, 8, 6, 3}, 12); + public static ArmorMaterial enumArmorMaterialAlloy = EnumHelper.addArmorMaterial("ALLOY", 40, new int[] {3, 8, 6, 3}, 12); + public static ArmorMaterial enumArmorMaterialPaa = EnumHelper.addArmorMaterial("PAA", 75, new int[] {3, 8, 6, 3}, 25); + public static ArmorMaterial enumArmorMaterialCmb = EnumHelper.addArmorMaterial("CMB", 60, new int[] {3, 8, 6, 3}, 50); //Creative Tabs public static CreativeTabs tabTest = new TestTab(CreativeTabs.getNextID(), "tabTest"); @@ -180,9 +187,12 @@ public class MainRegistry public static boolean enableDebugMode = true; public static boolean enableMycelium = false; + public static boolean enablePlutoniumOre = false; public static boolean enableDungeons = true; public static boolean enableMDOres = true; public static boolean enableBarrels = false; + public static boolean enableNITAN = true; + public static boolean enableNukeClouds = true; public static int uraniumSpawn = 7; public static int titaniumSpawn = 8; public static int sulfurSpawn = 5; @@ -238,6 +248,8 @@ public class MainRegistry Library.superuser.add("3af1c262-61c0-4b12-a4cb-424cc3a9c8c0"); Library.superuser.add("4729b498-a81c-42fd-8acd-20d6d9f759e0"); Library.superuser.add("c3f5e449-6d8c-4fe3-acc9-47ef50e7e7ae"); + + Library.initBooks(); enumArmorMaterialSchrabidium.customCraftingMaterial = ModItems.ingot_schrabidium; enumArmorMaterialHazmat.customCraftingMaterial = ModItems.hazmat_cloth; @@ -245,12 +257,15 @@ public class MainRegistry enumArmorMaterialTitanium.customCraftingMaterial = ModItems.ingot_titanium; enumArmorMaterialSteel.customCraftingMaterial = ModItems.ingot_steel; enumArmorMaterialAlloy.customCraftingMaterial = ModItems.ingot_advanced_alloy; + enumArmorMaterialPaa.customCraftingMaterial = ModItems.plate_paa; + enumArmorMaterialCmb.customCraftingMaterial = ModItems.ingot_combine_steel; enumToolMaterialSchrabidium.setRepairItem(new ItemStack(ModItems.ingot_schrabidium)); enumToolMaterialHammer.setRepairItem(new ItemStack(Item.getItemFromBlock(ModBlocks.block_schrabidium))); enumToolMaterialChainsaw.setRepairItem(new ItemStack(ModItems.ingot_steel)); enumToolMaterialTitanium.setRepairItem(new ItemStack(ModItems.ingot_titanium)); enumToolMaterialSteel.setRepairItem(new ItemStack(ModItems.ingot_steel)); enumToolMaterialAlloy.setRepairItem(new ItemStack(ModItems.ingot_advanced_alloy)); + enumToolMaterialCmb.setRepairItem(new ItemStack(ModItems.ingot_combine_steel)); NetworkRegistry.INSTANCE.registerGuiHandler(instance, new GUIHandler()); GameRegistry.registerTileEntity(TileEntityTestBombAdvanced.class, "tilentity_testbombadvanced"); @@ -352,9 +367,13 @@ public class MainRegistry EntityRegistry.registerModEntity(EntityGrenadeLemon.class, "entity_grenade_lemon", 46, this, 500, 1, true); EntityRegistry.registerModEntity(EntityCloudFleija.class, "entity_cloud_fleija", 47, this, 500, 1, true); EntityRegistry.registerModEntity(EntityGrenadeMk2.class, "entity_grenade_mk2", 48, this, 500, 1, true); - + EntityRegistry.registerModEntity(EntityGrenadeZOMG.class, "entity_grenade_zomg", 49, this, 500, 1, true); + EntityRegistry.registerModEntity(EntityGrenadeASchrab.class, "entity_grenade_aschrab", 50, this, 500, 1, true); + EntityRegistry.registerModEntity(EntityNukeCloudNoShroom.class, "entity_nuke_cloud_no", 51, this, 1000, 1, true); + EntityRegistry.registerModEntity(EntityFalloutRain.class, "entity_fallout", 52, this, 1000, 1, true); + EntityRegistry.registerGlobalEntityID(EntityNuclearCreeper.class, "entity_mob_nuclear_creeper", EntityRegistry.findGlobalUniqueEntityId(), 0x204131, 0x75CE00); - EntityRegistry.registerGlobalEntityID(EntityHunterChopper.class, "entity_mob_hunter_chopper", EntityRegistry.findGlobalUniqueEntityId(), 0xffffff, 0xffffff); + EntityRegistry.registerGlobalEntityID(EntityHunterChopper.class, "entity_mob_hunter_chopper", EntityRegistry.findGlobalUniqueEntityId(), 0x000020, 0x2D2D72); } @EventHandler @@ -378,9 +397,6 @@ public class MainRegistry OreDictionary.registerOre("dustSulfur", ModItems.sulfur); OreDictionary.registerOre("dustNiter", ModItems.niter); OreDictionary.registerOre("dustSalpeter", ModItems.niter); - OreDictionary.registerOre("sulfur", ModItems.sulfur); - OreDictionary.registerOre("niter", ModItems.niter); - OreDictionary.registerOre("salpeter", ModItems.niter); OreDictionary.registerOre("dustLead", ModItems.powder_lead); OreDictionary.registerOre("dustNeptunium", ModItems.powder_neptunium); OreDictionary.registerOre("ingotCopper", ModItems.ingot_copper); @@ -421,9 +437,12 @@ public class MainRegistry OreDictionary.registerOre("plateIron", ModItems.plate_iron); OreDictionary.registerOre("plateGold", ModItems.plate_gold); OreDictionary.registerOre("plateAdvanced", ModItems.plate_advanced_alloy); + OreDictionary.registerOre("plateSchrabidium", ModItems.plate_schrabidium); + OreDictionary.registerOre("plateCMBSteel", ModItems.plate_combine_steel); OreDictionary.registerOre("dustIron", ModItems.powder_iron); OreDictionary.registerOre("dustGold", ModItems.powder_gold); OreDictionary.registerOre("dustUranium", ModItems.powder_uranium); + OreDictionary.registerOre("dustPlutonium", ModItems.powder_plutonium); OreDictionary.registerOre("dustTitanium", ModItems.powder_titanium); OreDictionary.registerOre("dustTungsten", ModItems.powder_tungsten); OreDictionary.registerOre("dustCopper", ModItems.powder_copper); @@ -434,6 +453,7 @@ public class MainRegistry OreDictionary.registerOre("dustLapis", ModItems.powder_lapis); OreDictionary.registerOre("dustCoal", ModItems.powder_coal); OreDictionary.registerOre("dustAdvanced", ModItems.powder_advanced_alloy); + OreDictionary.registerOre("dustAdvancedAlloy", ModItems.powder_advanced_alloy); OreDictionary.registerOre("dustCMBSteel", ModItems.powder_combine_steel); OreDictionary.registerOre("dustMagnetizedTungsten", ModItems.powder_magnetized_tungsten); OreDictionary.registerOre("dustRedAlloy", ModItems.powder_red_copper); @@ -457,6 +477,12 @@ public class MainRegistry OreDictionary.registerOre("oreLead", ModBlocks.ore_lead); OreDictionary.registerOre("oreBeryllium", ModBlocks.ore_beryllium); + OreDictionary.registerOre("oreUranium", ModBlocks.ore_nether_uranium); + OreDictionary.registerOre("orePlutonium", ModBlocks.ore_nether_plutonium); + OreDictionary.registerOre("oreTungsten", ModBlocks.ore_nether_tungsten); + OreDictionary.registerOre("oreSulfur", ModBlocks.ore_nether_sulfur); + OreDictionary.registerOre("oreSchrabidium", ModBlocks.ore_nether_schrabidium); + OreDictionary.registerOre("blockUranium", ModBlocks.block_uranium); OreDictionary.registerOre("blockTitanium", ModBlocks.block_titanium); OreDictionary.registerOre("blockSulfur", ModBlocks.block_sulfur); @@ -491,7 +517,6 @@ public class MainRegistry recipes.overridePreSetRecipe(new ItemStack(ModItems.scrap), new ItemStack(ModItems.dust)); recipes.overridePreSetRecipe(new ItemStack(ModItems.dust), new ItemStack(ModItems.dust)); recipes.overridePreSetRecipe(new ItemStack(Blocks.glowstone), new ItemStack(Items.glowstone_dust, 4)); - recipes.overridePreSetRecipe(new ItemStack(Items.dye, 1, 4), new ItemStack(ModItems.powder_lapis)); recipes.overridePreSetRecipe(new ItemStack(Blocks.quartz_block, 1, 0), new ItemStack(ModItems.powder_quartz, 4)); recipes.overridePreSetRecipe(new ItemStack(Blocks.quartz_block, 1, 1), new ItemStack(ModItems.powder_quartz, 4)); recipes.overridePreSetRecipe(new ItemStack(Blocks.quartz_block, 1, 2), new ItemStack(ModItems.powder_quartz, 4)); @@ -499,6 +524,39 @@ public class MainRegistry recipes.overridePreSetRecipe(new ItemStack(Blocks.stone_slab, 1, 7), new ItemStack(ModItems.powder_quartz, 2)); recipes.overridePreSetRecipe(new ItemStack(Items.quartz), new ItemStack(ModItems.powder_quartz)); recipes.overridePreSetRecipe(new ItemStack(Blocks.quartz_ore), new ItemStack(ModItems.powder_quartz, 2)); + recipes.overridePreSetRecipe(new ItemStack(ModBlocks.ore_nether_fire), new ItemStack(ModItems.powder_fire, 6)); + recipes.overridePreSetRecipe(new ItemStack(ModBlocks.brick_light), new ItemStack(Items.clay_ball, 4)); + recipes.overridePreSetRecipe(new ItemStack(ModBlocks.brick_concrete), new ItemStack(Blocks.gravel, 1)); + recipes.overridePreSetRecipe(new ItemStack(ModBlocks.brick_obsidian), new ItemStack(ModBlocks.gravel_obsidian, 1)); + recipes.overridePreSetRecipe(new ItemStack(Blocks.obsidian), new ItemStack(ModBlocks.gravel_obsidian, 1)); + recipes.overridePreSetRecipe(new ItemStack(Blocks.stone), new ItemStack(Blocks.gravel, 1)); + recipes.overridePreSetRecipe(new ItemStack(Blocks.cobblestone), new ItemStack(Blocks.gravel, 1)); + recipes.overridePreSetRecipe(new ItemStack(Blocks.stonebrick), new ItemStack(Blocks.gravel, 1)); + recipes.overridePreSetRecipe(new ItemStack(Blocks.brick_block), new ItemStack(Items.clay_ball, 4)); + recipes.overridePreSetRecipe(new ItemStack(Blocks.brick_stairs), new ItemStack(Items.clay_ball, 3)); + recipes.overridePreSetRecipe(new ItemStack(Items.flower_pot), new ItemStack(Items.clay_ball, 3)); + recipes.overridePreSetRecipe(new ItemStack(Items.brick), new ItemStack(Items.clay_ball, 1)); + recipes.overridePreSetRecipe(new ItemStack(Blocks.sandstone), new ItemStack(Blocks.sand, 4)); + recipes.overridePreSetRecipe(new ItemStack(Blocks.sandstone_stairs), new ItemStack(Blocks.sand, 6)); + recipes.overridePreSetRecipe(new ItemStack(Blocks.clay), new ItemStack(Items.clay_ball, 4)); + recipes.overridePreSetRecipe(new ItemStack(Blocks.hardened_clay), new ItemStack(Items.clay_ball, 4)); + recipes.overridePreSetRecipe(new ItemStack(Blocks.stained_hardened_clay, 1, 0), new ItemStack(Items.clay_ball, 4)); + recipes.overridePreSetRecipe(new ItemStack(Blocks.stained_hardened_clay, 1, 1), new ItemStack(Items.clay_ball, 4)); + recipes.overridePreSetRecipe(new ItemStack(Blocks.stained_hardened_clay, 1, 2), new ItemStack(Items.clay_ball, 4)); + recipes.overridePreSetRecipe(new ItemStack(Blocks.stained_hardened_clay, 1, 3), new ItemStack(Items.clay_ball, 4)); + recipes.overridePreSetRecipe(new ItemStack(Blocks.stained_hardened_clay, 1, 4), new ItemStack(Items.clay_ball, 4)); + recipes.overridePreSetRecipe(new ItemStack(Blocks.stained_hardened_clay, 1, 5), new ItemStack(Items.clay_ball, 4)); + recipes.overridePreSetRecipe(new ItemStack(Blocks.stained_hardened_clay, 1, 6), new ItemStack(Items.clay_ball, 4)); + recipes.overridePreSetRecipe(new ItemStack(Blocks.stained_hardened_clay, 1, 7), new ItemStack(Items.clay_ball, 4)); + recipes.overridePreSetRecipe(new ItemStack(Blocks.stained_hardened_clay, 1, 8), new ItemStack(Items.clay_ball, 4)); + recipes.overridePreSetRecipe(new ItemStack(Blocks.stained_hardened_clay, 1, 9), new ItemStack(Items.clay_ball, 4)); + recipes.overridePreSetRecipe(new ItemStack(Blocks.stained_hardened_clay, 1, 10), new ItemStack(Items.clay_ball, 4)); + recipes.overridePreSetRecipe(new ItemStack(Blocks.stained_hardened_clay, 1, 11), new ItemStack(Items.clay_ball, 4)); + recipes.overridePreSetRecipe(new ItemStack(Blocks.stained_hardened_clay, 1, 12), new ItemStack(Items.clay_ball, 4)); + recipes.overridePreSetRecipe(new ItemStack(Blocks.stained_hardened_clay, 1, 13), new ItemStack(Items.clay_ball, 4)); + recipes.overridePreSetRecipe(new ItemStack(Blocks.stained_hardened_clay, 1, 14), new ItemStack(Items.clay_ball, 4)); + recipes.overridePreSetRecipe(new ItemStack(Blocks.stained_hardened_clay, 1, 15), new ItemStack(Items.clay_ball, 4)); + recipes.overridePreSetRecipe(new ItemStack(Blocks.tnt), new ItemStack(Items.gunpowder, 5)); recipes.PrintRecipes(); } @@ -515,9 +573,12 @@ public class MainRegistry config.load(); enableDebugMode = config.get(Configuration.CATEGORY_GENERAL, "1.0_enableDebugMode", false).getBoolean(false); enableMycelium = config.get(Configuration.CATEGORY_GENERAL, "1.1_enableMyceliumSpread", false).getBoolean(false); - enableDungeons = config.get(Configuration.CATEGORY_GENERAL, "1.2_enableDungeonSpawn", true).getBoolean(true); - enableMDOres = config.get(Configuration.CATEGORY_GENERAL, "1.3_enableOresInModdedDimensions", true).getBoolean(true); - enableBarrels = config.get(Configuration.CATEGORY_GENERAL, "1.4_enableNuclearBarrelSpawn", false).getBoolean(false); + enablePlutoniumOre = config.get(Configuration.CATEGORY_GENERAL, "1.2_enablePlutoniumNetherOre", false).getBoolean(false); + enableDungeons = config.get(Configuration.CATEGORY_GENERAL, "1.3_enableDungeonSpawn", true).getBoolean(true); + enableMDOres = config.get(Configuration.CATEGORY_GENERAL, "1.4_enableOresInModdedDimensions", true).getBoolean(true); + enableBarrels = config.get(Configuration.CATEGORY_GENERAL, "1.5_enableNuclearBarrelSpawn", false).getBoolean(false); + enableNITAN = config.get(Configuration.CATEGORY_GENERAL, "1.6_enableNITANChestSpawn", true).getBoolean(true); + enableNukeClouds = config.get(Configuration.CATEGORY_GENERAL, "1.7_enableMushroomClouds", true).getBoolean(true); Property PuraniumSpawn = config.get(Configuration.CATEGORY_GENERAL, "2.0_uraniumSpawnrate", 7); PuraniumSpawn.comment = "Ammount of uranium ore veins per chunk"; diff --git a/com/hbm/main/ModEventHandlerClient.java b/com/hbm/main/ModEventHandlerClient.java new file mode 100644 index 000000000..6e55df78b --- /dev/null +++ b/com/hbm/main/ModEventHandlerClient.java @@ -0,0 +1,92 @@ +package com.hbm.main; + +import java.util.ArrayList; +import java.util.List; + +import com.hbm.entity.EntityChopperMine; +import com.hbm.entity.EntityHunterChopper; +import com.hbm.lib.Library; +import com.hbm.sound.MovingSoundChopper; +import com.hbm.sound.MovingSoundChopperMine; +import com.hbm.sound.MovingSoundCrashing; +import com.hbm.sound.MovingSoundPlayerLoop; +import com.hbm.sound.MovingSoundXVL1456; +import com.hbm.sound.MovingSoundPlayerLoop.EnumHbmSound; + +import codechicken.lib.render.IFaceRenderer; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import net.minecraft.client.Minecraft; +import net.minecraft.client.audio.PositionedSound; +import net.minecraft.client.multiplayer.WorldClient; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.event.sound.PlaySoundEvent17; +import net.minecraftforge.event.entity.EntityJoinWorldEvent; + +public class ModEventHandlerClient { + + @SubscribeEvent + public void onPlaySound(PlaySoundEvent17 e) { + ResourceLocation r = e.sound.getPositionedSoundLocation(); + + WorldClient wc = Minecraft.getMinecraft().theWorld; + + //Alright, alright, I give the fuck up, you've wasted my time enough with this bullshit. You win. + //A winner is you. + //Conglaturations. + //Fuck you. + + if(r.toString().equals("hbm:misc.nullTau") && Library.getClosestPlayerForSound(wc, e.sound.getXPosF(), e.sound.getYPosF(), e.sound.getZPosF(), 2) != null) + { + EntityPlayer ent = Library.getClosestPlayerForSound(wc, e.sound.getXPosF(), e.sound.getYPosF(), e.sound.getZPosF(), 2); + + if(MovingSoundPlayerLoop.getSoundByPlayer(ent, EnumHbmSound.soundTauLoop) == null) { + MovingSoundPlayerLoop.globalSoundList.add(new MovingSoundXVL1456(new ResourceLocation("hbm:weapon.tauChargeLoop2"), ent, EnumHbmSound.soundTauLoop)); + MovingSoundPlayerLoop.getSoundByPlayer(ent, EnumHbmSound.soundTauLoop).setPitch(0.5F); + } else { + if(MovingSoundPlayerLoop.getSoundByPlayer(ent, EnumHbmSound.soundTauLoop).getPitch() < 1.5F) + MovingSoundPlayerLoop.getSoundByPlayer(ent, EnumHbmSound.soundTauLoop).setPitch(MovingSoundPlayerLoop.getSoundByPlayer(ent, EnumHbmSound.soundTauLoop).getPitch() + 0.01F); + } + } + + if(r.toString().equals("hbm:misc.nullChopper") && Library.getClosestChopperForSound(wc, e.sound.getXPosF(), e.sound.getYPosF(), e.sound.getZPosF(), 2) != null) + { + EntityHunterChopper ent = Library.getClosestChopperForSound(wc, e.sound.getXPosF(), e.sound.getYPosF(), e.sound.getZPosF(), 2); + + if(MovingSoundPlayerLoop.getSoundByPlayer(ent, EnumHbmSound.soundChopperLoop) == null) { + MovingSoundPlayerLoop.globalSoundList.add(new MovingSoundChopper(new ResourceLocation("hbm:entity.chopperFlyingLoop"), ent, EnumHbmSound.soundChopperLoop)); + MovingSoundPlayerLoop.getSoundByPlayer(ent, EnumHbmSound.soundChopperLoop).setVolume(10.0F); + } + } + + if(r.toString().equals("hbm:misc.nullCrashing") && Library.getClosestChopperForSound(wc, e.sound.getXPosF(), e.sound.getYPosF(), e.sound.getZPosF(), 2) != null) + { + EntityHunterChopper ent = Library.getClosestChopperForSound(wc, e.sound.getXPosF(), e.sound.getYPosF(), e.sound.getZPosF(), 2); + + if(MovingSoundPlayerLoop.getSoundByPlayer(ent, EnumHbmSound.soundCrashingLoop) == null) { + MovingSoundPlayerLoop.globalSoundList.add(new MovingSoundCrashing(new ResourceLocation("hbm:entity.chopperCrashingLoop"), ent, EnumHbmSound.soundCrashingLoop)); + MovingSoundPlayerLoop.getSoundByPlayer(ent, EnumHbmSound.soundCrashingLoop).setVolume(10.0F); + } + } + + if(r.toString().equals("hbm:misc.nullMine") && Library.getClosestMineForSound(wc, e.sound.getXPosF(), e.sound.getYPosF(), e.sound.getZPosF(), 2) != null) + { + EntityChopperMine ent = Library.getClosestMineForSound(wc, e.sound.getXPosF(), e.sound.getYPosF(), e.sound.getZPosF(), 2); + + if(MovingSoundPlayerLoop.getSoundByPlayer(ent, EnumHbmSound.soundMineLoop) == null) { + MovingSoundPlayerLoop.globalSoundList.add(new MovingSoundChopperMine(new ResourceLocation("hbm:entity.chopperMineLoop"), ent, EnumHbmSound.soundMineLoop)); + MovingSoundPlayerLoop.getSoundByPlayer(ent, EnumHbmSound.soundMineLoop).setVolume(10.0F); + } + } + + for(MovingSoundPlayerLoop sounds : MovingSoundPlayerLoop.globalSoundList) + { + if(!sounds.init || sounds.isDonePlaying()) { + sounds.init = true; + sounds.setDone(false); + Minecraft.getMinecraft().getSoundHandler().playSound(sounds); + } + } + } +} diff --git a/com/hbm/render/ItemRenderRevolverInverted.java b/com/hbm/render/ItemRenderRevolverInverted.java new file mode 100644 index 000000000..133fd5d64 --- /dev/null +++ b/com/hbm/render/ItemRenderRevolverInverted.java @@ -0,0 +1,68 @@ +package com.hbm.render; + +import org.lwjgl.opengl.GL11; + +import com.hbm.lib.RefStrings; + +import net.minecraft.client.Minecraft; +import net.minecraft.entity.Entity; +import net.minecraft.item.ItemStack; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.IItemRenderer; +import net.minecraftforge.client.IItemRenderer.ItemRenderType; +import net.minecraftforge.client.IItemRenderer.ItemRendererHelper; + +public class ItemRenderRevolverInverted implements IItemRenderer { + + protected ModelRevolver swordModel; + + public ItemRenderRevolverInverted() { + swordModel = new ModelRevolver(); + } + + @Override + public boolean handleRenderType(ItemStack item, ItemRenderType type) { + switch(type) { + case EQUIPPED: + case EQUIPPED_FIRST_PERSON: + case ENTITY: + return true; + default: return false; + } + } + + @Override + public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { + return false; + } + + @Override + public void renderItem(ItemRenderType type, ItemStack item, Object... data) { + switch(type) { + case EQUIPPED_FIRST_PERSON: + GL11.glPushMatrix(); + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelRevolver.png")); + GL11.glRotatef(-135.0F, 0.0F, 0.0F, 1.0F); + GL11.glTranslatef(-0.5F, 0.0F, -0.2F); + //GL11.glScalef(2.0F, 2.0F, 2.0F); + GL11.glScalef(0.5F, 0.5F, 0.5F); + GL11.glRotatef(180.0F, 0.0F, 1.0F, 0.0F); + swordModel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); + GL11.glPopMatrix(); + break; + case EQUIPPED: + case ENTITY: + GL11.glPushMatrix(); + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelRevolver.png")); + GL11.glRotatef(-200.0F, 0.0F, 0.0F, 1.0F); + GL11.glRotatef(75.0F, 0.0F, 1.0F, 0.0F); + GL11.glRotatef(-30.0F, 1.0F, 0.0F, 0.0F); + GL11.glTranslatef(0.0F, -0.2F, -0.5F); + //GL11.glScalef(2.0F, 2.0F, 2.0F); + GL11.glRotatef(180.0F, 0.0F, 1.0F, 0.0F); + swordModel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); + GL11.glPopMatrix(); + default: break; + } + } +} diff --git a/com/hbm/render/ModelHunterChopper.java b/com/hbm/render/ModelHunterChopper.java index 21115d676..86178349d 100644 --- a/com/hbm/render/ModelHunterChopper.java +++ b/com/hbm/render/ModelHunterChopper.java @@ -65,6 +65,7 @@ public class ModelHunterChopper extends ModelBase { ModelRenderer GunPivot; ModelRenderer GunBarrel; ModelRenderer GunBack; + float f = 0.1F; public ModelHunterChopper() { textureWidth = 256; @@ -245,8 +246,8 @@ public class ModelHunterChopper extends ModelBase { TailRotorBottom.mirror = true; setRotation(TailRotorBottom, 0F, 0F, 0F); TailRotorBlades = new ModelRenderer(this, 120, 120); - TailRotorBlades.addBox(0F, 0F, 0F, 3, 3, 0); - TailRotorBlades.setRotationPoint(17F, 7F, 0F); + TailRotorBlades.addBox(-1.5F, -1.5F, 0F, 3, 3, 0); + TailRotorBlades.setRotationPoint(17F + 1.5F, 7F + 1.5F, 0F); TailRotorBlades.setTextureSize(256, 128); TailRotorBlades.mirror = true; setRotation(TailRotorBlades, 0F, 0F, 0F); @@ -323,8 +324,8 @@ public class ModelHunterChopper extends ModelBase { TorsoRotorBack.mirror = true; setRotation(TorsoRotorBack, 0F, 0F, 0F); TorsoRotorBlades = new ModelRenderer(this, 112, 120); - TorsoRotorBlades.addBox(0F, 0F, 0F, 3, 3, 0); - TorsoRotorBlades.setRotationPoint(-7F, 8.5F, 0F); + TorsoRotorBlades.addBox(-1.5F, -1.5F, 0F, 3, 3, 0); + TorsoRotorBlades.setRotationPoint(-7F + 1.5F, 8.5F + 1.5F, 0F); TorsoRotorBlades.setTextureSize(256, 128); TorsoRotorBlades.mirror = true; setRotation(TorsoRotorBlades, 0F, 0F, 0F); @@ -422,9 +423,9 @@ public class ModelHunterChopper extends ModelBase { RotorBlades.render(f5); Antenna1.render(f5); Antenna2.render(f5); - GunPivot.render(f5); - GunBarrel.render(f5); - GunBack.render(f5); + //GunPivot.render(f5); + //GunBarrel.render(f5); + //GunBack.render(f5); } private void setRotation(ModelRenderer model, float x, float y, float z) { @@ -485,15 +486,13 @@ public class ModelHunterChopper extends ModelBase { RotorBlades.render(f5); Antenna1.render(f5); Antenna2.render(f5); - GunPivot.render(f5); - GunBarrel.render(f5); - GunBack.render(f5); - } + //GunPivot.render(f5); + //GunBarrel.render(f5); + //GunBack.render(f5); - public void setGunRotations(EntityHunterChopper rocket, float yaw, float pitch) { - setRotation(GunBarrel, 0F, (rocket.getYaw() - yaw) / (180F / (float)Math.PI), (rocket.getPitch() - pitch) / (180F / (float)Math.PI)); - setRotation(GunBack, 0F, (rocket.getYaw() - yaw) / (180F / (float)Math.PI), (rocket.getPitch() - pitch) / (180F / (float)Math.PI)); - //System.out.println(rocket.getYaw()); + RotorBlades.rotateAngleY += f * 5; + TorsoRotorBlades.rotateAngleZ += f * 5; + TailRotorBlades.rotateAngleZ += f * 5; } } diff --git a/com/hbm/render/RenderFallout.java b/com/hbm/render/RenderFallout.java new file mode 100644 index 000000000..277943505 --- /dev/null +++ b/com/hbm/render/RenderFallout.java @@ -0,0 +1,287 @@ +package com.hbm.render; + +import java.util.Random; + +import org.lwjgl.opengl.GL11; + +import com.hbm.entity.EntityFalloutRain; +import com.hbm.lib.RefStrings; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.multiplayer.WorldClient; +import net.minecraft.client.renderer.OpenGlHelper; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.entity.Render; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.util.MathHelper; +import net.minecraft.util.ResourceLocation; +import net.minecraft.util.Timer; +import net.minecraft.util.Vec3; +import net.minecraft.world.biome.BiomeGenBase; +import net.minecraftforge.client.IRenderHandler; + +public class RenderFallout extends Render { + + private Minecraft mc; + private Random random = new Random(); + float[] rainXCoords; + float[] rainYCoords; + private int rendererUpdateCount; + long lastTime = System.nanoTime(); + private static final ResourceLocation falloutTexture = new ResourceLocation(RefStrings.MODID, + "textures/entity/fallout.png"); + + @Override + public void doRender(Entity p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, + float p_76986_9_) { + + if (p_76986_1_ instanceof EntityFalloutRain) + this.render((EntityFalloutRain) p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_); + + } + + public void render(EntityFalloutRain p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, + float p_76986_8_, float p_76986_9_) { + + this.mc = Minecraft.getMinecraft(); + + EntityLivingBase entitylivingbase = this.mc.renderViewEntity; + Vec3 vector = Vec3.createVectorHelper(entitylivingbase.posX - p_76986_1_.posX, + entitylivingbase.posY - p_76986_1_.posY, entitylivingbase.posZ - p_76986_1_.posZ); + + double d = vector.lengthVector(); + + if (d <= p_76986_1_.getScale()) { + rendererUpdateCount++; + long time = System.nanoTime(); + float t = (time - lastTime) / 50000000; + if (t <= 1.0F) + renderRainSnow(t); + else + renderRainSnow(1.0F); + + lastTime = time; + } + } + + @Override + protected ResourceLocation getEntityTexture(Entity p_110775_1_) { + return null; + } + + protected void renderRainSnow(float p_78474_1_) { + + IRenderHandler renderer = null; + if ((renderer = this.mc.theWorld.provider.getWeatherRenderer()) != null) { + renderer.render(p_78474_1_, this.mc.theWorld, mc); + return; + } + + // float f1 = this.mc.theWorld.getRainStrength(p_78474_1_); + + float f1 = 1; + + if (f1 > 0.0F) { + // this.enableLightmap((double)p_78474_1_); + + if (this.rainXCoords == null) { + this.rainXCoords = new float[1024]; + this.rainYCoords = new float[1024]; + + for (int i = 0; i < 32; ++i) { + for (int j = 0; j < 32; ++j) { + float f2 = (float) (j - 16); + float f3 = (float) (i - 16); + float f4 = MathHelper.sqrt_float(f2 * f2 + f3 * f3); + this.rainXCoords[i << 5 | j] = -f3 / f4; + this.rainYCoords[i << 5 | j] = f2 / f4; + } + } + } + + EntityLivingBase entitylivingbase = this.mc.renderViewEntity; + WorldClient worldclient = this.mc.theWorld; + int k2 = MathHelper.floor_double(entitylivingbase.posX); + int l2 = MathHelper.floor_double(entitylivingbase.posY); + int i3 = MathHelper.floor_double(entitylivingbase.posZ); + Tessellator tessellator = Tessellator.instance; + GL11.glDisable(GL11.GL_CULL_FACE); + GL11.glNormal3f(0.0F, 1.0F, 0.0F); + GL11.glEnable(GL11.GL_BLEND); + OpenGlHelper.glBlendFunc(770, 771, 1, 0); + GL11.glAlphaFunc(GL11.GL_GREATER, 0.1F); + double d0 = entitylivingbase.lastTickPosX + + (entitylivingbase.posX - entitylivingbase.lastTickPosX) * (double) p_78474_1_; + double d1 = entitylivingbase.lastTickPosY + + (entitylivingbase.posY - entitylivingbase.lastTickPosY) * (double) p_78474_1_; + double d2 = entitylivingbase.lastTickPosZ + + (entitylivingbase.posZ - entitylivingbase.lastTickPosZ) * (double) p_78474_1_; + int k = MathHelper.floor_double(d1); + byte b0 = 5; + + if (this.mc.gameSettings.fancyGraphics) { + b0 = 10; + } + + boolean flag = false; + byte b1 = -1; + float f5 = (float) this.rendererUpdateCount + p_78474_1_; + + if (this.mc.gameSettings.fancyGraphics) { + b0 = 10; + } + + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + flag = false; + + for (int l = i3 - b0; l <= i3 + b0; ++l) { + for (int i1 = k2 - b0; i1 <= k2 + b0; ++i1) { + int j1 = (l - i3 + 16) * 32 + i1 - k2 + 16; + float f6 = this.rainXCoords[j1] * 0.5F; + float f7 = this.rainYCoords[j1] * 0.5F; + BiomeGenBase biomegenbase = worldclient.getBiomeGenForCoords(i1, l); + + if (true) { + int k1 = worldclient.getPrecipitationHeight(i1, l); + int l1 = l2 - b0; + int i2 = l2 + b0; + + if (l1 < k1) { + l1 = k1; + } + + if (i2 < k1) { + i2 = k1; + } + + float f8 = 1.0F; + int j2 = k1; + + if (k1 < k) { + j2 = k; + } + + if (l1 != i2) { + this.random.setSeed((long) (i1 * i1 * 3121 + i1 * 45238971 ^ l * l * 418711 + l * 13761)); + float f9 = biomegenbase.getFloatTemperature(i1, l1, l); + float f10; + double d4; + + /* + * if (false) { if (b1 != 0) { if (b1 >= 0) { + * tessellator.draw(); } + * + * b1 = 0; + * this.mc.getTextureManager().bindTexture(this. + * falloutTexture); tessellator.startDrawingQuads(); + * //System.out.println("Called!"); } + * + * f10 = ((float)(this.rendererUpdateCount + i1 * i1 + * * 3121 + i1 * 45238971 + l * l * 418711 + l * + * 13761 & 31) + p_78474_1_) / 32.0F * (3.0F + + * this.random.nextFloat()); double d3 = + * (double)((float)i1 + 0.5F) - + * entitylivingbase.posX; d4 = (double)((float)l + + * 0.5F) - entitylivingbase.posZ; float f12 = + * MathHelper.sqrt_double(d3 * d3 + d4 * d4) / + * (float)b0; float f13 = 1.0F; + * tessellator.setBrightness(worldclient. + * getLightBrightnessForSkyBlocks(i1, j2, l, 0)); + * tessellator.setColorRGBA_F(f13, f13, f13, ((1.0F + * - f12 * f12) * 0.5F + 0.5F) * f1); + * tessellator.setTranslation(-d0 * 1.0D, -d1 * + * 1.0D, -d2 * 1.0D); + * tessellator.addVertexWithUV((double)((float)i1 - + * f6) + 0.5D, (double)l1, (double)((float)l - f7) + + * 0.5D, (double)(0.0F * f8), (double)((float)l1 * + * f8 / 4.0F + f10 * f8)); + * tessellator.addVertexWithUV((double)((float)i1 + + * f6) + 0.5D, (double)l1, (double)((float)l + f7) + + * 0.5D, (double)(1.0F * f8), (double)((float)l1 * + * f8 / 4.0F + f10 * f8)); + * tessellator.addVertexWithUV((double)((float)i1 + + * f6) + 0.5D, (double)i2, (double)((float)l + f7) + + * 0.5D, (double)(1.0F * f8), (double)((float)i2 * + * f8 / 4.0F + f10 * f8)); + * tessellator.addVertexWithUV((double)((float)i1 - + * f6) + 0.5D, (double)i2, (double)((float)l - f7) + + * 0.5D, (double)(0.0F * f8), (double)((float)i2 * + * f8 / 4.0F + f10 * f8)); + * tessellator.setTranslation(0.0D, 0.0D, 0.0D); } + * else + */ + { + if (b1 != 1) { + if (b1 >= 0) { + tessellator.draw(); + } + + b1 = 1; + this.mc.getTextureManager().bindTexture(this.falloutTexture); + tessellator.startDrawingQuads(); + } + + f10 = ((float) (this.rendererUpdateCount & 511) + p_78474_1_) / 512.0F; + float f16 = this.random.nextFloat() + f5 * 0.01F * (float) this.random.nextGaussian(); + float f11 = this.random.nextFloat() + f5 * (float) this.random.nextGaussian() * 0.001F; + d4 = (double) ((float) i1 + 0.5F) - entitylivingbase.posX; + double d5 = (double) ((float) l + 0.5F) - entitylivingbase.posZ; + float f14 = MathHelper.sqrt_double(d4 * d4 + d5 * d5) / (float) b0; + float f15 = 1.0F; + tessellator.setBrightness( + (worldclient.getLightBrightnessForSkyBlocks(i1, j2, l, 0) * 3 + 15728880) / 4); + tessellator.setColorRGBA_F(f15, f15, f15, ((1.0F - f14 * f14) * 0.3F + 0.5F) * f1); + tessellator.setTranslation(-d0 * 1.0D, -d1 * 1.0D, -d2 * 1.0D); + tessellator.addVertexWithUV((double) ((float) i1 - f6) + 0.5D, (double) l1, + (double) ((float) l - f7) + 0.5D, (double) (0.0F * f8 + f16), + (double) ((float) l1 * f8 / 4.0F + f10 * f8 + f11)); + tessellator.addVertexWithUV((double) ((float) i1 + f6) + 0.5D, (double) l1, + (double) ((float) l + f7) + 0.5D, (double) (1.0F * f8 + f16), + (double) ((float) l1 * f8 / 4.0F + f10 * f8 + f11)); + tessellator.addVertexWithUV((double) ((float) i1 + f6) + 0.5D, (double) i2, + (double) ((float) l + f7) + 0.5D, (double) (1.0F * f8 + f16), + (double) ((float) i2 * f8 / 4.0F + f10 * f8 + f11)); + tessellator.addVertexWithUV((double) ((float) i1 - f6) + 0.5D, (double) i2, + (double) ((float) l - f7) + 0.5D, (double) (0.0F * f8 + f16), + (double) ((float) i2 * f8 / 4.0F + f10 * f8 + f11)); + tessellator.setTranslation(0.0D, 0.0D, 0.0D); + } + } + } + } + } + + if (b1 >= 0) { + tessellator.draw(); + // System.out.println("Fired!"); + } + + GL11.glEnable(GL11.GL_CULL_FACE); + GL11.glDisable(GL11.GL_BLEND); + GL11.glAlphaFunc(GL11.GL_GREATER, 0.1F); + // this.disableLightmap((double)p_78474_1_); + } + } + + /* + * public void enableLightmap(double p_78463_1_) { + * OpenGlHelper.setActiveTexture(OpenGlHelper.lightmapTexUnit); + * GL11.glMatrixMode(GL11.GL_TEXTURE); GL11.glLoadIdentity(); float f = + * 0.00390625F; GL11.glScalef(f, f, f); GL11.glTranslatef(8.0F, 8.0F, 8.0F); + * GL11.glMatrixMode(GL11.GL_MODELVIEW); + * this.mc.getTextureManager().bindTexture(this.locationLightMap); + * GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MIN_FILTER, + * GL11.GL_LINEAR); GL11.glTexParameteri(GL11.GL_TEXTURE_2D, + * GL11.GL_TEXTURE_MAG_FILTER, GL11.GL_LINEAR); + * GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MIN_FILTER, + * GL11.GL_LINEAR); GL11.glTexParameteri(GL11.GL_TEXTURE_2D, + * GL11.GL_TEXTURE_MAG_FILTER, GL11.GL_LINEAR); + * GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_WRAP_S, + * GL11.GL_CLAMP); GL11.glTexParameteri(GL11.GL_TEXTURE_2D, + * GL11.GL_TEXTURE_WRAP_T, GL11.GL_CLAMP); GL11.glColor4f(1.0F, 1.0F, 1.0F, + * 1.0F); GL11.glEnable(GL11.GL_TEXTURE_2D); + * OpenGlHelper.setActiveTexture(OpenGlHelper.defaultTexUnit); } + */ + +} diff --git a/com/hbm/render/RenderHunterChopper.java b/com/hbm/render/RenderHunterChopper.java index 185197d34..b8f9d3ef9 100644 --- a/com/hbm/render/RenderHunterChopper.java +++ b/com/hbm/render/RenderHunterChopper.java @@ -8,6 +8,7 @@ import com.hbm.main.MainRegistry; import net.minecraft.client.renderer.entity.Render; import net.minecraft.entity.Entity; +import net.minecraft.entity.boss.BossStatus; import net.minecraft.util.ResourceLocation; public class RenderHunterChopper extends Render { @@ -23,6 +24,7 @@ public class RenderHunterChopper extends Render { @Override public void doRender(Entity rocket, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_) { + BossStatus.setBossStatus((EntityHunterChopper)rocket, true); GL11.glPushMatrix(); GL11.glTranslatef((float) p_76986_2_, (float) p_76986_4_, (float) p_76986_6_); GL11.glTranslatef(0.0625F * 0, 0.0625F * 32, 0.0625F * 0); @@ -36,10 +38,10 @@ public class RenderHunterChopper extends Render { GL11.glRotatef(rocket.prevRotationYaw + (rocket.rotationYaw - rocket.prevRotationYaw) * p_76986_9_ - 90.0F, 0, 1.0F, 0); GL11.glRotatef(rocket.prevRotationPitch + (rocket.rotationPitch - rocket.prevRotationPitch) * p_76986_9_, 0, 0, 1.0F); - bindTexture(new ResourceLocation(RefStrings.MODID + ":textures/models/TheGadget3_.png")); + bindTexture(new ResourceLocation(RefStrings.MODID + ":textures/entity/chopper.png")); - if(rocket instanceof EntityHunterChopper) - mine2.setGunRotations((EntityHunterChopper)rocket, yaw, pitch); + //if(rocket instanceof EntityHunterChopper) + // mine2.setGunRotations((EntityHunterChopper)rocket, yaw, pitch); mine2.renderAll(0.0625F); GL11.glPopMatrix(); @@ -47,6 +49,6 @@ public class RenderHunterChopper extends Render { @Override protected ResourceLocation getEntityTexture(Entity p_110775_1_) { - return new ResourceLocation(RefStrings.MODID + ":textures/models/TheGadget3_.png"); + return new ResourceLocation(RefStrings.MODID + ":textures/entity/chopper.png"); } } diff --git a/com/hbm/render/RenderNoCloud.java b/com/hbm/render/RenderNoCloud.java new file mode 100644 index 000000000..0cd87711f --- /dev/null +++ b/com/hbm/render/RenderNoCloud.java @@ -0,0 +1,137 @@ +package com.hbm.render; + +import java.util.Random; + +import org.lwjgl.opengl.GL11; + +import com.hbm.entity.EntityNukeCloudNoShroom; +import com.hbm.lib.RefStrings; + +import net.minecraft.client.renderer.RenderHelper; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.entity.Render; +import net.minecraft.entity.Entity; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.model.AdvancedModelLoader; +import net.minecraftforge.client.model.IModelCustom; + +public class RenderNoCloud extends Render { + + private static final ResourceLocation objTesterModelRL = new ResourceLocation(/*"/assets/" + */RefStrings.MODID, "models/NukeCloudSmall.obj"); + private IModelCustom blastModel; + private ResourceLocation blastTexture; + private static final ResourceLocation ringModelRL = new ResourceLocation(/*"/assets/" + */RefStrings.MODID, "models/Ring.obj"); + private IModelCustom ringModel; + private ResourceLocation ringTexture; + private static final ResourceLocation ringBigModelRL = new ResourceLocation(/*"/assets/" + */RefStrings.MODID, "models/RingBig.obj"); + private IModelCustom ringBigModel; + private ResourceLocation ringBigTexture; + public float scale = 0; + public float ring = 0; + + public RenderNoCloud() { + blastModel = AdvancedModelLoader.loadModel(objTesterModelRL); + blastTexture = new ResourceLocation(RefStrings.MODID, "textures/models/NukeCloudFire.png"); + ringModel = AdvancedModelLoader.loadModel(ringModelRL); + ringTexture = new ResourceLocation(RefStrings.MODID, "textures/models/Ring2.png"); + ringBigModel = AdvancedModelLoader.loadModel(ringBigModelRL); + ringBigTexture = new ResourceLocation(RefStrings.MODID, "textures/models/Ring2.png"); + scale = 0; + ring = 0; + } + + @Override + public void doRender(Entity p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_) { + if(((EntityNukeCloudNoShroom)p_76986_1_).age > 100) + { } else { + this.renderFlare((EntityNukeCloudNoShroom)p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_); + } + this.renderRing((EntityNukeCloudNoShroom)p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_); + } + + public void renderRing(EntityNukeCloudNoShroom p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_) { + + GL11.glPushMatrix(); + GL11.glTranslatef((float)p_76986_2_, (float)p_76986_4_, (float)p_76986_6_); + GL11.glDisable(GL11.GL_LIGHTING); + GL11.glDisable(GL11.GL_CULL_FACE); + GL11.glTranslatef(0.0F, 18F, 0.0F); + //ring += 0.1F; + GL11.glScalef(p_76986_1_.ring * 10, 30F, p_76986_1_.ring * 10); + + bindTexture(ringTexture); + ringModel.renderAll(); + GL11.glPopMatrix(); + } + + public void renderFlare(EntityNukeCloudNoShroom p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_) { + + Tessellator tessellator = Tessellator.instance; + RenderHelper.disableStandardItemLighting(); + float f1 = (p_76986_1_.ticksExisted + 2.0F) / 200.0F; + float f2 = 0.0F; + int count = 250; + + if(p_76986_1_.ticksExisted < 250) + { + count = p_76986_1_.ticksExisted * 3; + } + + if (f1 > 0.8F) + { + f2 = (f1 - 0.8F) / 0.2F; + } + + Random random = new Random(432L); + GL11.glDisable(GL11.GL_TEXTURE_2D); + GL11.glShadeModel(GL11.GL_SMOOTH); + GL11.glEnable(GL11.GL_BLEND); + GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE); + GL11.glDisable(GL11.GL_ALPHA_TEST); + GL11.glEnable(GL11.GL_CULL_FACE); + GL11.glDepthMask(false); + GL11.glPushMatrix(); + //GL11.glTranslatef(0.0F, -1.0F, -2.0F); + GL11.glTranslatef((float)p_76986_2_, (float)p_76986_4_ + 15, (float)p_76986_6_); + GL11.glScalef(5F, 5F, 5F); + + //for (int i = 0; (float)i < (f1 + f1 * f1) / 2.0F * 60.0F; ++i) + for(int i = 0; i < count; i++) + { + GL11.glRotatef(random.nextFloat() * 360.0F, 1.0F, 0.0F, 0.0F); + GL11.glRotatef(random.nextFloat() * 360.0F, 0.0F, 1.0F, 0.0F); + GL11.glRotatef(random.nextFloat() * 360.0F, 0.0F, 0.0F, 1.0F); + GL11.glRotatef(random.nextFloat() * 360.0F, 1.0F, 0.0F, 0.0F); + GL11.glRotatef(random.nextFloat() * 360.0F, 0.0F, 1.0F, 0.0F); + GL11.glRotatef(random.nextFloat() * 360.0F + f1 * 90.0F, 0.0F, 0.0F, 1.0F); + tessellator.startDrawing(6); + float f3 = random.nextFloat() * 20.0F + 5.0F + f2 * 10.0F; + float f4 = random.nextFloat() * 2.0F + 1.0F + f2 * 2.0F; + //tessellator.setColorRGBA_I(16777215, (int)(255.0F * (1.0F - f2))); + tessellator.setColorRGBA_I(59345715, (int)(255.0F * (1.0F - f2))); + tessellator.addVertex(0.0D, 0.0D, 0.0D); + //tessellator.setColorRGBA_I(16711935, 0); + tessellator.setColorRGBA_I(59345735, 0); + tessellator.addVertex(-0.866D * f4, f3, -0.5F * f4); + tessellator.addVertex(0.866D * f4, f3, -0.5F * f4); + tessellator.addVertex(0.0D, f3, 1.0F * f4); + tessellator.addVertex(-0.866D * f4, f3, -0.5F * f4); + tessellator.draw(); + } + + GL11.glPopMatrix(); + GL11.glDepthMask(true); + GL11.glDisable(GL11.GL_CULL_FACE); + GL11.glDisable(GL11.GL_BLEND); + GL11.glShadeModel(GL11.GL_FLAT); + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + GL11.glEnable(GL11.GL_TEXTURE_2D); + GL11.glEnable(GL11.GL_ALPHA_TEST); + RenderHelper.enableStandardItemLighting(); + } + + @Override + protected ResourceLocation getEntityTexture(Entity p_110775_1_) { + return null; + } +} diff --git a/com/hbm/sound/MovingSoundChopper.java b/com/hbm/sound/MovingSoundChopper.java new file mode 100644 index 000000000..5d85c49a4 --- /dev/null +++ b/com/hbm/sound/MovingSoundChopper.java @@ -0,0 +1,25 @@ +package com.hbm.sound; + +import com.hbm.entity.EntityHunterChopper; +import com.hbm.items.ModItems; +import com.hbm.sound.MovingSoundPlayerLoop.EnumHbmSound; + +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.util.ResourceLocation; + +public class MovingSoundChopper extends MovingSoundPlayerLoop { + + public MovingSoundChopper(ResourceLocation p_i45104_1_, Entity player, EnumHbmSound type) { + super(p_i45104_1_, player, type); + } + + @Override + public void update() { + super.update(); + + if(player instanceof EntityHunterChopper && ((EntityHunterChopper)player).getIsDying()) + this.stop(); + } +} diff --git a/com/hbm/sound/MovingSoundChopperMine.java b/com/hbm/sound/MovingSoundChopperMine.java new file mode 100644 index 000000000..285cf7b07 --- /dev/null +++ b/com/hbm/sound/MovingSoundChopperMine.java @@ -0,0 +1,14 @@ +package com.hbm.sound; + +import com.hbm.entity.EntityHunterChopper; +import com.hbm.sound.MovingSoundPlayerLoop.EnumHbmSound; + +import net.minecraft.entity.Entity; +import net.minecraft.util.ResourceLocation; + +public class MovingSoundChopperMine extends MovingSoundPlayerLoop { + + public MovingSoundChopperMine(ResourceLocation p_i45104_1_, Entity player, EnumHbmSound type) { + super(p_i45104_1_, player, type); + } +} diff --git a/com/hbm/sound/MovingSoundCrashing.java b/com/hbm/sound/MovingSoundCrashing.java new file mode 100644 index 000000000..225656ad2 --- /dev/null +++ b/com/hbm/sound/MovingSoundCrashing.java @@ -0,0 +1,22 @@ +package com.hbm.sound; + +import com.hbm.entity.EntityHunterChopper; +import com.hbm.sound.MovingSoundPlayerLoop.EnumHbmSound; + +import net.minecraft.entity.Entity; +import net.minecraft.util.ResourceLocation; + +public class MovingSoundCrashing extends MovingSoundPlayerLoop { + + public MovingSoundCrashing(ResourceLocation p_i45104_1_, Entity player, EnumHbmSound type) { + super(p_i45104_1_, player, type); + } + + @Override + public void update() { + super.update(); + + if(player instanceof EntityHunterChopper && !((EntityHunterChopper)player).getIsDying()) + this.stop(); + } +} diff --git a/com/hbm/sound/MovingSoundPlayerLoop.java b/com/hbm/sound/MovingSoundPlayerLoop.java new file mode 100644 index 000000000..f3d0a5e7d --- /dev/null +++ b/com/hbm/sound/MovingSoundPlayerLoop.java @@ -0,0 +1,75 @@ +package com.hbm.sound; + +import java.util.ArrayList; +import java.util.List; + +import net.minecraft.client.audio.MovingSound; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.util.ResourceLocation; + +public abstract class MovingSoundPlayerLoop extends MovingSound { + + public static List globalSoundList = new ArrayList(); + public List playerForSound = new ArrayList(); + public Entity player; + public enum EnumHbmSound { soundTauLoop, soundChopperLoop, soundCrashingLoop, soundMineLoop }; + public EnumHbmSound type; + public boolean init; + + public MovingSoundPlayerLoop(ResourceLocation res, Entity player, EnumHbmSound type) { + super(res); + this.player = player; + this.type = type; + this.init = false; + this.repeat = true; + if(MovingSoundPlayerLoop.getSoundByPlayer(player, type) == null) + globalSoundList.add(this); + } + + @Override + public void update() { + + if(player != null) { + this.xPosF = (float)player.posX; + this.yPosF = (float)player.posY; + this.zPosF = (float)player.posZ; + } + + if(player == null || player.isDead) + this.stop(); + } + + public void stop() { + + this.donePlaying = true; + this.repeat = false; + while(MovingSoundPlayerLoop.getSoundByPlayer(player, type) != null) + globalSoundList.remove(MovingSoundPlayerLoop.getSoundByPlayer(player, type)); + + this.player = null; + } + + public static MovingSoundPlayerLoop getSoundByPlayer(Entity player, EnumHbmSound type) { + + for(MovingSoundPlayerLoop sound : globalSoundList) { + if(sound.player == player && sound.type == type) + return sound; + } + + return null; + } + + public void setPitch(float f) { + this.field_147663_c = f; + } + + public void setVolume(float f) { + this.volume = f; + } + + public void setDone(boolean b) { + this.donePlaying = b; + } + +} diff --git a/com/hbm/sound/MovingSoundXVL1456.java b/com/hbm/sound/MovingSoundXVL1456.java new file mode 100644 index 000000000..2bee857e1 --- /dev/null +++ b/com/hbm/sound/MovingSoundXVL1456.java @@ -0,0 +1,34 @@ +package com.hbm.sound; + +import com.hbm.items.ModItems; + +import net.minecraft.client.audio.MovingSound; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.ResourceLocation; + +public class MovingSoundXVL1456 extends MovingSoundPlayerLoop { + + public MovingSoundXVL1456(ResourceLocation p_i45104_1_, Entity player, EnumHbmSound type) { + super(p_i45104_1_, player, type); + this.setPitch(0.5F); + } + + @Override + public void update() { + super.update(); + + ItemStack i = null; + + if(this.player != null) { + i = ((EntityPlayer)this.player).getItemInUse(); + } + + //this.setPitch(this.getPitch() + 0.1F); + + if(i == null || (i != null && i.getItem() != ModItems.gun_xvl1456) || !((EntityPlayer)this.player).isSneaking() || ((EntityPlayer)this.player).getItemInUseDuration() <= 0) + this.stop(); + } +} \ No newline at end of file diff --git a/com/hbm/tileentity/TileEntityFWatzCore.java b/com/hbm/tileentity/TileEntityFWatzCore.java index a8562af8d..0d5498f2f 100644 --- a/com/hbm/tileentity/TileEntityFWatzCore.java +++ b/com/hbm/tileentity/TileEntityFWatzCore.java @@ -215,8 +215,6 @@ public class TileEntityFWatzCore extends TileEntity implements ISidedInventory, { return true; } - - //return false; } @Override @@ -266,7 +264,7 @@ public class TileEntityFWatzCore extends TileEntity implements ISidedInventory, @Override public void updateEntity() { - if (this.isStructureValid(this.worldObj) && !this.worldObj.isRemote) { + if (this.isStructureValid(this.worldObj)) { age++; if (age >= 20) { @@ -276,11 +274,9 @@ public class TileEntityFWatzCore extends TileEntity implements ISidedInventory, if (age == 9 || age == 19) ffgeuaInit(); - if (hasFuse() && getSingularityType() > 0) { + if (hasFuse() && getSingularityType() > 0 && isStructureValid(worldObj)) { if(cooldown) { - this.emptyPlasma(); - int i = getSingularityType(); if(i == 1) @@ -302,37 +298,42 @@ public class TileEntityFWatzCore extends TileEntity implements ISidedInventory, } else { int i = getSingularityType(); - this.fillPlasma(); + boolean isWorking = false; if(i == 1 && amat - 750 >= 0 && aSchrab - 750 >= 0) { cool -= 150; amat -= 750; aSchrab -= 750; power += 500000; + isWorking = true; } if(i == 2 && amat - 750 >= 0 && aSchrab - 350 >= 0) { cool -= 75; amat -= 350; aSchrab -= 300; power += 250000; + isWorking = true; } if(i == 3 && amat - 750 >= 0 && aSchrab - 1400 >= 0) { cool -= 300; amat -= 750; aSchrab -= 1400; power += 1000000; + isWorking = true; } if(i == 4 && amat - 1000 >= 0 && aSchrab - 1000 >= 0) { cool -= 100; amat -= 1000; aSchrab -= 1000; power += 1000000; + isWorking = true; } if(i == 5 && amat - 150 >= 0 && aSchrab - 150 >= 0) { cool -= 150; amat -= 150; aSchrab -= 150; power += 10000000; + isWorking = true; } if(power > maxPower) @@ -401,14 +402,22 @@ public class TileEntityFWatzCore extends TileEntity implements ISidedInventory, this.aSchrab = maxASchrab; } } + + if(this.isRunning() && (amat <= 0 || aSchrab <= 0 || !hasFuse() || getSingularityType() == 0) || cooldown || !this.isStructureValid(worldObj)) + this.emptyPlasma(); + + if(!this.isRunning() && amat >= 1000 && aSchrab >= 1000 && hasFuse() && getSingularityType() > 0 && !cooldown && this.isStructureValid(worldObj)) + this.fillPlasma(); } public void fillPlasma() { - FWatz.fillPlasma(worldObj, this.xCoord, this.yCoord, this.zCoord); + if(!this.worldObj.isRemote) + FWatz.fillPlasma(worldObj, this.xCoord, this.yCoord, this.zCoord); } public void emptyPlasma() { - FWatz.emptyPlasma(worldObj, this.xCoord, this.yCoord, this.zCoord); + if(!this.worldObj.isRemote) + FWatz.emptyPlasma(worldObj, this.xCoord, this.yCoord, this.zCoord); } public boolean isRunning() { diff --git a/com/hbm/tileentity/TileEntityMachineCoal.java b/com/hbm/tileentity/TileEntityMachineCoal.java index 8745e9e70..8e06ea8cb 100644 --- a/com/hbm/tileentity/TileEntityMachineCoal.java +++ b/com/hbm/tileentity/TileEntityMachineCoal.java @@ -121,7 +121,7 @@ public class TileEntityMachineCoal extends TileEntity implements ISidedInventory if(stack.getItem() instanceof ItemBattery) return true; if(i == 1) - if(stack.getItem() == Items.coal || stack.getItem() == Item.getItemFromBlock(Blocks.coal_block)) + if(stack.getItem() == Items.coal || stack.getItem() == ModItems.powder_coal || stack.getItem() == Item.getItemFromBlock(Blocks.coal_block)) return true; return false; @@ -333,6 +333,15 @@ public class TileEntityMachineCoal extends TileEntity implements ISidedInventory slots[1] = null; } } + if(slots[1] != null && slots[1].getItem() == ModItems.powder_coal && burnTime <= 0) + { + slots[1].stackSize -= 1; + burnTime = 200; + if(slots[1].stackSize == 0) + { + slots[1] = null; + } + } if(slots[1] != null && slots[1].getItem() == Item.getItemFromBlock(Blocks.coal_block) && burnTime <= 0) { slots[1].stackSize -= 1; @@ -362,11 +371,15 @@ public class TileEntityMachineCoal extends TileEntity implements ISidedInventory } public boolean isItemValid() { - + if(slots[1] != null && slots[1].getItem() == Items.coal) { return true; } + if(slots[1] != null && slots[1].getItem() == ModItems.powder_coal) + { + return true; + } if(slots[1] != null && slots[1].getItem() == Item.getItemFromBlock(Blocks.coal_block)) { return true; diff --git a/com/hbm/tileentity/TileEntityMachineDiesel.java b/com/hbm/tileentity/TileEntityMachineDiesel.java index 33ba1788c..b51e8d0e3 100644 --- a/com/hbm/tileentity/TileEntityMachineDiesel.java +++ b/com/hbm/tileentity/TileEntityMachineDiesel.java @@ -26,21 +26,23 @@ import net.minecraft.tileentity.TileEntity; public class TileEntityMachineDiesel extends TileEntity implements ISidedInventory, ISource { private ItemStack slots[]; - + public int power; public int diesel; public int soundCycle = 0; public static final int maxPower = 10000; + public int powerCap = 10000; + public int superTimer; public static final int maxDiesel = 10000; public int age = 0; public List list = new ArrayList(); - - private static final int[] slots_top = new int[] {0}; - private static final int[] slots_bottom = new int[] {1, 2}; - private static final int[] slots_side = new int[] {2}; - + + private static final int[] slots_top = new int[] { 0 }; + private static final int[] slots_bottom = new int[] { 1, 2 }; + private static final int[] slots_side = new int[] { 2 }; + private String customName; - + public TileEntityMachineDiesel() { slots = new ItemStack[3]; } @@ -57,21 +59,19 @@ public class TileEntityMachineDiesel extends TileEntity implements ISidedInvento @Override public ItemStack getStackInSlotOnClosing(int i) { - if(slots[i] != null) - { + if (slots[i] != null) { ItemStack itemStack = slots[i]; slots[i] = null; return itemStack; } else { - return null; + return null; } } @Override public void setInventorySlotContents(int i, ItemStack itemStack) { slots[i] = itemStack; - if(itemStack != null && itemStack.stackSize > getInventoryStackLimit()) - { + if (itemStack != null && itemStack.stackSize > getInventoryStackLimit()) { itemStack.stackSize = getInventoryStackLimit(); } } @@ -85,7 +85,7 @@ public class TileEntityMachineDiesel extends TileEntity implements ISidedInvento public boolean hasCustomInventoryName() { return this.customName != null && this.customName.length() > 0; } - + public void setCustomName(String name) { this.customName = name; } @@ -97,99 +97,98 @@ public class TileEntityMachineDiesel extends TileEntity implements ISidedInvento @Override public boolean isUseableByPlayer(EntityPlayer player) { - if(worldObj.getTileEntity(xCoord, yCoord, zCoord) != this) - { + if (worldObj.getTileEntity(xCoord, yCoord, zCoord) != this) { return false; - }else{ - return player.getDistanceSq(xCoord + 0.5D, yCoord + 0.5D, zCoord + 0.5D) <=64; + } else { + return player.getDistanceSq(xCoord + 0.5D, yCoord + 0.5D, zCoord + 0.5D) <= 64; } } - - //You scrubs aren't needed for anything (right now) + + // You scrubs aren't needed for anything (right now) @Override - public void openInventory() {} + public void openInventory() { + } + @Override - public void closeInventory() {} + public void closeInventory() { + } @Override public boolean isItemValidForSlot(int i, ItemStack stack) { - if(i == 0) - if(stack.getItem() == ModItems.canister_fuel || stack.getItem() == Item.getItemFromBlock(ModBlocks.red_barrel)) + if (i == 0) + if (stack.getItem() == ModItems.canister_fuel || stack.getItem() == ModItems.canister_NITAN + || stack.getItem() == Item.getItemFromBlock(ModBlocks.red_barrel)) return true; - if(i == 2) - if(stack.getItem() instanceof ItemBattery) + if (i == 2) + if (stack.getItem() instanceof ItemBattery) return true; - + return false; } - + @Override public ItemStack decrStackSize(int i, int j) { - if(slots[i] != null) - { - if(slots[i].stackSize <= j) - { + if (slots[i] != null) { + if (slots[i].stackSize <= j) { ItemStack itemStack = slots[i]; slots[i] = null; return itemStack; } ItemStack itemStack1 = slots[i].splitStack(j); - if (slots[i].stackSize == 0) - { + if (slots[i].stackSize == 0) { slots[i] = null; } - + return itemStack1; } else { return null; } } - + @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); NBTTagList list = nbt.getTagList("items", 10); - - this.power = nbt.getShort("powerTime"); + + this.power = nbt.getInteger("powerTime"); this.diesel = nbt.getShort("diesel"); + this.powerCap = nbt.getInteger("powerCap"); + this.superTimer = nbt.getInteger("superTimer"); slots = new ItemStack[getSizeInventory()]; - - for(int i = 0; i < list.tagCount(); i++) - { + + for (int i = 0; i < list.tagCount(); i++) { NBTTagCompound nbt1 = list.getCompoundTagAt(i); byte b0 = nbt1.getByte("slot"); - if(b0 >= 0 && b0 < slots.length) - { + if (b0 >= 0 && b0 < slots.length) { slots[b0] = ItemStack.loadItemStackFromNBT(nbt1); } } } - + @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); - nbt.setShort("powerTime", (short) power); + nbt.setInteger("powerTime", power); nbt.setShort("diesel", (short) diesel); + nbt.setInteger("powerCap", powerCap); + nbt.setInteger("superTimer", superTimer); NBTTagList list = new NBTTagList(); - - for(int i = 0; i < slots.length; i++) - { - if(slots[i] != null) - { + + for (int i = 0; i < slots.length; i++) { + if (slots[i] != null) { NBTTagCompound nbt1 = new NBTTagCompound(); - nbt1.setByte("slot", (byte)i); + nbt1.setByte("slot", (byte) i); slots[i].writeToNBT(nbt1); list.appendTag(nbt1); } } nbt.setTag("items", list); } - + @Override - public int[] getAccessibleSlotsFromSide(int p_94128_1_) - { - return p_94128_1_ == 0 ? slots_bottom : (p_94128_1_ == 1 ? slots_top : slots_side); - } + public int[] getAccessibleSlotsFromSide(int p_94128_1_) { + return p_94128_1_ == 0 ? slots_bottom : (p_94128_1_ == 1 ? slots_top : slots_side); + } @Override public boolean canInsertItem(int i, ItemStack itemStack, int j) { @@ -198,126 +197,159 @@ public class TileEntityMachineDiesel extends TileEntity implements ISidedInvento @Override public boolean canExtractItem(int i, ItemStack itemStack, int j) { - if(i == 1) - if(itemStack.getItem() == ModItems.canister_empty || itemStack.getItem() == ModItems.tank_steel) + if (i == 1) + if (itemStack.getItem() == ModItems.canister_empty || itemStack.getItem() == ModItems.tank_steel) return true; - if(i == 2) - if(itemStack.getItemDamage() == 0) + if (i == 2) + if (itemStack.getItemDamage() == 0) return true; - + return false; } - + public int getDieselScaled(int i) { return (diesel * i) / maxDiesel; } - + public int getPowerScaled(int i) { - return (power * i) / maxPower; + return (power * i) / powerCap; } - + @Override public void updateEntity() { if (!worldObj.isRemote) { - age++; - if(age >= 20) - { - age = 0; - } - - if(age == 9 || age == 19) - ffgeuaInit(); - - if(slots[0] != null && slots[0].getItem() == ModItems.inf_diesel) - { - diesel = maxDiesel; - } - - if(slots[0] != null && slots[0].getItem() == ModItems.canister_fuel && diesel + 625 <= maxDiesel) - { - if(slots[1] == null || slots[1] != null && slots[1].getItem() == slots[0].getItem().getContainerItem() && slots[1].stackSize < slots[1].getMaxStackSize()) - { - if(slots[1] == null) - slots[1] = new ItemStack(slots[0].getItem().getContainerItem()); - else - slots[1].stackSize++; - - slots[0].stackSize--; - if(slots[0].stackSize <= 0) - slots[0] = null; - - diesel += 625; + age++; + if (age >= 20) { + age = 0; } - } - - if(slots[0] != null && slots[0].getItem() == Item.getItemFromBlock(ModBlocks.red_barrel) && diesel + 5000 <= maxDiesel) - { - if(slots[1] == null || slots[1] != null && slots[1].getItem() == ModItems.tank_steel && slots[1].stackSize < slots[1].getMaxStackSize()) + + if(superTimer > 0) { - if(slots[1] == null) - slots[1] = new ItemStack(ModItems.tank_steel); - else - slots[1].stackSize++; - - slots[0].stackSize--; - if(slots[0].stackSize <= 0) - slots[0] = null; - - diesel += 5000; + superTimer--; + powerCap = 1000000000; + } + + if(superTimer <= 0 && powerCap != maxPower) + { + powerCap = maxPower; + + if(worldObj.getBlock(this.xCoord, this.yCoord + 1, this.zCoord) == Blocks.air) + worldObj.setBlock(this.xCoord, this.yCoord + 1, this.zCoord, Blocks.fire); } - } - //Battery Item - if(power - 100 >= 0 && slots[2] != null && slots[2].getItem() == ModItems.battery_generic && slots[2].getItemDamage() > 0) - { - power -= 100; - slots[2].setItemDamage(slots[2].getItemDamage() - 1); - } - if(power - 100 >= 0 && slots[2] != null && slots[2].getItem() == ModItems.battery_advanced && slots[2].getItemDamage() > 0) - { - power -= 100; - slots[2].setItemDamage(slots[2].getItemDamage() - 1); - } - if(power - 100 >= 0 && slots[2] != null && slots[2].getItem() == ModItems.battery_schrabidium && slots[2].getItemDamage() > 0) - { - power -= 100; - slots[2].setItemDamage(slots[2].getItemDamage() - 1); - } - if(power - 100 >= 0 && slots[2] != null && slots[2].getItem() == ModItems.factory_core_titanium && slots[2].getItemDamage() > 0) - { - power -= 100; - slots[2].setItemDamage(slots[2].getItemDamage() - 1); - } - if(power - 100 >= 0 && slots[2] != null && slots[2].getItem() == ModItems.factory_core_advanced && slots[2].getItemDamage() > 0) - { - power -= 100; - slots[2].setItemDamage(slots[2].getItemDamage() - 1); - } - - generate(); + if (age == 9 || age == 19) + ffgeuaInit(); + + if (slots[0] != null && slots[0].getItem() == ModItems.inf_diesel) { + diesel = maxDiesel; + } + + if (slots[0] != null && slots[0].getItem() == ModItems.canister_fuel && diesel + 625 <= maxDiesel) { + if (slots[1] == null || slots[1] != null && slots[1].getItem() == slots[0].getItem().getContainerItem() + && slots[1].stackSize < slots[1].getMaxStackSize()) { + if (slots[1] == null) + slots[1] = new ItemStack(slots[0].getItem().getContainerItem()); + else + slots[1].stackSize++; + + slots[0].stackSize--; + if (slots[0].stackSize <= 0) + slots[0] = null; + + diesel += 625; + } + } + + if (slots[0] != null && slots[0].getItem() == ModItems.canister_NITAN && diesel + 625 <= maxDiesel) { + if (slots[1] == null || slots[1] != null && slots[1].getItem() == slots[0].getItem().getContainerItem() + && slots[1].stackSize < slots[1].getMaxStackSize()) { + if (slots[1] == null) + slots[1] = new ItemStack(slots[0].getItem().getContainerItem()); + else + slots[1].stackSize++; + + slots[0].stackSize--; + if (slots[0].stackSize <= 0) + slots[0] = null; + + diesel += 625; + superTimer += 200; + } + } + + if (slots[0] != null && slots[0].getItem() == Item.getItemFromBlock(ModBlocks.red_barrel) + && diesel + 5000 <= maxDiesel) { + if (slots[1] == null || slots[1] != null && slots[1].getItem() == ModItems.tank_steel + && slots[1].stackSize < slots[1].getMaxStackSize()) { + if (slots[1] == null) + slots[1] = new ItemStack(ModItems.tank_steel); + else + slots[1].stackSize++; + + slots[0].stackSize--; + if (slots[0].stackSize <= 0) + slots[0] = null; + + diesel += 5000; + } + } + + // Battery Item + if (power - 100 >= 0 && slots[2] != null && slots[2].getItem() == ModItems.battery_generic + && slots[2].getItemDamage() > 0) { + power -= 100; + slots[2].setItemDamage(slots[2].getItemDamage() - 1); + } + if (power - 100 >= 0 && slots[2] != null && slots[2].getItem() == ModItems.battery_advanced + && slots[2].getItemDamage() > 0) { + power -= 100; + slots[2].setItemDamage(slots[2].getItemDamage() - 1); + } + if (power - 100 >= 0 && slots[2] != null && slots[2].getItem() == ModItems.battery_schrabidium + && slots[2].getItemDamage() > 0) { + power -= 100; + slots[2].setItemDamage(slots[2].getItemDamage() - 1); + } + if (power - 100 >= 0 && slots[2] != null && slots[2].getItem() == ModItems.factory_core_titanium + && slots[2].getItemDamage() > 0) { + power -= 100; + slots[2].setItemDamage(slots[2].getItemDamage() - 1); + } + if (power - 100 >= 0 && slots[2] != null && slots[2].getItem() == ModItems.factory_core_advanced + && slots[2].getItemDamage() > 0) { + power -= 100; + slots[2].setItemDamage(slots[2].getItemDamage() - 1); + } + + generate(); } } - - public void generate() { - if(diesel > 0) - { - if(soundCycle == 0) - this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "fireworks.blast", 1.0F, 0.5F); - soundCycle++; - - if(soundCycle >= 3) - soundCycle = 0; - - diesel -= 10; - if(diesel < 0) - diesel = 0; - - if(power + 25 <= maxPower) - { + public void generate() { + if (diesel > 0) { + if (soundCycle == 0) { + if(this.superTimer > 0) + this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "fireworks.blast", 1.0F, 1.0F); + else + this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "fireworks.blast", 1.0F, 0.5F); + } + soundCycle++; + + if (soundCycle >= 3 && this.superTimer <= 0) + soundCycle = 0; + if(this.superTimer > 0) + soundCycle = 0; + + diesel -= 10; + if (diesel < 0) + diesel = 0; + + if (power + 25 <= powerCap && this.superTimer <= 0) { power += 25; + } else if (power + 1000000000 <= powerCap && this.superTimer > 0) { + power += 1000000000; } else { - power = maxPower; + power = powerCap; } } } @@ -327,36 +359,30 @@ public class TileEntityMachineDiesel extends TileEntity implements ISidedInvento Block block = this.worldObj.getBlock(x, y, z); TileEntity tileentity = this.worldObj.getTileEntity(x, y, z); - if(block == ModBlocks.factory_titanium_conductor && this.worldObj.getBlock(x, y + 1, z) == ModBlocks.factory_titanium_core) - { + if (block == ModBlocks.factory_titanium_conductor + && this.worldObj.getBlock(x, y + 1, z) == ModBlocks.factory_titanium_core) { tileentity = this.worldObj.getTileEntity(x, y + 1, z); } - if(block == ModBlocks.factory_titanium_conductor && this.worldObj.getBlock(x, y - 1, z) == ModBlocks.factory_titanium_core) - { + if (block == ModBlocks.factory_titanium_conductor + && this.worldObj.getBlock(x, y - 1, z) == ModBlocks.factory_titanium_core) { tileentity = this.worldObj.getTileEntity(x, y - 1, z); } - if(block == ModBlocks.factory_advanced_conductor && this.worldObj.getBlock(x, y + 1, z) == ModBlocks.factory_advanced_core) - { + if (block == ModBlocks.factory_advanced_conductor + && this.worldObj.getBlock(x, y + 1, z) == ModBlocks.factory_advanced_core) { tileentity = this.worldObj.getTileEntity(x, y + 1, z); } - if(block == ModBlocks.factory_advanced_conductor && this.worldObj.getBlock(x, y - 1, z) == ModBlocks.factory_advanced_core) - { + if (block == ModBlocks.factory_advanced_conductor + && this.worldObj.getBlock(x, y - 1, z) == ModBlocks.factory_advanced_core) { tileentity = this.worldObj.getTileEntity(x, y - 1, z); } - - if(tileentity instanceof IConductor) - { - if(tileentity instanceof TileEntityCable) - { - if(Library.checkUnionList(((TileEntityCable)tileentity).uoteab, this)) - { - for(int i = 0; i < ((TileEntityCable)tileentity).uoteab.size(); i++) - { - if(((TileEntityCable)tileentity).uoteab.get(i).source == this) - { - if(((TileEntityCable)tileentity).uoteab.get(i).ticked != newTact) - { - ((TileEntityCable)tileentity).uoteab.get(i).ticked = newTact; + + if (tileentity instanceof IConductor) { + if (tileentity instanceof TileEntityCable) { + if (Library.checkUnionList(((TileEntityCable) tileentity).uoteab, this)) { + for (int i = 0; i < ((TileEntityCable) tileentity).uoteab.size(); i++) { + if (((TileEntityCable) tileentity).uoteab.get(i).source == this) { + if (((TileEntityCable) tileentity).uoteab.get(i).ticked != newTact) { + ((TileEntityCable) tileentity).uoteab.get(i).ticked = newTact; ffgeua(x, y + 1, z, getTact()); ffgeua(x, y - 1, z, getTact()); ffgeua(x - 1, y, z, getTact()); @@ -367,20 +393,15 @@ public class TileEntityMachineDiesel extends TileEntity implements ISidedInvento } } } else { - ((TileEntityCable)tileentity).uoteab.add(new UnionOfTileEntitiesAndBooleans(this, newTact)); + ((TileEntityCable) tileentity).uoteab.add(new UnionOfTileEntitiesAndBooleans(this, newTact)); } } - if(tileentity instanceof TileEntityWireCoated) - { - if(Library.checkUnionList(((TileEntityWireCoated)tileentity).uoteab, this)) - { - for(int i = 0; i < ((TileEntityWireCoated)tileentity).uoteab.size(); i++) - { - if(((TileEntityWireCoated)tileentity).uoteab.get(i).source == this) - { - if(((TileEntityWireCoated)tileentity).uoteab.get(i).ticked != newTact) - { - ((TileEntityWireCoated)tileentity).uoteab.get(i).ticked = newTact; + if (tileentity instanceof TileEntityWireCoated) { + if (Library.checkUnionList(((TileEntityWireCoated) tileentity).uoteab, this)) { + for (int i = 0; i < ((TileEntityWireCoated) tileentity).uoteab.size(); i++) { + if (((TileEntityWireCoated) tileentity).uoteab.get(i).source == this) { + if (((TileEntityWireCoated) tileentity).uoteab.get(i).ticked != newTact) { + ((TileEntityWireCoated) tileentity).uoteab.get(i).ticked = newTact; ffgeua(x, y + 1, z, getTact()); ffgeua(x, y - 1, z, getTact()); ffgeua(x - 1, y, z, getTact()); @@ -391,28 +412,23 @@ public class TileEntityMachineDiesel extends TileEntity implements ISidedInvento } } } else { - ((TileEntityWireCoated)tileentity).uoteab.add(new UnionOfTileEntitiesAndBooleans(this, newTact)); + ((TileEntityWireCoated) tileentity).uoteab.add(new UnionOfTileEntitiesAndBooleans(this, newTact)); } } } - - if(tileentity instanceof IConsumer && newTact && !(tileentity instanceof TileEntityMachineBattery && ((TileEntityMachineBattery)tileentity).conducts)) - { - list.add((IConsumer)tileentity); + + if (tileentity instanceof IConsumer && newTact && !(tileentity instanceof TileEntityMachineBattery + && ((TileEntityMachineBattery) tileentity).conducts)) { + list.add((IConsumer) tileentity); } - - if(!newTact) - { + + if (!newTact) { int size = list.size(); - if(size > 0) - { + if (size > 0) { int part = this.power / size; - for(IConsumer consume : list) - { - if(consume.getPower() < consume.getMaxPower()) - { - if(consume.getMaxPower() - consume.getPower() >= part) - { + for (IConsumer consume : list) { + if (consume.getPower() < consume.getMaxPower()) { + if (consume.getMaxPower() - consume.getPower() >= part) { this.power -= part; consume.setPower(consume.getPower() + part); } else { @@ -435,13 +451,12 @@ public class TileEntityMachineDiesel extends TileEntity implements ISidedInvento ffgeua(this.xCoord, this.yCoord, this.zCoord - 1, getTact()); ffgeua(this.xCoord, this.yCoord, this.zCoord + 1, getTact()); } - + public boolean getTact() { - if(age >= 0 && age < 10) - { + if (age >= 0 && age < 10) { return true; } - + return false; } } diff --git a/com/hbm/world/FWatz.java b/com/hbm/world/FWatz.java index ced3d09e8..e17be5f7e 100644 --- a/com/hbm/world/FWatz.java +++ b/com/hbm/world/FWatz.java @@ -520,8 +520,9 @@ public class FWatz { for(int k = 0; k < 19; k++) { String c = fwatz[j][i].substring(k, k + 1); - if(c.equals("P") && world.getBlock(x + i, y + j, z + k) == ModBlocks.fwatz_plasma) - world.setBlock(x + i, y + j, z + k, Blocks.air); + if(c.equals("P")) + if(world.getBlock(x + i, y + j, z + k) == ModBlocks.fwatz_plasma) + world.setBlock(x + i, y + j, z + k, Blocks.air); } } } @@ -541,7 +542,7 @@ public class FWatz { for(int k = 0; k < 19; k++) { String c = fwatz[j][i].substring(k, k + 1); - if(c == "P" && world.getBlock(x + i, y + j, z + k) == ModBlocks.plasma) + if(c.equals("P") && world.getBlock(x + i, y + j, z + k) == ModBlocks.fwatz_plasma) flag = true; } }